OCaml 5 at Open Source India 2022

by Shakthi Kannan on Nov 16th, 2022

Open Source India 2022

With OCaml 5 just around the corner, it's been a really exciting year to attend conferences all over the world. Just recently, I presented some highlights of the OCaml 5 update, building on KC Sivaramakrishnan's great keynote address at the 19th annual Open Source India 2022 conference. Since Tarides was invited to participate, I gave a talk on OCaml 5: Language, Platform, and Ecosystem by starting with OCaml's history and ending with a Multicore OCaml matrix implementation running on 120 cores!

Open Source India was held on the 29-30th September 2022 as a physical event at the NIMHANS Convention Centre, Bengaluru, India. It was organised by the Open Source For You magazine team in India, with the help of community and industry participation. The conference ran along multiple parallel "tracks" - FOSS for Everyone, Developers, CXO Summit, DevOps, AI & ML, Data Management, and IT Infrastructure. My talk was part of the Developers track on the second day.

Day I

The conference had many exhibits, and I interacted with a number of participants at the booths. MOSIP is an open source platform for national foundational identities. Some Governments implement a digital identity system for its citizens, and MOSIP provides a robust, scalable, open source platform for governance. While they currently use PostgreSQL as their database backend, it would be useful to re-model their backend to use Irmin as the data store for security reasons.

Another Business-to-Consumer (B2C), open-source software application was Chatwoot, a customer engagement and support platform that also uses PostgreSQL. It would be an interesting data modeling or solution architect project to implement Irmin support for their chat application. The Compossible Umwelten company are working on wearable computing using ARM processors, and they were interested in exploring using OCaml, instead of C, for their customer products.

Post-lunch, I attended a talk on Open Source at AWS by Suman Debnath, Principal Developer Advocate, Data Engineering and Analytics at Amazon Web Services. We had the opportunity to discuss the possibility of providing the OCaml Platform and Products available through Amazon directly to end users.

In the afternoon, I took the time to attend the AI & ML track. The Adopting MLSecOps talk was presented by Dibya Prakash, CTO and Principal Consultant at Neural Hub, and he introduced me to MLSecOps and best practices in the industry. This was followed by a talk on Time Series Analysis: Anticipating Future with Darts by Binitha MT and Subhankar Adak from Dell. It was an interesting first day at the conference with useful discussions on technology and real world experiences.

Day II

In the morning, I spent some time at the speaker's lounge reviewing the slides for OCaml 5, as well as setting up the demo for the Multicore OCaml code examples. I also had the chance to meet my colleague, Puneeth Chaganti, who works remotely from Bengaluru.

Puneeth and Shakthi

That afternoon, I gave my talk on OCaml 5: Language, Platform, and Ecosystem. After reviewing OCaml's history, I discussed the recent Multicore OCaml merge, then delved into the syntax of the OCaml 5 language: basic types, operations, control structures, data structures, user types, functions, recursion, and I/O. Following this, I showed examples of domainslib and Eio before demonstrating the impressive Multicore OCaml matrix implementation running on 120 cores!

Additionally, I presented the various platform tools available in the OCaml community, including the OCaml package manager (opam), the Dune build system, odoc, OCaml-LSP, Merlin, and MDX. I also introduced the following ecosystem projects: Sandmark benchmarking suite, Tezos blockchain, Irmin database, MirageOS library operating system, Dream web framework, and OCaml Scientific Computing project. I finished my talk with some useful references for OCaml. To my delight, the participants were curious to learn more!

The conference gave me a great opportunity to reach out to developers and make them aware of the current state of OCaml. It was good to share the platform and ecosystem projects with them so that they can get started with their contributions. I look forward to participating in more conferences and promoting the use of OCaml!