ICFP 2022
Sun 11 - Fri 16 September 2022 Ljubljana, Slovenia

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 2022 ML family workshop is co-located with ICFP 2022 and will take place in Ljubljana, Slovenia.

The ML family workshop will be held in close coordination with the OCaml Users and Developers Workshop.

Invited talk: Sam Westrick will give a keynote on the topic “Efficient and Scalable Parallel Functional Programming Through Disentanglement”!

After several virtual editions due to the pandemic, this year’s ML family workshop will be an in-person event.

UPDATE: The talks will be live streamed using AirMeet, so that remote attendance is possible. Remote attendees will be able to listen and watch the talks, and type the questions they may want to ask to the speakers.

UPDATE: The videos of the talks are now available on YouTube!

Please contact the PC chair (Benoît Montagu) with any questions.

Plenary
You're viewing the program in a time zone which is different from your device's time zone change time zone

Thu 15 Sep

Displayed time zone: Belgrade, Bratislava, Budapest, Ljubljana, Prague change

08:00 - 09:00
RegistrationCatering & social at Foyer 2
08:00
60m
Registration
Registration
Catering & social

09:00 - 10:30
Language DesignML at Štih
Chair(s): Benoît Montagu Inria
09:00
50m
Keynote
Keynote: Efficient and Scalable Parallel Functional Programming Through Disentanglement
ML
Sam Westrick Carnegie Mellon University
09:50
20m
Talk
Towards Algebraic Subtyping for Extensible Records
ML
Rodrigo Marques Universidade do Porto, Mário Florido Universidade do Porto, Pedro Vasconcelos LIACC, Universidade do Porto, Porto, Portugal
10:10
20m
Talk
The Ultimate Conditional SyntaxVirtual
ML
Lionel Parreaux The Hong Kong University of Science and Technology (HKUST)
Pre-print File Attached
10:30 - 11:00
Coffee breakCatering & social at Foyer 2
10:30
30m
Coffee break
Coffee break
Catering & social

11:00 - 12:30
Implementation of Functional LanguagesML at Štih
Chair(s): Matija Pretnar University of Ljubljana, Slovenia
11:00
20m
Talk
A New Match Compiler for Standard ML of New Jersey
ML
David MacQueen University of Chicago (Emeritus)
File Attached
11:20
20m
Talk
Boxroot, fast movable GC roots for a better FFI
ML
Pre-print
11:40
20m
Talk
Unboxed types for OCaml
ML
Richard A. Eisenberg Jane Street, Stephen Dolan Jane Street, Leo White Jane Street
12:00
20m
Talk
What About the Integer Numbers?
ML
Daan Leijen Microsoft Research
Link to publication File Attached
12:30 - 14:00
12:30
90m
Lunch
Lunch
Catering & social

14:00 - 15:30
Tools & MetaprogrammingML at Štih
Chair(s): Ningning Xie University of Cambridge
14:00
20m
Talk
Necro ML: Generating OCaml Interpreters
ML
Louis Noizet Univ. Rennes 1, Alan Schmitt Inria
Pre-print File Attached
14:20
20m
Talk
Module Shapes for Modern Tooling
ML
Thomas Réfis Tarides, Ulysse Gérard Tarides, Leo White Jane Street
File Attached
14:40
20m
Talk
An OCaml use case for strong call-by-need reduction
ML
15:00
20m
Talk
Do Mutable Variables Have Reference Types?
ML
Oleg Kiselyov Tohoku University, Japan
Pre-print
15:30 - 16:00
Coffee breakCatering & social at Foyer 2
15:30
30m
Coffee break
Coffee break
Catering & social

17:30 - 20:00
Industrial receptionCatering & social at Foyer 2
17:30
2h30m
Social Event
Industrial reception
Catering & social

Call for Presentations

Format

The ML 2022 workshop will continue the informal approach followed since 2010. Presentations are selected by the program committee from submitted abstracts. There are no published proceedings, so contributions may be submitted for publication elsewhere. We expect research presentations of original and novel work, but emphasize that rigorous descriptions do not prevent preliminary or surprising work: we hope to encourage exciting (if unpolished) research and deliver a lively workshop atmosphere.

