Write a Blog >>
ICFP 2020
Thu 20 - Fri 28 August 2020
Fri 28 Aug 2020 07:00 - 07:30 at OCaml - Ecosystem Chair(s): Florian Angeletti
Fri 28 Aug 2020 16:30 - 17:00 at OCaml - Recitation Chair(s): Chris Casinghino

Rendering OCaml document is widely known as a very difficult task: The ever evolving OCaml module system is extremely rich and can include complex set of inter-dependencies that are both difficult to compute and to render in a concise document. Its task is even harder than the typechecker at it also needs to keep tracks of documentation comments precisely and efficiently. As an example, signatures such as include F(X).T and destructive substitutions were never handled properly by any documentation generator.

Odoc is the latest attempt at creating a documentation tool which handles the full complexity of the OCaml language. It has been a long time coming as tackling both the module system and rendering into rich documents makes for a difficult task. Nevertheless we believe the two recent developments provides the final pieces of the OCaml documentation puzzle. This two improvements split odoc in two layers: a model layer, with a deep understanding of the module system, and a document layer allowing for easy definition of new outputs.

This talk will give a tour of the architecture of odoc, including how the model layer performs the jobs of path, fragment and reference resolution, signature expansion, and how aggressive caching can help with the performance. The talk will then present the document layer, its general structure and give an introduction on how to contribute new outputs. The rest of this abstract provides a glimpse of some challenges present is these two layers.

Fri 28 Aug

Displayed time zone: Eastern Time (US & Canada) change

05:30 - 08:30
EcosystemOCaml at OCaml
Chair(s): Florian Angeletti Inria

Infrastructure, tooling, and ecosystem in general.

05:30
60m
Keynote
The OCaml Platform
OCaml
06:30
30m
Talk
OCaml-CI : A Zero-Configuration CI
OCaml
Thomas Leonard OCaml Labs, Craig Ferguson Tarides, Kate Deplaix OCaml Labs, Magnus Skjegstad Tarides and OCaml Labs, Anil Madhavapeddy OCaml Labs
07:00
30m
Talk
The final pieces of the OCaml documentation puzzle
OCaml
Jonathan Ludlam University of Cambridge, Gabriel Radanne Inria, Leo White Jane Street
07:30
30m
Talk
API migration: compare transformed
OCaml
Joseph Harrison University of Kent, UK, Steven Varoumas University of Kent, Simon Thompson University of Kent, Reuben Rowe University College London
08:00
30m
Talk
Parallelising your OCaml Code with Multicore OCaml
OCaml
Sadiq Jaffer Opsian and OCaml Labs, Sudha Parimala IIT Madras, KC Sivaramakrishnan IIT Madras, Tom Kelly OCaml Labs, Anil Madhavapeddy OCaml Labs
Pre-print
15:30 - 17:30
RecitationOCaml at OCaml
Chair(s): Chris Casinghino Draper Laboratory

Repeats Session I for those who weren’t able to attend the earlier time slot.

15:30
30m
Talk
API migration: compare transformed
OCaml
Joseph Harrison University of Kent, UK, Steven Varoumas University of Kent, Simon Thompson University of Kent, Reuben Rowe University College London
16:00
30m
Talk
OCaml-CI : A Zero-Configuration CI
OCaml
Thomas Leonard OCaml Labs, Craig Ferguson Tarides, Kate Deplaix OCaml Labs, Magnus Skjegstad Tarides and OCaml Labs, Anil Madhavapeddy OCaml Labs
16:30
30m
Talk
The final pieces of the OCaml documentation puzzle
OCaml
Jonathan Ludlam University of Cambridge, Gabriel Radanne Inria, Leo White Jane Street
17:00
30m
Talk
Parallelising your OCaml Code with Multicore OCaml
OCaml
Sadiq Jaffer Opsian and OCaml Labs, Sudha Parimala IIT Madras, KC Sivaramakrishnan IIT Madras, Tom Kelly OCaml Labs, Anil Madhavapeddy OCaml Labs
Pre-print