Skip to main content
×
Home
    • Aa
    • Aa

Fortifying macros

  • RYAN CULPEPPER (a1)
  • DOI: http://dx.doi.org/10.1017/S0956796812000275
  • Published online: 15 August 2012
Abstract
Abstract

Existing macro systems force programmers to make a choice between clarity of specification and robustness. If they choose clarity, they must forgo validating significant parts of the specification and thus produce low-quality language extensions. If they choose robustness, they must write in a style that mingles the implementation with the specification and therefore obscures the latter. This paper introduces a new language for writing macros. With the new macro system, programmers naturally write robust language extensions using easy-to-understand specifications. The system translates these specifications into validators that detect misuses—including violations of context-sensitive constraints—and automatically synthesize appropriate feedback, eliminating the need for ad hoc validation code.

Copyright
Linked references
Hide All

This list contains references from the content that can be linked to their source. For a full set of references and notes please see the PDF or HTML where available.

R. K. Dybvig , R. Hieb & C. Bruggeman (1993) Syntactic abstraction in Scheme. Lisp Symb. Comput. 5 (4), 295326.

P. J. Landin (1965) Correspondence between ALGOL 60 and Church's lambda-notation: Part I. Commun. ACM 8 (2), 89101.

Recommend this journal

Email your librarian or administrator to recommend adding this journal to your organisation's collection.

Journal of Functional Programming
  • ISSN: 0956-7968
  • EISSN: 1469-7653
  • URL: /core/journals/journal-of-functional-programming
Please enter your name
Please enter a valid email address
Who would you like to send this to? *
×