Write a Blog >>
ICFP 2018
Sun 23 - Sat 29 September 2018 St. Louis, Missouri, United States
Fri 28 Sep 2018 11:10 - 11:35 at New York Central - Session 1

Many functional programs —state machines, top-down and bottom-up parsers, evaluators, GUI initialization graphs, &c. — are conveniently expressed as groups of mutually recursive bindings. One therefore expects program generators, such as those written in MetaOCaml, to be able to build programs with mutual recursion.

Unfortunately, currently MetaOCaml can only build recursive groups whose size is hard-coded in the generating program. The general case requires something other than quotation, and seemingly weakens static guarantees on the resulting code. We describe the challenges and propose a new language construct for assuredly generating binding groups of arbitrary size~– illustrating with a collection of examples for mutual, n-ary, heterogeneous, value and polymorphic recursion.

Fri 28 Sep

Displayed time zone: Guadalajara, Mexico City, Monterrey change

10:20 - 12:00
Session 1ML at New York Central
10:20
25m
Talk
Safely Mixing OCaml and Rust
ML
Stephen Dolan University of Cambridge
10:45
25m
Talk
Rust Distilled: An Expressive Tower of Languages
ML
Aaron Weiss Northeastern University, Daniel Patterson Northeastern University, Amal Ahmed Northeastern University, USA
Link to publication Pre-print
11:10
25m
Talk
Generating Mutually Recursive Definitions
ML
Jeremy Yallop University of Cambridge, UK, Oleg Kiselyov
Pre-print
11:35
25m
Talk
Experience Report: Type-Safe Multi-Tier Programming with Standard ML Modules
ML
Martin Elsman University of Copenhagen, Denmark, Philip Munksgaard Intelligent Alpha AG, Switzerland, Ken Friis Larsen DIKU, University of Copenhagen
Link to publication