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.
David Sancho Moreno's FUN OCaml 2024 talk recording! Overview by David: server-reason-react implements react-dom/server and some of React's internals in OCaml. Its purpose is to natively render HTML markup from the server for a Reason React application. This pushes the idea for universal code (sharing code between the browser and native) and this talk is the story of all of this, and what are the solutions we applied at Ahrefs. server-reason-react: https://github.com/ml-in-barcelona/server-reason-react Connect with us Website: https://fun-ocaml.com/ Twitter: https://x.com/FunOCaml Bluesky: https://bsky.app/profile/fun-ocaml.com
Paul-Elliot Anglès d'Auriac's FUN OCaml 2024 talk recording! Overview by Paul-Elliot: This talk is a gentle introduction to the documenting part of the OCaml ecosystem. We will see how to use `odoc` to build nice documentation for your `dune`-based project, from a bare repository to a documentation with both API pages and documentation pages. odoc: https://github.com/ocaml/odoc Connect with us Website: https://fun-ocaml.com/ Twitter: https://x.com/FunOCaml Bluesky: https://bsky.app/profile/fun-ocaml.com
Sudha's FUN OCaml 2024 talk recording! Overview by Sudha: In a first, OCaml 5.0 shipped with native support for parallelism and concurrency. This was a multi-year effort by the Multicore team and the OCaml development team that culminated in OCaml 5.0. The most challenging aspect was designing a multicore-capable garbage collector that remains backwards compatible in terms of features, performance, and latency. This is described in the paper 'Retrofitting Parallelism onto OCaml,' which appeared in ICFP 2020. In this talk, we will explore the ideas presented in the paper through doodle illustrations and zines. Connect with us Website: https://fun-ocaml.com/ Twitter: https://x.com/FunOCaml Bluesky: https://bsky.app/profile/fun-ocaml.com
Hannes Mehnert's FUN OCaml 2024 talk recording! Overview by Hannes: OCaml is a great systems programming language. We use it since more than a decade to develop MirageOS unikernels: run OCaml as a virtual machine, no Linux kernel involved. Since OCaml is statically typed (and type safe), and memory safe, we use a single address space, and avoided a lot of complexity of general purpose operating systems. Security-wise this is excellent: less attack surface, fewer attack vectors. Also less resource-heavy than contemporary OS. The result are tiny unikernels (e.g. a firewall with ~3MB as the full virtual machine image) that only contain the code really needed. I'll present what MirageOS is today and where it is used, its future, and our learnings so far. https://mirage.io Connect with us Website: https://fun-ocaml.com/ Twitter: https://x.com/FunOCaml Bluesky: https://bsky.app/profile/fun-ocaml.com
Dmitriy Kovalenko's FUN OCaml 2024 talk recording! Overview by Dmitriy: I am the author of dmtrKovalenko/odiff which claims to be and it is the fastest in the world (on my banchmarks lol) implementation of the pixel-by-pixel image comparison library which is written in OCaml (and a little bit of C). This is a story about standing the project. Why not to write it in C or Rust? How do we tune the garbage collector to avoid major collections at all? All this and much more like the hidden superpower of unboxed floats and some challenges about naked pointers and upgrading to OCaml v5 in my talk! odiff: https://github.com/dmtrKovalenko/odiff Connect with us Website: https://fun-ocaml.com/ Twitter: https://x.com/FunOCaml Bluesky: https://bsky.app/profile/fun-ocaml.com
Eduardo Rafael's FUN OCaml 2024 talk recording! Overview by Eduardo: Traditionally GADT's are used for lightweight tasks as the code complexity increases quite. I will be arguing that this is mostly a lack of common "design patterns" and maybe some tools. The talk will go through describing what you can fundamentally do with GADT's, how you should think about them and a general technique to mimic dependent types in OCaml, Hopefully by the end, a show case of a proposal for the Michelson interpreter. Connect with us Website: https://fun-ocaml.com/ Twitter: https://x.com/FunOCaml Bluesky: https://bsky.app/profile/fun-ocaml.com
Dillon Mulroy's FUN OCaml 2024 talk recording! Overview by Dillon: In my decade-long journey as a software engineer, the most transformative experience came from an unexpected source: learning and using OCaml. I will share how this functional programming language reshaped my approach to problem-solving, coding practices, and overall mindset about programming. Beyond the technical skills, OCaml connected me with incredibly bright, kind, and talented mentors and peers who have become lifelong friends. This journey also paved the way for my success on Twitch, allowing me to share my passion and knowledge with a broader audience. Join me as I explore the personal and professional growth that OCaml facilitated and celebrate the community that made it possible. Connect with us Website: https://fun-ocaml.com/ Twitter: https://x.com/FunOCaml Bluesky: https://bsky.app/profile/fun-ocaml.com
Lukasz Stafiniak's FUN OCaml 2024 talk recording! Overview by Lukasz: Using OCANNL, we will build a toy feed forward network, we will train it, visualize its outputs. We will take a peek at the actual computation generated at various levels of abstraction: tensor node assignments, optimized C-language-like programs, translations to actual C (for CPUs, or CUDA but it is still work-in-progress). Lastly, we will parallelize training across multiple devices. Connect with us Website: https://fun-ocaml.com/ Twitter: https://x.com/FunOCaml Bluesky: https://bsky.app/profile/fun-ocaml.com
Michael Dales's FUN OCaml 2024 talk recording! Overview by Michael: Each year the demo community run Tiny Code Xmas - using fantasy consoles like TIC-80 and PICO-8 to teach people to do retro graphics effects and size coding. But I didn't want to learn size coding, I wanted to learn OCaml! So for my first OCaml project I built a small fantasy console engine using OCaml, and implemented both Tiny Code Xmas and most of Genuary (generate art January) in it. In this talk I'll show why demo coding suits functional programming, look at how I built my first OCaml library, and show some examples of generative art using it. Tiny Code Xmas: https://tcc.lovebyte.party/ Connect with us Website: https://fun-ocaml.com/ Twitter: https://x.com/FunOCaml Bluesky: https://bsky.app/profile/fun-ocaml.com
Rizo Isrof's FunOCaml 2024 talk recording! Overview by Rizo: Signals and fine-grained reactivity are two popular concepts in the JavaScript world, thanks to their simplicity, ergonomics and excellent performance. What are signals? What is their type? How can we use them in OCaml? Let's build a reactive UI library from scratch to find out! From simple callbacks, layers are added to support batching, resource cleanup and `let` syntax for composing effects. DOM interactions are implemented to allow predictable, minimal and efficient UI updates. Finally, helix is revealed, a library based on the presented reactivity principles. I review some examples and discuss how helix is used to implement real-world applications at Hyper and Tarides. Find speaker: https://github.com/rizo, https://x.com/rizo_isrof Connect with us Website: https://fun-ocaml.com/ Twitter: https://x.com/FunOCaml Bluesky: https://bsky.app/profile/fun-ocaml.com