From 27538b454c7f9a5a43ca868138c01c783b05b9b0 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Tue, 3 Jan 2017 19:01:24 -0500 Subject: [PATCH] Added TODO --- docs/Writing-the-Cyclone-Scheme-Compiler-Revision-1.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/Writing-the-Cyclone-Scheme-Compiler-Revision-1.md b/docs/Writing-the-Cyclone-Scheme-Compiler-Revision-1.md index 90c28d11..0af4149b 100644 --- a/docs/Writing-the-Cyclone-Scheme-Compiler-Revision-1.md +++ b/docs/Writing-the-Cyclone-Scheme-Compiler-Revision-1.md @@ -109,6 +109,8 @@ Most of the transformations follow a similar pattern of recursively examining an ((app? exp) (reduce union (map search exp) '())) (else (error "unknown expression: " exp)))) +TODO: mention nanopass, which seems to be a better approach but is R6RS so not really an option for this project :( + ### Macro Expansion Macro expansion is one of the first transformations. Any macros the compiler knows about are loaded as functions into a macro environment, and a single pass is made over the code. When the compiler finds a macro the code is expanded by calling the macro. The compiler then inspects the resulting code again in case the macro expanded into another macro.