ABSTRACT
This paper presents two new developments. First, it describes a “macro-by-example” specification language for syntactic abstractions in Lisp and related languages. This specification language allows a more declarative specification of macros than conventional macro facilities do by giving a better treatment of iteration and mapping constructs. Second, it gives a formal semantics for the language and a derivation of a compiler from the semantics. This derivation is a practical application of semantics-directed compiler development methodology.
- Felleisen 85.Felleisen, M. "Transliterating Prolog into Scheme," Indiana University Computer Science Department Technical Report No. 182, October, 1985.Google Scholar
- Foderaro, Sklower, & Layer 83.Foderaxo, .I.K., Sklower, K.L., and Layer, K. The Franz Lisp Manual, June, 1983.Google Scholar
- Felleisen & Friedman 86.Felleisen, M., and Friedman, D.P., "A Closer Look at Export and Import Statements," Computer Languages 1~ (1986), 20-37. Google ScholarDigital Library
- Friedman, Haynes, & Wand 86.Friedmma, D.P., Haynes, C.T., and Wand, M. "Obtaining Coroutines with Continuations," Computer Languages 1I (1986), to appear. Google ScholarDigital Library
- Jorring & Sherlis 86.Jorring, U., and Sherlis, W.L. "Compilers and Staging Transformations," Conf. Ree. 19th Annual A CM Symposium on Principles of Programming Languages (19s6), Google ScholarDigital Library
- Kohlbecker 86.Kohlbecker, E., Syntactic Extensions in the Programming Language Lisp, PhD dissertation, Indiana University, August, 1986. Google ScholarDigital Library
- Kohlbecker, et al 86.Kohlbecker, E., Friedrnah, D.P., Felleisen, M., and Dubs, B. "Hygienic Macro Expansion," Proceedings 1986 A CM Conference on Lisp and Functional Programming, 151-161. Google ScholarDigital Library
- Rees, Clinger, et al 86.Rees, J., and Clinger, W., eds. "Revised3 Report on the Algorithmic Language Scheme," SIGPLAN Notices, to appear. Google ScholarDigital Library
- Steele & Sussman 78.Steele, G.L. and Sussman, G.J. "The Revised Report on SCHEME," Mass. Inst. of Tech. Artif. Intell. Memo No. 452, Cambridge, MA (January, 1978).Google Scholar
- wand 82.Wand, M. "Deriving Target Code as a Representation of Continuation Semantics," A CM Trans. or~ Prog. Lang. and Systems 4, 3 (July, 1982) 496-517. Google ScholarDigital Library
- Wand 84.Wand, M. "A Semantic Prototyping System," Proe. AGM SIGPLAN 'St Compiler Construction Conference (1984), 213-221. Google ScholarDigital Library
- Wand 85.Wand, M. "The Semantics of Backtracking," Brandeis University Computer Science Department Colloquium, January, 1985 (unpublished).Google Scholar
Index Terms
- Macro-by-example: Deriving syntactic transformations from their specifications
Recommendations
Deriving Formal Specifications from Informal Requirements
COMPSAC '07: Proceedings of the 31st Annual International Computer Software and Applications Conference - Volume 01Ensuring dependability of software requires the use of formal methods. However, formal methods are still not widely accepted in engineering practice. One of the reasons for this is difficulty of deriving formal specifications from large and complex ...
The Java syntactic extender (JSE)
The ability to extend a language with new syntactic forms is a powerful tool. A sufficiently flexible macro system allows programmers to build from a common base towards a language designed specifically for their problem domain. However, macro ...
Comments