Dylan Baker
21bf43c0e0
Don't allow binding to an unbound variable
5年前
Dylan Baker
0a4d8d334d
Implement lambdas
5年前
Dylan Baker
58c66d8435
Implement map
5年前
Dylan Baker
c5189a5c87
Implement cons
5年前
Dylan Baker
952f849aa3
Implement car and cdr
5年前
Dylan Baker
e11382f5be
Allow type errors for lists
5年前
Dylan Baker
691a5722aa
Display identifiers and lists at the repl
5年前
Dylan Baker
9a3f2a6340
Fix quotation evaluation
5年前
Dylan Baker
987328470b
Evaluate lists that are not applications
5年前
Dylan Baker
27c55464f2
Add tests for the core
5年前
Dylan Baker
e2f0da5eda
Implement
5年前
Dylan Baker
6afbc18558
Update readme
5年前
Dylan Baker
e0b17775a5
Fix repl handling of ctrl-c
5年前
Dylan Baker
39369d9375
Display quoted values in repl
5年前
Dylan Baker
1e1f64a141
Implement quoted values
5年前
Dylan Baker
8e9d5cfb1d
Raise error for unterminated string literal
5年前
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.
5年前
Dylan Baker
85e7554fcd
Add some rudimentary type checking
5年前
Dylan Baker
b3ce44f30a
Tweak object displays in REPL
5年前
Dylan Baker
83ed61e4d5
Move the REPL into its own class
5年前
Dylan Baker
2242484bd6
Don't leave variables bound after function execution :(
5年前
Dylan Baker
dfc72ec77b
Run prettier
5年前
Dylan Baker
1954d89211
Allow recursive functions & closures
5年前
Dylan Baker
1a9bdbfc52
Evaluate conditionals
5年前
Dylan Baker
89b4f49dcb
Rename constant spec file
5年前
Dylan Baker
b3735912f5
Parse conditionals
5年前
Dylan Baker
8f652e87fb
Add comparison functions
5年前
Dylan Baker
3119c4b7d1
Improve errors a little bit
5年前
Dylan Baker
2924a9b9dc
Sometimes we have an AST node and sometimes we have a raw value
5年前
Dylan Baker
cc51634636
Handle ctrl+c in repl, add exit function
5年前
Dylan Baker
1cd0480079
Return error for unbound variable/function
5年前
Dylan Baker
48b94af6f6
Store function name on the function node
5年前
Dylan Baker
0b46e6cb5a
Evaluate identifier referents
5年前
Dylan Baker
f34112d2c8
Clean up REPL
5年前
Dylan Baker
616231a55b
Evaluate user-defined functions
5年前
Dylan Baker
71b2364613
Parse function definitions
5年前
Dylan Baker
87944658b8
Clean up AST tests
5年前
Dylan Baker
03bc1d2184
Implement booleans
5年前
Dylan Baker
7dae1bac04
Test nested expressions
5年前
Dylan Baker
bd283f0913
Fix lexer whitespace issues
5年前
Dylan Baker
8daaeacad7
Get REPL working
5年前
Dylan Baker
dea415bdba
Evaluate addition
5年前
Dylan Baker
2910625b1a
Number and string accept an environment as well
5年前
Dylan Baker
39d2e2b2a9
Env tests
5年前
Dylan Baker
88fd2818b9
Create core
5年前
Dylan Baker
df383987bf
Use env in interpreter
5年前
Dylan Baker
fa2699e483
Evaluate definition/indentifier
5年前
Dylan Baker
e3ab53a63e
Parse definition
5年前
Dylan Baker
7d4ebdb9eb
Create Env class
5年前
Dylan Baker
f31ce80c4b
Evaluate strings
5年前