Parse Nominal Definitions
Closed this issue · 3 comments
bash commented
Syntax is very similar to schematic definitions
True -> (λt f.t)
False -> (λt f.f)
Definitions may reference other definitions but they may not be
mutually recursive to prevent infinite loops while expanding definitions.
(You should use a Y-combinator if you need mutual recursion)
bash commented
Alternative plan:
Definitions can only reference previously defined definitions. This is a lot easier to validate and I could then allow definitions inside formulas to have some sort of let x = y
statements.
bash commented
\f x .
y -> (x x)
f y
is translated to:
\f x .
(\y . f y)
(x x)
This has the advantage that I'm only introducing syntax sugar, not new functionality.