-- -- 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"]