26 lines
751 B
Plaintext
26 lines
751 B
Plaintext
#lang transd
|
|
|
|
MainModule: {
|
|
blocks: ["BO", "XK", "DQ", "CP", "NA", "GT", "RE", "TG", "QD", "FS",
|
|
"JW", "HU", "VI", "AN", "OB", "ER", "FS", "LY", "PC", "ZM"],
|
|
words: ["A","BARK","BOOK","TREAT","COMMON","SQUAD","CONFUSE"],
|
|
|
|
testMake: Lambda<String Vector<String> Bool>(λ
|
|
w String() v Vector<String>()
|
|
locals: c (toupper (subn w 0))
|
|
(for bl in v do
|
|
(if (contains bl c)
|
|
(if (== (size w) 1) (ret true))
|
|
(if (exec testMake (sub w 1) (erase (cp v) @idx))
|
|
(ret true)))
|
|
)
|
|
(ret false)
|
|
),
|
|
_start: (lambda
|
|
(for word in words do
|
|
(lout :boolalpha word " : "
|
|
(exec testMake word blocks))
|
|
)
|
|
)
|
|
}
|