Commit graph

21 commits

Author SHA1 Message Date
4945a86c2e
Implement "when" form 2024-09-28 20:03:38 +01:00
3c30440d65
Add location-aware error reporting function to the compiler 2024-09-10 01:42:47 +01:00
b63b17ed5a
Compile syntax expressions 2024-09-09 22:56:06 +01:00
0b62026d27
Implement simple quotation (no unquote yet though) 2024-09-07 20:31:39 +01:00
908b896d43
Implement defining top-level variables including in REPL 2024-09-01 23:45:20 +01:00
82b75e1448
Simplify compiler a bit by removing unneeded casts 2024-08-29 23:14:33 +01:00
2e62a67490
Implement "let" construct in the compiler 2024-08-28 23:57:01 +01:00
b23eb26ffe
Add primitive logic operations: "and", "or", "not" 2024-08-27 22:31:13 +01:00
c7a3e820e0
Implement basic stdlib and a simple "println" function callable from lisp 2024-08-25 00:55:11 +01:00
7a36787bd8
Initial support for compiling named functions 2024-08-23 22:08:02 +01:00
ecbdc17f2b
Compile comparison operations 2024-08-23 21:30:05 +01:00
fce8b84276
Implement compiling lambda functions and function calls 2024-08-17 23:22:21 +01:00
9a0f6d2264
Initial implementation of lambda compilation 2024-08-17 12:33:45 +01:00
81eb5e43ce
Implement simple conditionals 2024-08-15 01:18:05 +01:00
f305901121
Return compiled function from the compile() 2024-08-11 21:37:37 +01:00
3cb4869ed5
First proper code generation for addition 2024-08-10 21:47:07 +01:00
db6ff8deba
Add "Opcode" type 2024-08-10 18:24:16 +01:00
935c629460
Add error location reporting 2024-08-10 11:17:20 +01:00
4c7b44ff01
Stop passing arena explicitly 2024-08-09 23:45:06 +01:00
92f546107e
Add compiler context 2024-08-04 20:38:56 +01:00
42a5b7da2b
Add arrays and boilerplate for the compiler 2024-07-30 23:52:23 +01:00