Commit Graph

6 Commits

Author SHA1 Message Date
8f75efd4fb Added desugar phase for converting cond into a chain of if's 2025-12-27 17:00:16 +03:00
26463a4c00 Separated mutually recursive definition of desugar phases
They do not need to be mutually recursive at all. At first I thought
they would have to be, because I thought it would be best if each phase
completely desugared the bodies of the expressions they handle, but now
I see that would probably lead to an infinite loop.

There is simply no reason to couple them so tightly.
2025-12-27 16:44:18 +03:00
cd8337b650 Added gensym, and phases in the desugar module for logical and & or 2025-12-27 16:41:22 +03:00
be85a9a6ed Added desugar steps to add (begin) wrappers around long lambda bodies, and rewrite internal (define) forms into letrec forms 2025-12-26 22:13:30 +03:00
d84d81e824 Started work on the compiler, with a desugar phase 2025-12-26 20:42:03 +03:00
4faf309752 Reorganized project 2025-12-08 22:25:36 +03:00