|
|
9981c222eb
|
Added desugar phase for converting cond into a chain of if's
|
2025-12-28 21:04:45 +03:00 |
|
|
|
d80caadc85
|
Added gensym, and phases in the desugar module for logical and & or
|
2025-12-28 21:04:45 +03:00 |
|
|
|
be0d479665
|
Added desugar steps to add (begin) wrappers around long lambda bodies, and rewrite internal (define) forms into letrec forms
|
2025-12-28 21:04:45 +03:00 |
|
|
|
4f1ad54596
|
Started work on the compiler, with a desugar phase
|
2025-12-28 21:04:45 +03:00 |
|
|
|
58277ad0a3
|
Complete reorganization: finally at a building state again
|
2025-12-28 21:04:45 +03:00 |
|
|
|
8e980a8f1b
|
Reorganized basically everything, making way for the compiler
|
2025-12-28 21:04:45 +03:00 |
|
|
|
81c349c70a
|
Added pretty-printing.
|
2025-12-28 21:04:45 +03:00 |
|
|
|
2f9501450f
|
Reorganized the standard library a little more, moved the initialization code for the standard environment into a function. Making way for more organization changes to come
|
2025-12-28 21:04:45 +03:00 |
|
Emin Arslan
|
df0b3178f0
|
Improved the repl to return to evaluation upon error. Also added an exit command
|
2025-12-28 21:04:44 +03:00 |
|
Emin Arslan
|
f9e96b1bd4
|
General style changes, nothing major
|
2025-12-28 21:04:44 +03:00 |
|
Emin Arslan
|
354e9b355b
|
Added bind-function primitive that allows us to define functions, also changed evaluation to allow for a persistent environment
|
2025-12-28 21:04:44 +03:00 |
|
Emin Arslan
|
4535d57d21
|
Initial state - basic lexer + parser + interpreter
|
2025-12-28 21:04:44 +03:00 |
|