https://github.com/idorobots/macro-tower
Macroexpansion reflective tower implementation in Scheme.
https://github.com/idorobots/macro-tower
algorithms lisp macros scheme
Last synced: about 1 month ago
JSON representation
Macroexpansion reflective tower implementation in Scheme.
- Host: GitHub
- URL: https://github.com/idorobots/macro-tower
- Owner: Idorobots
- Created: 2022-04-08T17:32:28.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2022-04-08T17:32:50.000Z (about 3 years ago)
- Last Synced: 2025-02-13T06:18:26.262Z (3 months ago)
- Topics: algorithms, lisp, macros, scheme
- Language: Scheme
- Homepage:
- Size: 21.5 KB
- Stars: 3
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Macro Tower
A macro expander based on the system presented in Macroexpansion Reflective Tower.
Difference to the Macroexpansion Reflective Tower:
- `install-macro-form!` uses an a-list for the macro environments instead of functions for easier debugging.
- `pure-meaning` is not used for extracting defined symbols before expansion to preallocate boxes for them. Instead, the expansion environment is updated on each level right after evaluation of the expanded code in that level.Caveats:
- `really-expand` is using the same immutable environment for all subexpressions of an expression, meaning that no macro definitions are applied in the other subexpressions at the same level.