ABC words: Difference between revisions

Content added Content deleted
Line 1,590: Line 1,590:
isABC s =
isABC s =
isJust $
isJust $
residue 'a' "bc" s
residue "bc" 'a' s
>>= residue 'b' "c"
>>= residue "c" 'b'
>>= elemIndex 'c'
>>= elemIndex 'c'


residue :: Char -> String -> String -> Maybe String
residue :: String -> Char -> String -> Maybe String
residue c except = go
residue except c = go
where
where
go [] = Nothing
go [] = Nothing