packages feed

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