patterns.tri (668B)
1 !import prelude * 2 !import io * 3 !import consumers_source_worker as Source 4 !import consumers_lexical_worker as L 5 !export * 6 -- Run from the repository root with --io --allow-read demos/consumers/lessons. 7 8 load = Source.loadSource "demos/consumers/lessons/patterns/shape.scp" t 9 showShape worker label tree = putStrLn (append label 10 (resultOr "ERROR" (L.lRunChecked worker tree))) 11 run = onOk_ load (worker : thenIO 12 (showShape worker "Leaf: " t) 13 (thenIO (showShape worker "Stem Leaf: " (t t)) 14 (thenIO (showShape worker "Stem Fork: " (t (t t t))) 15 (thenIO (showShape worker "Stem Stem: " (t (t t))) 16 (showShape worker "Fork: " (t t t)))))) 17 main = io run