The final pieces of the OCaml documentation puzzle
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 AugDisplayed 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 60mKeynote | The OCaml Platform OCaml Anil Madhavapeddy OCaml Labs | ||
06:30 30mTalk | 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 30mTalk | The final pieces of the OCaml documentation puzzle OCaml | ||
07:30 30mTalk | 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 30mTalk | 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 30mTalk | 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 30mTalk | 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 30mTalk | The final pieces of the OCaml documentation puzzle OCaml | ||
17:00 30mTalk | 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 |