Skip to content
0:00 / 0:00

#racket#macros#scheme

Sam Tobin-Hochstadt on Composable and Compilable Macros

PapersWeLove

23K subscribers • 33 videos on Hallway • Community channel

YouTube
  • Recommended by 2 people: 1 on Lobsters and 1 curated list.
  • Presented by Sam Tobin-Hochstadt

Advanced. Deep dive for people who know the field.

2.2K views11 years ago2 recommendations

Programming languagesSystems programmingLanguage design and type systemsCompilers and interpretersLisp and Clojure

Sam Tobin-Hochstadt presents the Racket module system and explains how macros interact with separate compilation and ahead-of-time compilation.

Meetup: meetup.com/papers-we-love/events/220021234/ Paper: cs.utah.edu/plt/publications/macromod.pdf Slides: bit.ly/1KNwpjC Audio: mixcloud.com/paperswelove/sam-tobin-hochstadt-on-composable-… -------------------------------------------------------------------------------------------------------------------------------------------------- Sponsored by Two Sigma (@twosigma), The Ladders (@TheLaddersDev), and LispNYC (@lispnyc) -------------------------------------------------------------------------------------------------------------------------------------------------- Description --------------- "Composable and Compilable Macros" introduces the Racket module system, which addresses the following problem: When you have macros that run programs at compile-time, how does this interact with separate compilation and ahead-of-time compilation. The paper introduces "phases", which enable Racket to behave the same regardless of when and how you compile your program. It also introduces the idea of writing different modules in different languages, which is now used for systems like Typed Racket. A few related papers: - Syntactic Abstraction in Scheme, Dybvig Hieb & Bruggeman, Lisp andSymbolic Computation 1993 - Macros that Work Together, Flatt, Findler, Culpepper, & Darais, JFP 2012- Submodules in Racket, Flatt GPCE 2013 - Implicit phasing for R6RS libraries, Ghuloum & Dybvig, ICFP 2007 - Extending the scope of syntactic abstraction, Waddell & Dybvig, POPL 1999 Bio ---- Sam Tobin-Hochstadt (@samth) is an Assistant Professor in the School of Informatics and Computing at Indiana University. He has worked on dynamic languages, type systems, module systems, and metaprogramming, including creating the Typed Racket system and popularizing the phrase “scripts to programs.” He is a member of the ECMA TC39 working group responsible for standardizing JavaScript, where he co-designed the module system for ES6, the next version of JavaScript. He received his PhD in 2010 from Northeastern University under Matthias Felleisen.

Why it's here

2 people recommend this

What people say. Recommended as an excellent deep dive into the mechanics of Racket's macro and module systems.

zeeshanlakhanion Lobsters • Recommends

Sam Tobin-Hochstadt on Composable and Compilable Macros (a paper by Matthew Flatt)

programming-talkscurated list on GitHubRecommends

Under “Functional Programming”

Papers We Love: Composable and Compilable Macros 00:54:49 by **Sam Tobin-Hochstadt** (2015)