Allow lambda expressions without explicit paren
This commit is contained in:
@ -17,9 +17,9 @@
|
||||
-- 4 5 6
|
||||
--
|
||||
|
||||
label = (\node : head node)
|
||||
label = \node : head node
|
||||
|
||||
left = (\node : if (emptyList? node)
|
||||
left = (\node : if (emptyList? node)
|
||||
[]
|
||||
(if (emptyList? (tail node))
|
||||
[]
|
||||
@ -39,7 +39,7 @@ processLevel = y (\self queue : if (emptyList? queue)
|
||||
(\node : not? (emptyList? node))
|
||||
(lconcat (map left queue) (map right queue))))))
|
||||
|
||||
levelOrderTraversal_ = (\a : processLevel (t a t))
|
||||
levelOrderTraversal_ = \a : processLevel (t a t)
|
||||
|
||||
toLineString = y (\self levels : if (emptyList? levels)
|
||||
""
|
||||
@ -47,11 +47,11 @@ toLineString = y (\self levels : if (emptyList? levels)
|
||||
(lconcat (map (\x : lconcat x " ") (head levels)) "")
|
||||
(if (emptyList? (tail levels)) "" (lconcat (t (t 10 t) t) (self (tail levels))))))
|
||||
|
||||
levelOrderToString = (\s : toLineString (levelOrderTraversal_ s))
|
||||
levelOrderToString = \s : toLineString (levelOrderTraversal_ s)
|
||||
|
||||
flatten = foldl (\acc x : lconcat acc x) ""
|
||||
|
||||
levelOrderTraversal = (\s : lconcat (t 10 t) (flatten (levelOrderToString s)))
|
||||
levelOrderTraversal = \s : lconcat (t 10 t) (flatten (levelOrderToString s))
|
||||
|
||||
exampleOne = levelOrderTraversal [("1")
|
||||
[("2") [("4") t t] t]
|
||||
|
Reference in New Issue
Block a user