[OCaML'23] Parallel Sequences in Multicore OCaml

[OCaML'23] Parallel Sequences in Multicore OCaml Andrew Tao I present my implementation of a parallel sequences abstraction that utilizes the support for shared memory parallelism in the new OCaml 5.0.0 multicore runtime. This abstraction allows clients to create highly parallelizable programs without needing to write, or even understand, the low-level implementation details necessary to parallelize large tasks.

01 Dec 2023

OCAML Workshop at ICFP 2023

View Video
[OCaML'23] Efficient OCaml compilation with Flambda 2

[OCaML'23] Efficient OCaml compilation with Flambda 2 Pierre Chambart, Vincent LAVIRON, Mark Shinwell Flambda 2 is an IR and optimisation pass for OCaml centred around inlining. We discuss the engineering constraints that shaped it and the overall structure that allows the compiler to be fast enough to handle very large industrial code bases.

01 Dec 2023

OCAML Workshop at ICFP 2023

View Video
[OCaML'23] Efficient OCaml compilation with Flambda 2

[OCaML'23] Efficient OCaml compilation with Flambda 2 Pierre Chambart, Vincent LAVIRON, Mark Shinwell Flambda 2 is an IR and optimisation pass for OCaml centred around inlining. We discuss the engineering constraints that shaped it and the overall structure that allows the compiler to be fast enough to handle very large industrial code bases.

01 Dec 2023

OCAML Workshop at ICFP 2023

View Video
[OCaML'23] State of the OCaml Platform 2023

[OCaML'23] State of the OCaml Platform 2023 Thibaut Mattio, Anil Madhavapeddy, Thomas Gazagnaire, David Allsopp This paper reflects on a decade of progress and developments within the OCaml Platform, from its inception in 2013 with the release of opam 1.0, to today where it stands as a robust toolchain for OCaml developers. We review the last three years in detail, emphasizing the advancements and innovations that have shaped the OCaml development landscape and highlighting key milestones such as the migration to Dune as the primary build system, and the development of a Language Server Protocol (LSP) server for OCaml. We also outline our plan for the coming years. The roadmap is informed by community feedback, discussions with Platform tool maintainers, and insights from industrial users of OCaml. The final version of this evolving roadmap, designed to shape the future of the OCaml developer experience, will be presented at the International Conference on Functional Programming (ICFP).

01 Dec 2023

OCAML Workshop at ICFP 2023

View Video
[OCaML'23] State of the OCaml Platform 2023

[OCaML'23] State of the OCaml Platform 2023 Thibaut Mattio, Anil Madhavapeddy, Thomas Gazagnaire, David Allsopp This paper reflects on a decade of progress and developments within the OCaml Platform, from its inception in 2013 with the release of opam 1.0, to today where it stands as a robust toolchain for OCaml developers. We review the last three years in detail, emphasizing the advancements and innovations that have shaped the OCaml development landscape and highlighting key milestones such as the migration to Dune as the primary build system, and the development of a Language Server Protocol (LSP) server for OCaml. We also outline our plan for the coming years. The roadmap is informed by community feedback, discussions with Platform tool maintainers, and insights from industrial users of OCaml. The final version of this evolving roadmap, designed to shape the future of the OCaml developer experience, will be presented at the International Conference on Functional Programming (ICFP).

01 Dec 2023

OCAML Workshop at ICFP 2023

View Video
[OCaML'23] Eio 1.0 – Effects-based IO for OCaml 5

[OCaML'23] Eio 1.0 – Effects-based IO for OCaml 5 Thomas Leonard, Patrick Ferris, Christiano Haesbaert, Lucas Pluvinage, Vesa Karvonen, Sudha Parimala, KC Sivaramakrishnan, Vincent Balat, Anil Madhavapeddy Eio provides an effects-based direct-style IO stack for OCaml 5. This talk introduces Eio’s main features, such as use of effects, multi-core support and lock-free data-structures, support for modular programming, interoperability with other concurrency libraries such as Lwt, Async and Domainslib, and interactive monitoring support enabled by the custom runtime events in OCaml 5.1. We will report on our experiences porting existing applications to Eio.

01 Dec 2023

OCAML Workshop at ICFP 2023

View Video
[OCaML'23] Eio 1.0 – Effects-based IO for OCaml 5

[OCaML'23] Eio 1.0 – Effects-based IO for OCaml 5 Thomas Leonard, Patrick Ferris, Christiano Haesbaert, Lucas Pluvinage, Vesa Karvonen, Sudha Parimala, KC Sivaramakrishnan, Vincent Balat, Anil Madhavapeddy Eio provides an effects-based direct-style IO stack for OCaml 5. This talk introduces Eio’s main features, such as use of effects, multi-core support and lock-free data-structures, support for modular programming, interoperability with other concurrency libraries such as Lwt, Async and Domainslib, and interactive monitoring support enabled by the custom runtime events in OCaml 5.1. We will report on our experiences porting existing applications to Eio.

01 Dec 2023

OCAML Workshop at ICFP 2023

View Video
Unix Module Considered Harmful

Recently I was working on a socket pool for a new scheduler for OCaml 5 (multicore baby!) and I ran into a strange issue. This new socket pool works by spinning up a series of lightweight processes to accept connections. Every one of those will wait for a client to

29 Nov 2023

Practical OCaml

Read Article