Riyyi
|
86e1a630b8
|
AST+Eval: Prevent list copy during core function 'rest'
|
2 years ago |
Riyyi
|
d34ab1efab
|
AST+Eval: Prevent copying lists where unneeded
|
2 years ago |
Riyyi
|
24eab1034e
|
Eval: Speed up isMacroCall a bit
|
2 years ago |
Riyyi
|
bb4ccc5822
|
Everywhere: Implement step9 try/catch
|
2 years ago |
Riyyi
|
c279f9111e
|
Eval: Only need to cast AST once
|
2 years ago |
Riyyi
|
2b260d7b43
|
Everywhere: Implement step8
|
2 years ago |
Riyyi
|
27d6e24243
|
Eval+Env: Make use of macros for duplicate logic
|
2 years ago |
Riyyi
|
082a029957
|
AST+Eval: Provide convenient constructor for Collection
|
2 years ago |
Riyyi
|
80e0437a5c
|
Main+Eval+AST: Implement step7
|
2 years ago |
Riyyi
|
b9feb8e8b6
|
Everywhere: Rename Value -> Constant, ASTNode -> Value
|
2 years ago |
Riyyi
|
03918b036d
|
AST: Rename function addElement -> add
|
2 years ago |
Riyyi
|
21f0d8fbd8
|
Eval: Move logic from defines back into functions
|
2 years ago |
Riyyi
|
4d3c2a4ca2
|
Eval: Implement tail call optimization (TCO) via stack iteration
|
2 years ago |
Riyyi
|
7c62d65d72
|
Main+Eval: Implement tail call optimization (TCO)
|
2 years ago |
Riyyi
|
f0f4ba45b0
|
Eval: Improve logic sharing between List and Vector
|
2 years ago |
Riyyi
|
c53c0af5a2
|
Everywhere: Rename addNode and addError functions -> add
|
2 years ago |
Riyyi
|
14367fa5a7
|
Eval+Env: Add support for variadic lambda parameters
|
2 years ago |
Riyyi
|
30b120befc
|
Eval+Env: Improve logic sharing between List and Vector
|
2 years ago |
Riyyi
|
a60859acc4
|
Eval+Env: Add support for lambdas
|
2 years ago |
Riyyi
|
bbced6f487
|
Eval: Add special form "if"
|
2 years ago |
Riyyi
|
38d8daa9d0
|
Eval: Add special form "do"
|
2 years ago |
Riyyi
|
35a32678d0
|
Everywhere: Convert List and Vector to an std::list<> datatype
|
2 years ago |
Riyyi
|
f132397e15
|
Eval: Improve correctness and error handling
|
2 years ago |
Riyyi
|
58584f5bba
|
Everywhere: Initial implementation of step3
|
2 years ago |
Riyyi
|
9bbf238c34
|
Everywhere: Put ASTNodes into a smart pointer
|
2 years ago |
Riyyi
|
cc735a7a11
|
Eval: Fix mal test
The quote in the error message broke the step2 test.
|
2 years ago |
Riyyi
|
6c12b199e8
|
Eval: Add error message for invalid function calls
|
2 years ago |
Riyyi
|
c6ea42bc5d
|
Everywhere: Pass step2 tests by supporting hash-maps
|
2 years ago |
Riyyi
|
da0b0a91a6
|
Everywhere: Start implementation of step2
|
2 years ago |