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
Times are displayed in time zone: Eastern Time (US & Canada) change

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

Infrastructure, tooling, and ecosystem in general.

05:30 - 06:30
Keynote
OCaml
06:30 - 07:00
Talk
OCaml
Thomas LeonardOCaml Labs, Craig FergusonTarides, Kate DeplaixOCaml Labs, Magnus SkjegstadTarides and OCaml Labs, Anil MadhavapeddyOCaml Labs
07:00 - 07:30
Talk
OCaml
Jonathan LudlamUniversity of Cambridge, Gabriel RadanneInria, Leo WhiteJane Street
07:30 - 08:00
Talk
OCaml
Joseph HarrisonUniversity of Kent, UK, Steven VaroumasUniversity of Kent, Simon ThompsonUniversity of Kent, Reuben RoweUniversity College London
08:00 - 08:30
Talk
OCaml
Sadiq JafferOpsian and OCaml Labs, Sudha ParimalaIIT Madras, KC SivaramakrishnanIIT Madras, Tom KellyOCaml Labs, Anil MadhavapeddyOCaml Labs
Pre-print
15:30 - 17:30: RecitationOCaml at OCaml
Chair(s): Chris CasinghinoDraper Laboratory

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

15:30 - 16:00
Talk
OCaml
Joseph HarrisonUniversity of Kent, UK, Steven VaroumasUniversity of Kent, Simon ThompsonUniversity of Kent, Reuben RoweUniversity College London
16:00 - 16:30
Talk
OCaml
Thomas LeonardOCaml Labs, Craig FergusonTarides, Kate DeplaixOCaml Labs, Magnus SkjegstadTarides and OCaml Labs, Anil MadhavapeddyOCaml Labs
16:30 - 17:00
Talk
OCaml
Jonathan LudlamUniversity of Cambridge, Gabriel RadanneInria, Leo WhiteJane Street
17:00 - 17:30
Talk
OCaml
Sadiq JafferOpsian and OCaml Labs, Sudha ParimalaIIT Madras, KC SivaramakrishnanIIT Madras, Tom KellyOCaml Labs, Anil MadhavapeddyOCaml Labs
Pre-print