ICFP 2024
Mon 2 - Sat 7 September 2024 Milan, Italy
Fri 6 Sep 2024 14:00 - 15:00 at Meeting 3 - Session 3

Most miniKanren implementations must sacrifice either optimizing compilation or user-extensibility as a consequence of the embedding strategies used for their implementation. The hosted-miniKanren system escapes this dilemma, thanks to the new syntax-spec macro system in Racket. A key design point is the foreign interface that connects miniKanren and Racket, which must allow useful interactions but also maintain the abstraction needed to make the optimizing compiler sound. I’ll walk through the implementation of hosted-miniKanren, including this foreign interface and some of the extensions and optimizations that it enables.

Michael Ballantyne is a PhD student at the Northeastern University Programming Research Laboratory, advised by Matthias Felleisen. He envisions a future where mainstream programmers regularly create, extend, and fluidly intermix domain-specific languages, with excellent support from their programming language and environment. Recently he’s been developing a formal characterization of macro hygiene that accounts for the full range of program transformations used in embedded DSL implementation, and also improving the type systems as macros approach to integrate macro expansion and typechecking.

Fri 6 Sep

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change