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.

If you have any question about the workshop, submission or participation, feel free to send them by email to the program chair, KC Sivaramakrishnan kc@kcsrk.info.

Important Dates

    • Thursday May 16th: submission deadline

    • Thursday May 16th 2019: author notification

    • Thursday August 22nd 2019: workshop

Accepted Talks

Invited Keynote: an Introduction to the Imandra Automated Reasoning System

Grant Passmore

(TyDe Presentation) FreezeML: Complete and Easy Type Inference for First-Class Polymorphism (pdf)

Frank Emrich, Sam Lindley, Jan Stolarek, James

A Key-Value store for OCaml (pdf)

Tom Ridge

A right-to-left type system for value recursion (pdf)

Alban Reynaud, Gabriel Scherer, Jeremy Yallop

An Idris Foreign Function Interface to OCaml (pdf)

Robert Atkey, Ioan Luca

Compiling Successor ML Pattern Guards (pdf)

John Reppy, Mona Zahir

Efficient Deconstruction with Typed Pointer Reversal (pdf)

Guillaume Munch-Maccagnoni, Rémi Douence

Necro: Animating Skeletons (pdf)

Nathanaël Courant, Enzo Crance, Alan Schmitt

Programming with Rational Coinductive Streams (pdf)

Jean-Baptiste Jeannin

Towards Machine Learning Induction in Poly/ML (pdf)

Yutaka Nagashima

Transparent Synchronous Dataflow (pdf)

Steven Cheung

let (rec) insertion without effects, lights or magic (pdf)

Oleg Kiselyov, Jeremy Yallop

Program Committee

    • David Allsopp (University of Cambridge, UK)

    • Lars Bergstrom (Mozilla Research, USA)

    • Aggelos Biboudis (EPFL, Switzerland)

    • Edwin Brady (University of St. Andrews, UK)

    • Avik Chaudhuri (Facebook, USA)

    • Matthew Fluet (Rochester Institute of Technology, USA)

    • Atsushi Igarashi (Kyoto University, Japan)

    • Jacques-Henri Jourdan (CNRS, LRI, Université Paris-Sud, France)

    • Cyrus Omar (University of Chicago, USA)

    • Zoe Paraskevopoulou (Princeton University, USA)

    • Andreas Rossberg (Dfinity Stiftung, Germany)

    • KC Sivaramakrishnan (chair) (IIT Madras, India)