The OCaml Users and Developers Workshop brings together industrial users of OCaml with academics and hackers who are working on extending the language, type system, and tools. Previous editions have been co-located with ICFP 2012 in Copenhagen, ICFP 2013 in Boston, ICFP 2014 in Gothenburg, ICFP 2015 in Vancouver, ICFP 2016 in Nara, ICFP 2017 in Oxford, ICFP 2018 in St Louis, ICFP 2019 in Berlin, and was virtual for ICFP 2020, following the OCaml Meetings in Paris in 2010 and 2011.
OCaml 2021 will be a virtual workshop, co-located with ICFP 2021.
Please contact the PC Chair (Frédéric Bour) for any questions.
Fri 27 AugDisplayed time zone: Seoul change
16:00 - 17:30
Session 1OCaml at OCaml
Chair(s): Youyou Cong Tokyo Institute of Technology
|GopCaml: A Structural Editor for OCaml|
Kiran Gopinathan National University of SingaporeFile Attached
|OCaml and Python: Getting the Best of Both Worlds|
Laurent Mazare Jane Street
|Adapting the OCaml ecosystem for Multicore OCaml|
Sudha Parimala Segfault Systems, Enguerrand Decorne Tarides, Sadiq Jaffer Opsian and OCaml Labs, Tom Kelly OCaml Labs, KC Sivaramakrishnan IIT MadrasFile Attached
18:00 - 19:30
Session 2OCaml at OCaml
Chair(s): Tim McGilchrist Tarides
|Deductive Verification of Realistic OCaml Code|
Carlos Pinto NOVA LINCS & Universidade da Beira Interior, Portugal, Mário Pereira NOVA LINCS & DI -- Nova School of Science and Technology, Simão Melo de Sousa NOVA LINCS & Universidade da Beira Interior, Portugal
|Parafuzz: Coverage-guided Property Fuzzing for Multicore OCaml programs|
Sumit Padhiyar Indian Institue Of Technology, Madras, Adharsh Kamath National Institute of Technology Karnataka, Surathkal, India, KC Sivaramakrishnan IIT MadrasMedia Attached File Attached
|Wibbily Wobbly Timey Camly|
Di Long Li The Australian National University, Gabriel Radanne Inria
|Leveraging Formal Specifications to Generate Fuzzing Suites|
Nicolas Osborne Tarides, Clément Pascutto Tarides, Université Paris-Saclay, CNRS, ENS Paris-Saclay, LMF
20:00 - 21:30
Session 3OCaml at OCaml
Chair(s): Thomas Gazagnaire Tarides
|Probabilistic resource limits, or: Programming with interrupts in OCaml|
|Continuous Benchmarking for Ocaml Projects|
Gargi Sharma Tarides, Rizo Isrof Tarides, Magnus Skjegstad Tarides and OCaml Labs
|A Multiverse of Glorious Documentation|
Lucas Pluvinage Tarides, Jonathan Ludlam University of CambridgeFile Attached
|Digodoc and Docs|
Mohamed Hernouf OCamlPro, Fabrice Le Fessant OCamlPro, Thomas Blanc OCamlPro, Louis Gesbert OCamlPro
22:00 - 23:30
KeynoteOCaml at OCaml
Chair(s): Anil Madhavapeddy University of Cambridge, UK
|25 years of OCaml|
Xavier Leroy Collège de France
23:30 - 01:00
Session 4OCaml at OCaml
Chair(s): Raja Boujbel OCamlPro
|Experiences with Effects|
Thomas Leonard OCaml Labs, Craig Ferguson Tarides, Patrick Ferris OCaml Labs, Sadiq Jaffer Opsian and OCaml Labs, Tom Kelly OCaml Labs, KC Sivaramakrishnan IIT Madras, Anil Madhavapeddy University of Cambridge, UKFile Attached
|Opam-bin: Binary Packages with Opam|
Fabrice Le Fessant OCamlProFile Attached
|Love: a readable language interpreted by a blockchain|
Steven de Oliveira OCamlPro, David Declerck OCamlPro
Sat 28 AugDisplayed time zone: Seoul change
01:30 - 03:00
Session 5OCaml at OCaml
Chair(s): Ashish Agarwal
|From 2n+1 to n|
Nandor Licker University of Cambridge, Timothy M. Jones University of Cambridge, UKFile Attached
|Property-Based Testing for OCaml through Coq|
Paaras Bhandari University of Maryland, College Park, Leonidas Lampropoulos University of Maryland, College Park
|Safe Protocol Updates via Propositional Logic|
Michael O'Connor Jane Street
03:30 - 05:00
Session 6OCaml at OCaml
Chair(s): Rudi Grinberg OCaml Labs
|Binary Analysis Platform (BAP). Using Universal Algebra and Tagless-Final Style for Developing Representation-Agnostic Frameworks|
Ivan Gotovchits Carnegie Mellon University, David Brumley Carnegie Mellon UniversityFile Attached
|Semgrep, a fast, lightweight, polyglot, static analysis tool to find bugs|
Yoann Padioleau Return to CorpFile Attached
Call for Presentations
The submission deadline has been extended to Thursday 27th May.
Presentations and discussions focus on the OCaml programming language and its community. We aim to solicit talks on all aspects related to improving the use or development of the language and its programming environment, including, for example (but not limited to):
- compiler developments, new backends, runtime and architectures
- practical type system improvements, such as GADTs, first-class modules, generic programming, or dependent types
- new library or application releases, and their design rationales
- tools and infrastructure services, and their enhancements
- prominent industrial or experimental uses of OCaml, or deployments in unusual situations.
Presentations will be held in the online format. Each presentation comprise a prerecorded presentation and an interactive live Q&A session after the talk. Each talk will be re-translated three times in different time zones. Session chairs and volunteers will assist the authors in preparing and casting the presentation. Each presentation will be made available through the ocaml.org website.
To submit a presentation, please register a description of the talk (about 2 pages long) at https://ocaml2021.hotcrp.com/ providing a clear statement of what will be provided by the presentation: the problems that are addressed, the solutions or methods that are proposed.
LaTeX-produced PDFs are a common and welcome submission format. For accessibility purposes, we ask PDF submitters to also provide the sources of their submission in a textual format, such as .tex sources. Reviewers may read either the submitted PDF or the text version.
Camera ready presentations
A pre-recorded versions of accepted presentation shall be provided before August, 13th. Volunteers will provide technical assistance to authors as well as provide necessary feedback and ensure that all videos match our quality standards.
- Thursday 27th May (any time zone): Abstract submission deadline (extended)
- Friday 18th July: Author notification
- Friday 27th August: OCaml Workshop
ML family workshop
The ML family workshop, held on the previous day, deals with general issues of the ML-style programming and type systems, focuses on more research-oriented work that is less specific to a language in particular. There is an overlap between the two workshops, and we have occasionally transferred presentations from one to the other in the past. Authors who feel their submission fits both workshops are encouraged to mention it at submission time and/or contact the Program Chairs.
Call for Volunteers
The OCaml Workshop will be held virtually. We are looking for volunteers to fill the role of session host. The role is described in details below. We are asking prospective Organizing Committee members to contact the Committee chair (email@example.com).
On August 27, the session hosts will assist session chairs in streaming the pre-recorded videos as well as helping and moderating the Q&A sessions. They will also be responsible for security and be ready to react to potential threats and wrongdoers.
This year there will be only one broadcast for each session, but the workshop day will be quite long. There will be six sessions, lasting one hour and a half, as well as a one hour keynote.
- Moderating the text chats
- Controlling microphones in the video-conferencing
- Watching for the time
- Performing sound checks
- Welcoming and otherwise guiding participants