#13 - Sam Tobin-Hochstadt on Composable and Compilable Macros

This is a past event

119 people went

Tumblr, Inc

35 East 21st St, FL 10, 10010 · New York, NY

How to find us

Tumblr's office is located between 5th Avenue and Park Avenue South on 21st Street. We're on the 10th Floor.

Location image of event venue


We're extremely thrilled to host Sam Tobin-Hochstadt, Assistant Professor in the School of Informatics and Computing at Indiana University, presenting Composable and Compilable Macros (https://www.cs.utah.edu/plt/publications/macromod.pdf) by Matthew Flatt (http://www.cs.utah.edu/~mflatt/) of the University of Utah.


"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 (http://www.cs.indiana.edu/~dyb/pubs/LaSC-5-4-pp[masked].pdf), Dybvig Hieb & Bruggeman, Lisp andSymbolic Computation 1993

- Macros that Work Together (http://www.cs.utah.edu/plt/publications/jfp12-draft-fcdf.pdf), Flatt, Findler, Culpepper, & Darais, JFP 2012- Submodules in Racket, Flatt GPCE 2013

- Implicit phasing for R6RS libraries (http://www.cs.indiana.edu/~dyb/pubs/implicit-phasing.pdf), Ghuloum & Dybvig, ICFP 2007

- Extending the scope of syntactic abstraction (http://www.cs.indiana.edu/~dyb/pubs/popl99.pdf), Waddell & Dybvig, POPL 1999


Sam Tobin-Hochstadt (http://samth.github.io/) (@samth (https://twitter.com/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.


TwoSigma (https://www.twosigma.com/) - Platinum Sponsor of the New York chapter



Doors open at 7 pm; the presentation will begin at 7:30 pm; and, yes, there will be refreshments of all kinds and pizza.

After Sam presents the paper, we will open up the floor to discussion and questions.

We hope that you'll read the paper before the meetup, but don't stress if you can't. If you have any questions, thoughts, or related information, please visit our *github-thread (https://github.com/papers-we-love/papers-we-love/issues/274)* on the matter.

Additionally, if you have any papers you want to add to the repository above (papers that you love!), please send us a pull request (https://github.com/papers-we-love/papers-we-love/pulls). Also, if you have any ideas/questions about this meetup or the Papers-We-Love org, just open up an issue.

February's meetup is sponsored by