Higher-order, Typed, Inferred, Strict: ACM SIGPLAN ML Family Workshop

Thursday August 27, 2020, Jersey City, New Jersey, United States

(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, the workshop will take place online.

If you have any question about the workshop, submission or participation, feel free to send them by email to the program chair, Leo White.

Important dates

    • Friday 29th May (any time zone): Abstract submission deadline

    • Friday 17th July: Author notification

    • Thursday 27th August: ML Family Workshop


  • Invited keynote: Verification of OCaml programs using CFML (video)
    Arthur Charguéraud

  • High-level error messages for modules through diffing (pdf, video)
    Florian Angeletti, Gabriel Radanne

  • Nottui & Lwd: A friendly UI toolkit for the ML-programmer (pdf, video)
    Frédéric Bour

  • Quantified Applicatives – API design for type-inference constraints (pdf, video)
    Gabriel Scherer, Olivier Martinot

  • The Virtues of Semi-Explicit Polymorphism (pdf, video)
    Frank Emrich, Sam Lindley, Jan Stolarek

  • Towards better systems programming in OCaml with out-of-heap allocation (Informed Position) (pdf, video)
    Guillaume Munch-Maccagnoni

  • Tracking injectivity and nominality beyond abstraction (pdf, video)
    Jacques Garrigue

  • Translation validation of a pattern-matching compiler (pdf, video)
    Gabriel Scherer, Francesco Mecca

  • poco: An ML testbed for deductive synthesis tool design (pdf, video)
    Matthew Sottile, Lindsay Errington

Programme committee

    • Youyou Cong (Tokyo Institute of Technology)

    • Ivan Gotovchits (Carnegie Mellon University)

    • Gowtham Kaki (Purdue University)

    • Neel Krishnaswami (University of Cambridge)

    • Daan Leijen (Microsoft Research)

    • Koko Muroya (Kyoto University)

    • Atsushi Ohori (Tohoku University)

    • Jonathan Protzenko (Microsoft Research)

    • Gabriel Radanne (INRIA)

    • Claudio Russo (Dfinity)

    • Leo White (Jane Street) (Chair)

    • Jeremy Yallop (University of Cambridge)