fork(1) download
g(a:b:c)|a==b=g c
g x=x==[]
f=any(g.words.concat).mapM(\c->[[c],c:" "])

main = print $ map f ["a", -- False
                      "aa", -- True
                      "baab", -- False
                      "abaaba", -- True
                      "bbababbb", -- True
                      "babababa", -- True
                      "abaabaaba", -- False
                      "aaaaabbaaaaa", -- False
                      "bbbbbbbbbbbb", -- True
                      "baababbabaaaab", -- False
                      "bbbbbbbbbbbbbbb"] -- False
Success #stdin #stdout 0.02s 5728KB
stdin
Standard input is empty
stdout
[False,True,False,True,True,True,False,False,True,False,False]