Dylan Baker
21bf43c0e0
Don't allow binding to an unbound variable
před 6 roky
Dylan Baker
0a4d8d334d
Implement lambdas
před 6 roky
Dylan Baker
26a93cd9f0
Replace Application with List
I see what I was going for with the Application AST node but
Chervil is a Lisp after all and lists are the fundamental data
structure. The direct reason I wanted to do this was for quoted values,
since a quoted list isn't an application.
před 6 roky
Dylan Baker
1954d89211
Allow recursive functions & closures
před 6 roky
Dylan Baker
1a9bdbfc52
Evaluate conditionals
před 6 roky
Dylan Baker
89b4f49dcb
Rename constant spec file
před 6 roky
Dylan Baker
1cd0480079
Return error for unbound variable/function
před 6 roky
Dylan Baker
48b94af6f6
Store function name on the function node
před 6 roky
Dylan Baker
0b46e6cb5a
Evaluate identifier referents
před 6 roky
Dylan Baker
616231a55b
Evaluate user-defined functions
před 6 roky
Dylan Baker
87944658b8
Clean up AST tests
před 6 roky
Dylan Baker
03bc1d2184
Implement booleans
před 6 roky
Dylan Baker
7dae1bac04
Test nested expressions
před 6 roky
Dylan Baker
dea415bdba
Evaluate addition
před 6 roky
Dylan Baker
2910625b1a
Number and string accept an environment as well
před 6 roky
Dylan Baker
fa2699e483
Evaluate definition/indentifier
před 6 roky
Dylan Baker
f31ce80c4b
Evaluate strings
před 6 roky
Dylan Baker
7c02e3cfe9
Evaluate numbers
před 6 roky