Macro-by-example: Deriving syntactic transformations from their specifications
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
LFP '86 Proceedings of the 1986 ACM conference on LISP and functional programming
Revised report on the algorithmic language scheme
ACM SIGPLAN Lisp Pointers
Scoping Constructs for Software Generators
GCSE '99 Proceedings of the First International Symposium on Generative and Component-Based Software Engineering
Hi-index | 0.00 |
I have been hearing some complaints that Scheme's new lexically scoped macro facility is difficult to implement. There are two components to the proposal: the pattern language and lexical scoping. The two pose independent problems. I agree that the ellipsis-enriched pattern language can be tricky to implement; implementations that I have seen take anywhere from 250 to 1400 lines of Scheme code. However, I believe that it is conceptually straightforward, and several implementations have been around for many years (see [9]). On the other hand, many people are unnecessarily getting tripped up on lexical scoping, which, unlike the pattern matcher, is very simple to implement.