100 Commits (63a19170efe6252a2a50819126210dab9d2e63ad)
 

Author SHA1 Message Date
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 826af24561 Main+Env+Printer: Remove the GlobalEnvironment subclass 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 e47b338984 Eval: Forward declare List 2 years ago
Riyyi 30b120befc Eval+Env: Improve logic sharing between List and Vector 2 years ago
Riyyi 90d6ff7d18 Printer: Pass along readably flag during recursion 2 years ago
Riyyi a60859acc4 Eval+Env: Add support for lambdas 2 years ago
Riyyi 1e76d4599a Meta+Env: Fix count on nil value 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 de2a207fcb AST: Reorder classes 2 years ago
Riyyi 9c1c5114a9 Env: Add equal function 2 years ago
Riyyi c1e4b6c6d1 Lexer+Printer: Support string print readably 2 years ago
Riyyi 6573ac0b22 Env: Add more native functions 2 years ago
Riyyi 424bbcc834 Everywhere: Add support for nil, true, false data types 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 f4e388716d Meta: Improve formatting 2 years ago
Riyyi aba70beeb3 Main+Readline: Do not leak history path std::string_view 2 years ago
Riyyi 9bbf238c34 Everywhere: Put ASTNodes into a smart pointer 2 years ago
Riyyi 441fdc0564 Main: Fix history path option 2 years ago
Riyyi d772495f1a Printer: Return string instead of printing directly 2 years ago
Riyyi cc735a7a11 Eval: Fix mal test 2 years ago
Riyyi a92eede277 Main: Use GNU Readline library as the line editor 2 years ago
Riyyi 9fa6314378 Reader: Improve error reporting 2 years ago
Riyyi 9271b9fe01 Meta: Add to-dos 2 years ago
Riyyi 6c12b199e8 Eval: Add error message for invalid function calls 2 years ago
Riyyi 17fddc1cf4 Printer: Fix HashMap printing spacing 2 years ago
Riyyi c6ea42bc5d Everywhere: Pass step2 tests by supporting hash-maps 2 years ago
Riyyi 5c5a766b7e Reader+Printer: Reorder tokens 2 years ago
Riyyi da0b0a91a6 Everywhere: Start implementation of step2 2 years ago
Riyyi b51a3bf15b AST: Add ruc::Formatter for ASTNodes 2 years ago
Riyyi 27e584ea84 Everywhere: Add Keyword parsing 2 years ago
Riyyi 0fea075953 Meta: Enable pretty printing by default on run target 2 years ago
Riyyi f6f8207e1a Meta: Add license file 2 years ago
Riyyi eedfe53b96 Main: Add CLI arguments to enable pretty printing / dumping 2 years ago
Riyyi 94dcd4c50e Everywhere: Pass step1 tests by supporting more Tokens in the Reader 2 years ago
Riyyi 68303dfe7b Reader: Add support for more Tokens 2 years ago
Riyyi 9816bb3de2 Everywhere: Add Error class for generic error reporting 2 years ago
Riyyi a8f990ed98 Main: Support pretty printing 2 years ago
Riyyi 21914c6b6a Lexer+Reader+Printer: Store strings with quotes, improve error handling 2 years ago
Riyyi 58523551c8 Lexer: Fix token types 2 years ago
Riyyi b604d7ddb5 AST: Add error node 2 years ago
Riyyi 46e037e39e Lisp: Add source 2 years ago
Riyyi 2904f24565 Meta: Add project prerequisites 2 years ago
Riyyi 88ed8bf2d7 Initial commit 2 years ago