Rick van Vonderen riyyi
riyyi pushed to master at riyyi/dotfiles 2023-05-01 10:07:35 +02:00
11d351f629 Emacs: Read cache directory from ~ if no XDG is set
riyyi pushed to master at riyyi/mal 2023-04-17 16:18:32 +02:00
7d91ef9198 Meta: Update README.org
riyyi pushed to master at riyyi/mal 2023-04-17 16:02:21 +02:00
76eb4204be Meta: Update README.org
riyyi pushed to master at riyyi/mal 2023-04-17 15:52:24 +02:00
fc76da4ced Meta: Add README.org
riyyi pushed to master at riyyi/mal 2023-04-17 15:46:25 +02:00
88d9253219 Main: Fix compilation of older steps
riyyi pushed to master at riyyi/mal 2023-04-17 14:58:34 +02:00
fa79f1296a Main: Fix extra newline on empty input in readline
riyyi pushed to master at riyyi/mal 2023-04-17 14:46:27 +02:00
bb4ccc5822 Everywhere: Implement step9 try/catch
8aa540c4e5 Env: Core function (get) should work on nil value
e09f168d4f AST: HashMap inserts should overwrite existing keys
6980d28b36 Main: Add step9 file
2a16f5ddf5 AST+Env: Add more core functions
Compare 7 commits »
riyyi pushed to master at riyyi/mal 2023-04-10 22:10:06 +02:00
c279f9111e Eval: Only need to cast AST once
riyyi pushed to master at riyyi/mal 2023-04-10 21:24:45 +02:00
2b260d7b43 Everywhere: Implement step8
riyyi pushed to master at riyyi/mal 2023-04-10 14:11:11 +02:00
27d6e24243 Eval+Env: Make use of macros for duplicate logic
b4742ef380 Reader: Improve HashMap logic
082a029957 AST+Eval: Provide convenient constructor for Collection
80e0437a5c Main+Eval+AST: Implement step7
Compare 4 commits »
riyyi pushed to master at riyyi/mal 2023-04-08 00:30:30 +02:00
ba7281b6f1 Main: Add ability to run script from the command line, add *ARGV*
b9feb8e8b6 Everywhere: Rename Value -> Constant, ASTNode -> Value
e39862fe9f Meta: Add symlink to pass more tests
93af6151fa Env: Add more core functions
9b14ea974a AST: Make parent type for Function and Lambda
Compare 15 commits »
riyyi pushed to master at riyyi/mal 2023-04-03 23:18:38 +02:00
21f0d8fbd8 Eval: Move logic from defines back into functions
4d3c2a4ca2 Eval: Implement tail call optimization (TCO) via stack iteration
7c62d65d72 Main+Eval: Implement tail call optimization (TCO)
f0f4ba45b0 Eval: Improve logic sharing between List and Vector
Compare 4 commits »
riyyi pushed to master at riyyi/mal 2023-04-02 21:09:22 +02:00
826af24561 Main+Env+Printer: Remove the GlobalEnvironment subclass
c53c0af5a2 Everywhere: Rename addNode and addError functions -> add
14367fa5a7 Eval+Env: Add support for variadic lambda parameters
e47b338984 Eval: Forward declare List
30b120befc Eval+Env: Improve logic sharing between List and Vector
Compare 7 commits »
riyyi pushed to master at riyyi/dotfiles 2023-03-31 21:56:02 +02:00
dbf929c687 Emacs: Update Elpaca bootstrap to version 0.3
riyyi pushed to master at riyyi/mal 2023-03-28 23:15:07 +02:00
1e76d4599a Meta+Env: Fix count on nil value
bbced6f487 Eval: Add special form "if"
38d8daa9d0 Eval: Add special form "do"
35a32678d0 Everywhere: Convert List and Vector to an std::list<> datatype
de2a207fcb AST: Reorder classes
Compare 7 commits »
riyyi pushed to master at riyyi/mal 2023-03-26 23:22:10 +02:00
6573ac0b22 Env: Add more native functions
424bbcc834 Everywhere: Add support for nil, true, false data types
Compare 2 commits »
riyyi pushed to master at riyyi/mal 2023-03-26 20:15:06 +02:00
f132397e15 Eval: Improve correctness and error handling
58584f5bba Everywhere: Initial implementation of step3
f4e388716d Meta: Improve formatting
Compare 3 commits »
riyyi pushed to master at riyyi/mal 2023-03-25 22:37:17 +01:00
aba70beeb3 Main+Readline: Do not leak history path std::string_view
9bbf238c34 Everywhere: Put ASTNodes into a smart pointer
441fdc0564 Main: Fix history path option
d772495f1a Printer: Return string instead of printing directly
Compare 4 commits »
riyyi pushed to master at riyyi/mal 2023-03-25 17:52:05 +01:00
cc735a7a11 Eval: Fix mal test
riyyi pushed to master at riyyi/mal 2023-03-25 15:35:33 +01:00
a92eede277 Main: Use GNU Readline library as the line editor
9fa6314378 Reader: Improve error reporting
Compare 2 commits »