Binding as sets of scopes

Research output: Contribution to journalArticle

  • 1 Citations

Abstract

Our new macro expander for Racket builds on a novel approach to hygiene. Instead of basing macro expansion on variable renamings that are mediated by expansion history, our new expander tracks binding through a set of scopes that an identifier acquires from both binding forms and macro expansions. The resulting model of macro expansion is simpler and more uniform than one based on renaming, and it is sufficiently compatible with Racket's old expander to be practical.

LanguageEnglish (US)
Pages705-717
Number of pages13
JournalACM SIGPLAN Notices
Volume51
Issue number1
DOIs
StatePublished - Apr 8 2016

Fingerprint

Macros

Keywords

  • Binding
  • Hygiene
  • Macros
  • Scope

ASJC Scopus subject areas

  • Computer Science(all)

Cite this

Binding as sets of scopes. / Flatt, Matthew.

In: ACM SIGPLAN Notices, Vol. 51, No. 1, 08.04.2016, p. 705-717.

Research output: Contribution to journalArticle

Flatt, Matthew. / Binding as sets of scopes. In: ACM SIGPLAN Notices. 2016 ; Vol. 51, No. 1. pp. 705-717.
@article{46f75385165f4f69b681b301ade82d63,
title = "Binding as sets of scopes",
abstract = "Our new macro expander for Racket builds on a novel approach to hygiene. Instead of basing macro expansion on variable renamings that are mediated by expansion history, our new expander tracks binding through a set of scopes that an identifier acquires from both binding forms and macro expansions. The resulting model of macro expansion is simpler and more uniform than one based on renaming, and it is sufficiently compatible with Racket's old expander to be practical.",
keywords = "Binding, Hygiene, Macros, Scope",
author = "Matthew Flatt",
year = "2016",
month = "4",
day = "8",
doi = "10.1145/2837614.2837620",
language = "English (US)",
volume = "51",
pages = "705--717",
journal = "ACM SIGPLAN Notices",
issn = "0362-1340",
publisher = "Association for Computing Machinery (ACM)",
number = "1",

}

TY - JOUR

T1 - Binding as sets of scopes

AU - Flatt, Matthew

PY - 2016/4/8

Y1 - 2016/4/8

N2 - Our new macro expander for Racket builds on a novel approach to hygiene. Instead of basing macro expansion on variable renamings that are mediated by expansion history, our new expander tracks binding through a set of scopes that an identifier acquires from both binding forms and macro expansions. The resulting model of macro expansion is simpler and more uniform than one based on renaming, and it is sufficiently compatible with Racket's old expander to be practical.

AB - Our new macro expander for Racket builds on a novel approach to hygiene. Instead of basing macro expansion on variable renamings that are mediated by expansion history, our new expander tracks binding through a set of scopes that an identifier acquires from both binding forms and macro expansions. The resulting model of macro expansion is simpler and more uniform than one based on renaming, and it is sufficiently compatible with Racket's old expander to be practical.

KW - Binding

KW - Hygiene

KW - Macros

KW - Scope

UR - http://www.scopus.com/inward/record.url?scp=84965002347&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84965002347&partnerID=8YFLogxK

U2 - 10.1145/2837614.2837620

DO - 10.1145/2837614.2837620

M3 - Article

VL - 51

SP - 705

EP - 717

JO - ACM SIGPLAN Notices

T2 - ACM SIGPLAN Notices

JF - ACM SIGPLAN Notices

SN - 0362-1340

IS - 1

ER -