37 Commits (fa4bd63dca2e97c0e52bf2f14b11de393efa5dc7)

Author SHA1 Message Date
Riyyi 3aa99d0045 Meta: Add make targets for running self-hosted tests 1 year ago
Riyyi a099e955cf Eval: Fix bug with try* catch*, was set as TCO in main loop 1 year ago
Riyyi 63a19170ef Eval: Change stack-based TCO to loop-based TCO 1 year ago
Riyyi cf8e5dfc66 Everywhere: Remove HashMap::add() and remove(), as its not mutable 1 year ago
Riyyi ce0443a20e Everywhere: Remove Collection::add(), they are not mutable 1 year ago
Riyyi 6e6479bd14 Everywhere: Make the project compile again 1 year ago
Riyyi 63c31d7ccf Everywhere: Convert List and Vector back to std::vector, ~+20% speed 1 year ago
Riyyi 12d6b8ec88 Everywhere: Change macro into a separate type 1 year ago
Riyyi 86e1a630b8 AST+Eval: Prevent list copy during core function 'rest' 1 year ago
Riyyi d34ab1efab AST+Eval: Prevent copying lists where unneeded 1 year ago
Riyyi 24eab1034e Eval: Speed up isMacroCall a bit 1 year ago
Riyyi bb4ccc5822 Everywhere: Implement step9 try/catch 1 year ago
Riyyi c279f9111e Eval: Only need to cast AST once 1 year ago
Riyyi 2b260d7b43 Everywhere: Implement step8 1 year ago
Riyyi 27d6e24243 Eval+Env: Make use of macros for duplicate logic 1 year ago
Riyyi 082a029957 AST+Eval: Provide convenient constructor for Collection 1 year ago
Riyyi 80e0437a5c Main+Eval+AST: Implement step7 1 year ago
Riyyi b9feb8e8b6 Everywhere: Rename Value -> Constant, ASTNode -> Value 1 year ago
Riyyi 03918b036d AST: Rename function addElement -> add 1 year ago
Riyyi 21f0d8fbd8 Eval: Move logic from defines back into functions 1 year ago
Riyyi 4d3c2a4ca2 Eval: Implement tail call optimization (TCO) via stack iteration 1 year ago
Riyyi 7c62d65d72 Main+Eval: Implement tail call optimization (TCO) 1 year ago
Riyyi f0f4ba45b0 Eval: Improve logic sharing between List and Vector 1 year ago
Riyyi c53c0af5a2 Everywhere: Rename addNode and addError functions -> add 1 year ago
Riyyi 14367fa5a7 Eval+Env: Add support for variadic lambda parameters 1 year ago
Riyyi 30b120befc Eval+Env: Improve logic sharing between List and Vector 1 year ago
Riyyi a60859acc4 Eval+Env: Add support for lambdas 1 year 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 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