Teacup rim text: Difference between revisions

Content deleted Content added
Hout (talk | contribs)
Hout (talk | contribs)
Line 44: Line 44:
isCircular :: S.Set String -> String -> Bool
isCircular :: S.Set String -> String -> Bool
isCircular lex w =
isCircular lex w =
let go s = 2 < length s && all (`S.member` lex) (rotations s)
2 < length w && all (`S.member` lex) (rotations w)
in go w

rotations :: [a] -> [[a]]
rotations :: [a] -> [[a]]
rotations = liftA2 fmap rotated (enumFromTo 0 . pred . length)
rotations = liftA2 fmap rotated (enumFromTo 0 . pred . length)