Blog

The OCaml Planet

Articles and videos contributed by both experts, companies and passionate developers from the OCaml community. From in-depth technical articles, project highlights, community news, or insights into Open Source projects, the OCaml Planet RSS feed aggregator has something for everyone.

Want your Blog Posts or Videos to Show Here?

To contribute a blog post, or add your RSS feed, check out the Contributing Guide on GitHub.

Introducing the OCaml Local Mode | OCaml Unboxed

This video introduces how to make and use local parameters in OCaml. As demonstrated in the video, a local parameter to a function is not allowed to be stored or returned. Using local parameters can allow us to allocate less garbage-collected memory, as later videos will demonstrate. View instructions to get the compiler I use in this video: https://github.com/janestreet/opam-repository/tree/with-extensions

05 Jan 2024

Jane Street - OCaml Unboxed

View Video
Introducing the OCaml Local Mode | OCaml Unboxed

This video introduces how to make and use local parameters in OCaml. As demonstrated in the video, a local parameter to a function is not allowed to be stored or returned. Using local parameters can allow us to allocate less garbage-collected memory, as later videos will demonstrate. View instructions to get the compiler I use in this video: https://github.com/janestreet/opam-repository/tree/with-extensions

05 Jan 2024

Jane Street - OCaml Unboxed

View Video
Episode3-Youtube

Everything you need to know to install and use the DkML distribution of OCaml on Windows. Includes a 5-minute quick install for learners. Includes how to setup projects and configuring IDEs for software creators/engineers. At the time of this v...

08 Dec 2023

Watch OCaml

View Video
[OCaML'23] Modern DSL compiler architecture in OCaml our experience with Catala

[OCaML'23] Modern DSL compiler architecture in OCaml our experience with Catala Louis Gesbert, Denis Merigoux In this presentation, we intend to show a state-of-the-art DSL implementation in OCaml, with concrete examples and experience reports. In particular, we found that some advanced practices, while accepted among the hardcore OCaml developers (e.g. use of row type variables through object types), lacked visibility and documentation: some of them deserve to be better known. Our experience is based on the Catala compiler, a DSL for the implementation of algorithms defined in law.

01 Dec 2023

OCAML Workshop at ICFP 2023

View Video
[OCaML'23] Modern DSL compiler architecture in OCaml our experience with Catala

[OCaML'23] Modern DSL compiler architecture in OCaml our experience with Catala Louis Gesbert, Denis Merigoux In this presentation, we intend to show a state-of-the-art DSL implementation in OCaml, with concrete examples and experience reports. In particular, we found that some advanced practices, while accepted among the hardcore OCaml developers (e.g. use of row type variables through object types), lacked visibility and documentation: some of them deserve to be better known. Our experience is based on the Catala compiler, a DSL for the implementation of algorithms defined in law.

01 Dec 2023

OCAML Workshop at ICFP 2023

View Video
[OCaML'23] Runtime Detection of Data Races in OCaml with ThreadSanitizer

[OCaML'23] Runtime Detection of Data Races in OCaml with ThreadSanitizer Olivier Nicole, Fabrice Buoro The possibility to write truly parallel OCaml code brings forth new possibilities of bugs. Among those, data races (concurrent accesses to the same data) are hard to detect and dangerous, as they are non-deterministic, possibly silent, and can lead to highly unexpected results. ThreadSanitizer (TSan) is an open-source library and program instrumentation pass to reliably detect data races at runtime. TSan has been instrumental in finding thousands of data races across many programming languages. We will describe the core principles of data race detection in TSan, explain why it was challenging to apply it to OCaml, and the adaptations needed to the runtime system. We plan to demo how you can already use it in your own code, and explain the limitations to be aware of.

01 Dec 2023

OCAML Workshop at ICFP 2023

View Video
[OCaML'23] Runtime Detection of Data Races in OCaml with ThreadSanitizer

[OCaML'23] Runtime Detection of Data Races in OCaml with ThreadSanitizer Olivier Nicole, Fabrice Buoro The possibility to write truly parallel OCaml code brings forth new possibilities of bugs. Among those, data races (concurrent accesses to the same data) are hard to detect and dangerous, as they are non-deterministic, possibly silent, and can lead to highly unexpected results. ThreadSanitizer (TSan) is an open-source library and program instrumentation pass to reliably detect data races at runtime. TSan has been instrumental in finding thousands of data races across many programming languages. We will describe the core principles of data race detection in TSan, explain why it was challenging to apply it to OCaml, and the adaptations needed to the runtime system. We plan to demo how you can already use it in your own code, and explain the limitations to be aware of.

01 Dec 2023

OCAML Workshop at ICFP 2023

View Video
[OCaML'23] Buck2 for OCaml Users & Developers

[OCaML'23] Buck2 for OCaml Users & Developers Shayne Fletcher, Neil Mitchell Buck2 is an open-source large scale build system used by thousands of developers at Meta every day. Buck2 can be used to build OCaml with some useful advantages over alternatives (e.g. Dune or Bazel). In this talk we’ll discuss what those advantages are, why they arise, and how to use Buck2 for your OCaml development.

01 Dec 2023

OCAML Workshop at ICFP 2023

View Video
[OCaML'23] Buck2 for OCaml Users & Developers

[OCaML'23] Buck2 for OCaml Users & Developers Shayne Fletcher, Neil Mitchell Buck2 is an open-source large scale build system used by thousands of developers at Meta every day. Buck2 can be used to build OCaml with some useful advantages over alternatives (e.g. Dune or Bazel). In this talk we’ll discuss what those advantages are, why they arise, and how to use Buck2 for your OCaml development.

01 Dec 2023

OCAML Workshop at ICFP 2023

View Video
[OCaML'23] MetaOCaml Theory and Implementation

[OCaML'23] MetaOCaml Theory and Implementation Oleg Kiselyov Quasi-quotation (or, code templates) has long been used as a convenient tool for code generation, commonly implemented as a pre-processing/translation into code-generation combinators. The original MetaOCaml was also based on such translation, done post type checking. BER MetaOCaml employs a significantly different, efficient (especially in version N114) translation integrated with type-checking, in the least intrusive way. This paper presents the integrated efficient translation for the first time.

01 Dec 2023

OCAML Workshop at ICFP 2023

View Video