95 Commits (master)

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 733d84c124 Main: Fix *ARGV* with 0 arguments 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 453ca1f796 Lexer+Reader: Don't tokenize comments 2 years ago
Riyyi 534d80c35d Reader: Prevent infinite loop during List and Vector creation 2 years ago
Riyyi 099cda8b86 Main+Meta: Allow compilation of each step without source changes 2 years ago
Riyyi 4fff2b9aa2 Everywhere: Rename ValueList -> ValueVector 2 years ago
Riyyi 63c31d7ccf Everywhere: Convert List and Vector back to std::vector, ~+20% speed 2 years ago
Riyyi 12d6b8ec88 Everywhere: Change macro into a separate type 2 years ago
Riyyi f796f9c685 AST+Env: Implement stepA 2 years ago
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 6e0fe3a2f5 Main+Readline+Env: Add readline core function 2 years ago
Riyyi 76eb4204be Meta: Update README.org 2 years ago
Riyyi 88d9253219 Main: Fix compilation of older steps 2 years ago
Riyyi fa79f1296a Main: Fix extra newline on empty input in readline 2 years ago
Riyyi bb4ccc5822 Everywhere: Implement step9 try/catch 2 years ago
Riyyi 8aa540c4e5 Env: Core function (get) should work on nil value 2 years ago
Riyyi e09f168d4f AST: HashMap inserts should overwrite existing keys 2 years ago
Riyyi 6980d28b36 Main: Add step9 file 2 years ago
Riyyi 2a16f5ddf5 AST+Env: Add more core functions 2 years ago
Riyyi f89e73d44a AST+Env: Add default constructor to Constant 2 years ago
Riyyi c8b1e6dc81 AST+Lexer: Move Keyword prefix character to the constructor 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 b4742ef380 Reader: Improve HashMap 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 ba7281b6f1 Main: Add ability to run script from the command line, add *ARGV* 2 years ago
Riyyi b9feb8e8b6 Everywhere: Rename Value -> Constant, ASTNode -> Value 2 years ago
Riyyi 93af6151fa Env: Add more core functions 2 years ago
Riyyi 9b14ea974a AST: Make parent type for Function and Lambda 2 years ago
Riyyi 25d6f45329 AST: Do not try to store nullptr in a Collection or HashMap 2 years ago
Riyyi 835669c4eb AST: Add Atom data type 2 years ago
Riyyi 22920cb810 Main+Env: Add more native functions 2 years ago
Riyyi 3d5a2e3fbe AST: Make fastIf functions private 2 years ago
Riyyi 088c5f0248 Lexer: Support newline characters in strings 2 years ago
Riyyi 03918b036d AST: Rename function addElement -> add 2 years ago
Riyyi 5f49f08eea AST: Make more const 2 years ago
Riyyi ed9fa1698e Main: Add step6 .cpp file 2 years ago
Riyyi f35fea9fa4 Env: Fix function argument size error message 2 years ago
Riyyi 6e1557ff8c Printer: Fix HashMap printing 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