Riyyi
|
f87eb4d934
|
Meta: Move main to example target, better include compatibility
|
2023-11-27 12:21:08 +01:00 |
|
Riyyi
|
11f0553b5a
|
AST+Env+Printer+Reader: Implement floating point numbers
|
2023-11-26 10:45:45 +01:00 |
|
Riyyi
|
705e80ad6b
|
Everywhere: Split REPL from main(), put settings in environment
|
2023-11-19 21:50:52 +01:00 |
|
Riyyi
|
4cc2acc8a0
|
Printer: Rename node -> value
|
2023-11-19 21:44:17 +01:00 |
|
Riyyi
|
f5dc1168eb
|
Reader+Env: Add dump function
|
2023-11-19 21:44:17 +01:00 |
|
Riyyi
|
536e55e75a
|
Everywhere: Add docstring support
|
2023-11-19 21:44:17 +01:00 |
|
Riyyi
|
25871cd5d5
|
Print: Make strings brightgreen color
|
2023-11-14 23:30:28 +01:00 |
|
Riyyi
|
929fb5d645
|
Env+Eval: Tweak (and) and (-)
|
2023-11-14 23:29:06 +01:00 |
|
Riyyi
|
9db041946e
|
Env: Add string/number conversion functions
|
2023-11-05 14:35:32 +01:00 |
|
Riyyi
|
b74f3448b2
|
Eval: Allow multiple s-expr in fn*
|
2023-11-05 14:30:24 +01:00 |
|
Riyyi
|
b727f7147e
|
Eval: Add and/or special forms
|
2023-10-31 22:30:24 +01:00 |
|
Riyyi
|
c6c6d69e73
|
Eval: Allow multiple s-expr in try*
|
2023-10-27 23:56:46 +02:00 |
|
Riyyi
|
bb6f3e7496
|
Meta: Change README.org title and description
|
2023-10-27 23:33:45 +02:00 |
|
Riyyi
|
1915621427
|
Eval: Change (macroexpand) into (macroexpand-1)
|
2023-10-27 23:05:10 +02:00 |
|
Riyyi
|
9895195410
|
Env: Add support to (count) for HashMap type
|
2023-08-31 22:04:03 +02:00 |
|
Riyyi
|
e8206d762c
|
Env: Load lisp code at runtime from files
|
2023-08-31 21:58:44 +02:00 |
|
Riyyi
|
b65482eb68
|
Env: Allow load order control for native functions
|
2023-08-27 21:38:54 +02:00 |
|
Riyyi
|
67b982fd4c
|
Eval: Merge eval, eval-ast and macroexpand
|
2023-08-27 13:08:27 +02:00 |
|
Riyyi
|
d3a50abfbc
|
Env: Organize functions better by splitting into multiple files
|
2023-08-26 21:48:15 +02:00 |
|
Riyyi
|
80b25f8c21
|
Eval: Add special form while
|
2023-08-24 23:07:16 +02:00 |
|
Riyyi
|
0d43512ea9
|
Everywhere: Do less Collection nodes copying
|
2023-08-24 23:03:31 +02:00 |
|
Riyyi
|
fa4bd63dca
|
Main: Remove step mains
|
2023-08-24 22:54:52 +02:00 |
|
Riyyi
|
3aa99d0045
|
Meta: Add make targets for running self-hosted tests
|
2023-08-20 19:58:38 +02:00 |
|
Riyyi
|
a099e955cf
|
Eval: Fix bug with try* catch*, was set as TCO in main loop
|
2023-08-20 19:16:07 +02:00 |
|
Riyyi
|
63a19170ef
|
Eval: Change stack-based TCO to loop-based TCO
|
2023-08-20 18:05:21 +02:00 |
|
Riyyi
|
cf8e5dfc66
|
Everywhere: Remove HashMap::add() and remove(), as its not mutable
|
2023-08-17 22:59:40 +02:00 |
|
Riyyi
|
733d84c124
|
Main: Fix *ARGV* with 0 arguments
|
2023-08-17 22:02:10 +02:00 |
|
Riyyi
|
ce0443a20e
|
Everywhere: Remove Collection::add(), they are not mutable
|
2023-07-10 18:12:15 +02:00 |
|
Riyyi
|
6e6479bd14
|
Everywhere: Make the project compile again
std::format seems to finally have been implemented in the STL, which is
ambiguous with ruc::format even without ever including <format>.
|
2023-07-09 23:33:09 +02:00 |
|
Riyyi
|
453ca1f796
|
Lexer+Reader: Don't tokenize comments
|
2023-05-06 15:42:09 +02:00 |
|
Riyyi
|
534d80c35d
|
Reader: Prevent infinite loop during List and Vector creation
|
2023-05-06 14:04:58 +02:00 |
|
Riyyi
|
099cda8b86
|
Main+Meta: Allow compilation of each step without source changes
|
2023-05-05 23:39:54 +02:00 |
|
Riyyi
|
4fff2b9aa2
|
Everywhere: Rename ValueList -> ValueVector
|
2023-05-01 18:28:48 +02:00 |
|
Riyyi
|
63c31d7ccf
|
Everywhere: Convert List and Vector back to std::vector, ~+20% speed
|
2023-05-01 18:28:43 +02:00 |
|
Riyyi
|
12d6b8ec88
|
Everywhere: Change macro into a separate type
|
2023-05-01 10:24:38 +02:00 |
|
Riyyi
|
f796f9c685
|
AST+Env: Implement stepA
|
2023-04-30 22:55:34 +02:00 |
|
Riyyi
|
86e1a630b8
|
AST+Eval: Prevent list copy during core function 'rest'
|
2023-04-23 16:00:13 +02:00 |
|
Riyyi
|
d34ab1efab
|
AST+Eval: Prevent copying lists where unneeded
|
2023-04-23 14:42:38 +02:00 |
|
Riyyi
|
24eab1034e
|
Eval: Speed up isMacroCall a bit
|
2023-04-23 11:31:59 +02:00 |
|
Riyyi
|
6e0fe3a2f5
|
Main+Readline+Env: Add readline core function
|
2023-04-17 22:18:03 +02:00 |
|
Riyyi
|
7d91ef9198
|
Meta: Update README.org
|
2023-04-17 16:17:58 +02:00 |
|
Riyyi
|
76eb4204be
|
Meta: Update README.org
|
2023-04-17 16:02:04 +02:00 |
|
Riyyi
|
fc76da4ced
|
Meta: Add README.org
|
2023-04-17 15:52:03 +02:00 |
|
Riyyi
|
88d9253219
|
Main: Fix compilation of older steps
|
2023-04-17 15:45:56 +02:00 |
|
Riyyi
|
fa79f1296a
|
Main: Fix extra newline on empty input in readline
|
2023-04-17 14:56:58 +02:00 |
|
Riyyi
|
bb4ccc5822
|
Everywhere: Implement step9 try/catch
|
2023-04-17 14:44:46 +02:00 |
|
Riyyi
|
8aa540c4e5
|
Env: Core function (get) should work on nil value
|
2023-04-17 14:14:55 +02:00 |
|
Riyyi
|
e09f168d4f
|
AST: HashMap inserts should overwrite existing keys
|
2023-04-17 14:13:35 +02:00 |
|
Riyyi
|
6980d28b36
|
Main: Add step9 file
|
2023-04-15 20:19:49 +02:00 |
|
Riyyi
|
2a16f5ddf5
|
AST+Env: Add more core functions
|
2023-04-15 20:19:24 +02:00 |
|