# File eval mode now relies on main function
To encourage organizing code in a way that helps in understanding, I have implemented the common idiom of requiring a `main` function. In tricu and other functional languages, it is usually placed near the top of the module. The evaluator gracefully handles the situation of passing multiple files where the intermediary "library" files do not have main functions.
This commit is contained in:
@ -1,3 +1,5 @@
|
||||
main = lambdaEqualsTC
|
||||
|
||||
-- We represent `false` with a Leaf and `true` with a Stem Leaf
|
||||
demo_false = t
|
||||
demo_true = t t
|
||||
|
@ -1,3 +1,4 @@
|
||||
main = exampleTwo
|
||||
-- Level Order Traversal of a labelled binary tree
|
||||
-- Objective: Print each "level" of the tree on a separate line
|
||||
--
|
||||
@ -58,5 +59,3 @@ exampleTwo = levelOrderTraversal [("1")
|
||||
[("2") [("4") [("8") t t] [("9") t t]]
|
||||
[("6") [("10") t t] [("12") t t]]]
|
||||
[("3") [("5") [("11") t t] t] [("7") t t]]]
|
||||
|
||||
exampleTwo
|
||||
|
@ -1,3 +1,5 @@
|
||||
main = size size
|
||||
|
||||
compose = \f g x : f (g x)
|
||||
|
||||
succ = y (\self :
|
||||
@ -17,5 +19,3 @@ size = (\x :
|
||||
self
|
||||
(\x y : compose (self x) (self y))
|
||||
x)) x 0))
|
||||
|
||||
size size
|
||||
|
@ -1,3 +1,4 @@
|
||||
main = toSource not?
|
||||
-- Thanks to intensionality, we can inspect the structure of a given value
|
||||
-- even if it's a function. This includes lambdas which are eliminated to
|
||||
-- Tree Calculus (TC) terms during evaluation.
|
||||
|
Reference in New Issue
Block a user