Teacup rim text: Difference between revisions

Content added Content deleted
Line 551: Line 551:
anagrams :: [String] -> [[String]]
anagrams :: [String] -> [[String]]
anagrams ws =
anagrams ws =
let go x p
let harvest group px
| p = [fmap snd x]
| px = [fmap snd group]
| otherwise = []
| otherwise = []
in groupBy
in groupBy
(on (==) fst)
(on (==) fst)
(sortOn fst (((,) =<< sort) <$> ws))
(sortOn fst (((,) =<< sort) <$> ws))
>>= (go <*> ((> 2) . length))
>>= (harvest <*> ((> 2) . length))


circularOnly :: [String] -> [[String]]
circularOnly :: [String] -> [[String]]