Commit Graph

19 Commits

Author SHA1 Message Date
7685ae2e45 interpreter: removed the outdated tree-walk interpreter
All checks were successful
ci/woodpecker/push/debian Pipeline was successful
ci/woodpecker/push/fedora Pipeline was successful
ci/woodpecker/push/nix Pipeline was successful
ci/woodpecker/push/publish Pipeline was successful
2026-02-15 14:30:41 +03:00
3a3bf2c674 core_ast: removed letrec. we now treat it as let + set.
All checks were successful
ci/woodpecker/push/debian Pipeline was successful
ci/woodpecker/push/nix Pipeline was successful
ci/woodpecker/push/fedora Pipeline was successful
ci/woodpecker/cron/fedora Pipeline was successful
ci/woodpecker/cron/debian Pipeline was successful
ci/woodpecker/cron/nix Pipeline was successful
2026-02-02 22:36:55 +03:00
be81061895 syntactic_ast: fix issue in set! parsing, add set! to the test case.
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2026-01-07 18:18:38 +03:00
54c48ddf0e syntactic_ast: add node for if expressions
All checks were successful
ci/woodpecker/push/build Pipeline was successful
2026-01-07 18:03:28 +03:00
edc9d8b9e6 syntactic_ast: added parsing and pretty printing for cond expressions
All checks were successful
ci/woodpecker/push/build Pipeline was successful
ci/woodpecker/cron/build Pipeline was successful
2026-01-04 21:38:04 +03:00
e95a115acf syntactic_ast: Added proper handling for Let and Letrec
All checks were successful
ci/woodpecker/push/build Pipeline was successful
ci/woodpecker/cron/build Pipeline was successful
2026-01-03 21:35:27 +03:00
6d95977324 ast: improved the implementation of syntactic_ast
All checks were successful
ci/woodpecker/push/build Pipeline was successful
debug: added debug functions for the syntactic_ast module
Modified the compiler executable to test a little bit.

todo: Some nodes of the syntactic ast are not yet emitted,
2026-01-03 18:30:47 +03:00
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