egison-5.0.0: sample/rosetta/abc_problem.egi
--
-- This file has been auto-generated by egison-translator.
--
def blocks : [String] :=
["BO", "XK", "DQ", "CP", "NA", "GT", "RE", "TG", "QD", "FS", "JW", "HU", "VI",
"AN", "OB", "ER", "FS", "LY", "PC", "ZM"]
def abc (blocks: [[Char]]) (word: [Char]) : Bool :=
match blocks as multiset (set char) with
| loop $i (1, length word, _)
((#(nth i word) :: _) :: ...)
_ -> True
| _ -> False
filter
(\w -> abc (map unpack blocks) (unpack w))
["", "A", "BARK", "BoOK", "TrEAT", "COmMoN", "SQUAD", "conFUsE"]