Each presentation should take 20-25 minutes, except demos, which should take 10-15 minutes. The exact time will be decided based on the number of accepted submissions. The presentations will likely be recorded.

The 2022 ML family workshop is co-located with ICFP 2022 and will take place in Ljubljana, Slovenia.

This year’s ML workshop is intended to be an in-person event.

UPDATE: The talks will be live streamed using AirMeet, so that remote attendance is possible. Remote attendees will be able to listen and watch the talks, and type the questions they may want to ask to the speakers.

Scope

We seek research presentations on topics including (but not limited to):

  • Language design: abstraction, higher forms of polymorphism, concurrency, distribution and mobility, staging, extensions for semi-structured data, generic programming, object systems, etc.
  • Implementation: compilers, interpreters, type checkers, partial evaluators, runtime systems, garbage collectors, foreign function interfaces, etc.
  • Type systems: inference, effects, modules, contracts, specifications and assertions, dynamic typing, error reporting, etc.
  • Applications: case studies, experience reports, pearls, etc.
  • Environments: libraries, tools, editors, debuggers, cross-language interoperability, functional data structures, etc.
  • Semantics: operational and denotational semantics, program equivalence, parametricity, mechanization, etc.

Four kinds of submissions will be accepted: Research Presentations, Experience Reports, Demos, and Informed Positions.

  • Research Presentations: Research presentations should describe new ideas, experimental results, or significant advances in ML-related projects. We especially encourage presentations that describe work in progress, that outline a future research agenda, or that encourage lively discussion. These presentations should be structured in a way which can be, at least in part, of interest to (advanced) users.
  • Experience Reports: Users are invited to submit Experience Reports about their use of ML and related languages. These presentations do not need to contain original research but they should tell an interesting story to researchers or other advanced users, such as an innovative or unexpected use of advanced features or a description of the challenges they are facing or attempting to solve.
  • Demos: Live demonstrations or short tutorials should show new developments, interesting prototypes, or work in progress, in the form of tools, libraries, or applications built on or related to ML and related languages. (You will need to provide all the hardware and software required for your demo; the workshop organizers are only able to provide a projector.)
  • Informed Positions: A justified argument for or against a language feature. The argument must be substantiated, either theoretically (e.g., by a demonstration of (un)soundness, an inference algorithm, a complexity analysis), empirically or by substantial experience. Personal experience is accepted as justification so long as it is extensive and illustrated with concrete examples.

Important dates:

  • Friday 3 June 2022 Friday 10 June: Submission deadline
  • Tuesday 28 June 2022: Author notification
  • Thursday 15 September 2022: ML Family Workshop

Submission details

Submissions should be between one and three pages long, in PDF format, and printable on US Letter or A4 sized paper. The submission should have a short abstract and a body between 0 and 3 pages, in one- or two-column layout. The abstract should be suitable for inclusion in the workshop program. The bibliography will not be counted against the page limit. Appendices may be provided, but reviewers will only look at them if they are curious. Similarly, links to an extended presentation of the submitted work may be provided.

The recommended style for the submissions is the sigplan style provided by the acmart LaTeX package. Authors can enable this style by using the command \documentclass[sigplan,screen,review]{acmart}.

Submissions must be uploaded to the workshop submission website before the submission deadline (Thursday 2 June 2022).

Finally, please be aware that the submissions may be made public — in particular, accepted submissions may be made public on the conference website. Please do not include any confidential information in the submitted PDF.

Submission website: https://ml2022.hotcrp.com/

Coordination with the OCaml Users and Developers Workshop

The OCaml workshop is seen as more practical and is dedicated in significant part to OCaml community building and the development of the OCaml system. In contrast, the ML family workshop is not focused on any language in particular, is more research-oriented, and deals with general issues of ML-style programming and type systems. Yet there is an overlap, which we are keen to explore in various ways. The authors who feel their submission fits both workshops are encouraged to mention it at submission time or contact the program chairs.

Questions? Use the ML contact form.