Thursday September 15, 2022, Ljubljana, Slovenia (planned as a hybrid event)
(immediately following ICFP and preceding OCaml Users and Developers Workshop)
ML is a large family of programming languages that includes Standard ML, OCaml, F#, CakeML, SML#, Manticore, MetaOCaml, JoCaml, Alice ML, Dependent ML, Flow Caml, Reason ML, and many others. All ML languages, besides a great deal of syntax, share several fundamental traits. They are all higher-order, mostly pure, and typed, with algebraic and other data types. Their type systems inherit from Hindley-Milner. The development of these languages has inspired a large amount of computer science research and influenced many programming languages, including Haskell, Scala, Rust, Clojure, and many others.
ML workshops have been held in affiliation with ICFP continuously since 2005. This workshop specifically aims to recognize the entire extended ML family and to provide the forum to present and discuss common issues, both practical (compilation techniques, implementations of concurrency and parallelism, programming for the Web, modern operating system and network services, platform services – build, document, test, deploy) and theoretical (fancy types, module systems, metaprogramming, etc.) The scope of the workshop includes all aspects of the design, semantics, theory, application, implementation, and teaching of the members of the ML family. We also encourage presentations from related languages (such as Haskell, Scala, Rust, Nemerle, Links, Koka, F*, Eff, ATS, etc), to exchange experience of further developing ML ideas.
The ML family workshop will be held in close coordination with the OCaml Users and Developers Workshop.
Due to the COVID-19 pandemic, we plan the workshop will be a hybrid event. Depending on how the pandemic situation evolves, the workshop might become fully virtual, or take place in-person.
If you have any question about the workshop, submission or participation, feel free to send them by email to the program chair, Benoît Montagu.
The slides and extended abstract are available on the ICFP website, at the bottom of the current page, or upon request to the authors.
The videos of the talks are available on the ACM Sigplan YouTube channel.
Invited talk: Efficient and Scalable Parallel Functional Programming Through Disentanglement, Sam Westrick
A New Match Compiler for Standard ML of New Jersey, David MacQueen (talk given by John Reppy)
An OCaml use case for strong call-by-need reduction, Gabriel Scherer, Nathanaëlle Courant
Boxroot, fast movable GC roots for a better FFI, Guillaume Munch-Maccagnoni, Gabriel Scherer
Do Mutable Variables Have Reference Types?, Oleg Kiselyov
Extraction to OCaml from Coq: Operational Correctness Verified in Coq, Yannick Forster, Matthieu Sozeau, Pierre Giraud, Pierre-Marie Pédrot, Nicolas Tabareau
Interpreting OCaml GADTs into Coq, Jacques Garrigue, Takafumi Saikawa
Module Shapes for Modern Tooling, Thomas Réfis, Ulysse Gérard, Leo White
Necro ML: Generating OCaml Interpreters, Louis Noizet, Alan Schmitt
The Ultimate Conditional Syntax, Lionel Parreaux
Towards Algebraic Subtyping for Extensible Records, Rodrigo Marques, Mário Florido, Pedro Vasconcelos
Unboxed types for OCaml, Richard A. Eisenberg, Stephen Dolan, Leo White
Verify, but test: extracting property-based tests from F* specifications, Antonio Locascio, Germán Andrés Delbianco, Marco Stronati
What About the Integer Numbers?, Daan Leijen
Benoît Montagu, Inria (chair)
Kenichi Asai, Ochanomizu University
Dariusz Biernacki, University of Wrocław
Stephen Dolan, JaneStreet
Kavon Farvardin, Apple
Armaël Guéneau, Inria
Sam Lindley, University of Edinburgh
Guido Martinez, CIFASIS-CONICET
Keiko Nakata, SAS SE
Lionel Parreaux, Hong Kong University of Science and Technology
Matija Pretnar, University of Ljubljana
Mike Rainey, Carnegie Mellon University
Yann Régis-Gianas, Nomadic Labs
KC Sivaramakrishnan, IIT Madras and Tarides
Ningning Xie, University of Cambridge