The First Wasm_of_ocaml Release is Out!
Discover what's new with the release of Js_of_ocaml 6.0.1 – including Wasm support!

Senior Software Engineer

Communications Officer
Subscribe to our mailing list to receive the latest news from Tarides.
By signing up, you agree to receive emails from Tarides. You can unsubscribe at any time.
The First Wasm_of_ocaml Release is Out!
Discover what's new with the release of Js_of_ocaml 6.0.1 – including Wasm support!
Senior Software Engineer
Communications Officer
MirageOS on OCaml 5!
Discover the ongoing work to make MirageOS compatible with OCaml 5 including the Solo5, Unikraft, and improved cross-compilation efforts.
Communications Officer
Tarides: 2024 in Review
In 2024, Tarides focused on making OCaml easier to adopt with better tools, expanded Windows support, and key ecosystem integrations like multicore and WebAssembly. Discover the highlights, including the first stable multicore release and the success of FUN OCaml.
Using clang-cl
With OCaml 5
Antonin shares his findings from building OCaml 5 with Clang-cl during the MSVC port restoration project, part of the effort to improve OCaml on Windows!
Senior Software Engineer
OCaml 5.3: Features and Fixes!
OCaml 5.3 is released! This post gives you an overview of returning features, optimisations, and fixes as well as a taste for what's to come.
Communications Officer
Multicore Property-Based Tests for OCaml 5: Challenges and Lessons Learned
We summarise the challenges and lessons learned in developing a test suite of property-based tests to help ensure the correctness of OCaml 5.
Principal Software Engineer
Learn OCaml the Easy Way - Including the Hard Bits
Discover some of the best resources for learning OCaml, including tutorials, books, and events. Are you a larger group? Learn more about our OCaml courses too!
Communications Officer
Saturn 1.0: Data structures for OCaml Multicore
Announcing the 1.0 release of Saturn, a library of efficient, tested, concurrent data structures ready to use with OCaml 5.
Communications Officer
Irmin on MirageOS: Under-the-Hood With Notafs
Features of the Notafs filesystem for MirageOS which, designed to be used on satellites with SpaceOS, lets users use Irmin as a filesystem for MirageOS.
Principal Software Engineer
Irmin on MirageOS: Introducing the Notafs File System
Announcing a new filesystem for MirageOS projects, designed to be used on satellites with SpaceOS, that also lets developers use Irmin with MirageOS!
Principal Software Engineer
Advanced Code Navigation in OCaml-LSP
Tweaking the Language Server Protocol to perform code navigation in unintended but useful ways for OCaml.
Software Engineer
The New Conference on the Block: What is FUN OCaml?
All the details from the new FUN OCaml conference held in Berlin in 2024, which hosted multiple talks, workshops, and social activities.
Communications Officer
Making OCaml Mainstream: Support Our Open Source Work on GitHub
Tarides contributes to the OCaml community by performing maintenance, hosting community events, and introducing new features to the language. You can now support this work by sponsoring it on GitHub.
Communications Officer
Making Crypto Safer: Introducing the ARGOS Project
We are partnering up to create a custom platform for evaluating, tracing, and detecting suspicious blockchain transactions.
Communications Officer
Looking Back on our Experience at ICFP!
Some of Tarides' engineers share their memories and impressions from the biggest functional programming event of the year.
Communications Officer
Dune Developer Preview: Installing The OCaml Compiler With Dune Package Management
Dune's Package Management system now supports direct installation of OCaml compilers, eliminating the need for external tools. This update improves efficiency, as compilers can be shared across projects, reducing build times. The enhancement makes Dune Package Management more robust and ready for broader use.
Technical Writer
Dune Package Management: Revolutionising OCaml Development
At Tarides, we’ve been working on an initiative to improve the OCaml development experience: Dune Package Management. As outlined in the Platform Roadmap, which was created through community collaboration, the aim is to unify all OCaml development workflows under a single, streamlined tool. At Tar…
Technical Writer
Introducing the Dune Developer Preview: A New Era for OCaml Development
The Dune team is excited to announce the arrival of Dune Developer Preview, an experimental nightly release of Dune created to test improvements, including the new package management feature. This is a major milestone for OCaml development! We've been working hard improving Dune, and we're excited t…
Technical Writer
Unlock your Team’s Potential with Expert Training in OCaml, Cybersecurity Fundamentals, Functional Programming, and More
Training your teams has proven benefits, enhancing the efficiency and quality of work, and equipping members with the skills they need to tackle new challenges. Specialist training empowers them to use new techniques, leverage advanced technologies, and solve more complex problems. At Tarides, we ar…
Head Consulting Services
Introducing Dune: The Essential Build System for OCaml Developers
One of the first tools you'll encounter when adopting OCaml is Dune, OCaml's official build system. Understanding what Dune is and how it serves you is key to crafting everything from a small project to maintaining large-scale codebases. So let's dive in! Learn how Dune makes development easier and …
Technical Writer
Summer of Internships: Projects From the OCaml Compiler Team
We have had the pleasure of hosting several interns in the compiler team this past year. Their projects have tackled varied and challenging tasks touching on different aspects of compiler development, ranging from modularising the observability tool Olly to creating eBPF-based kernel-side performanc…
Communications Officer
Eio From a User's Perspective: An Interview With Simon Grondin
Are you curious about Eio but not sure what to expect? Eio is an effects-based direct-style concurrency library for OCaml 5. I recently spoke with Simon Grondin from Asemio about his personal experience using the I/O library Eio. He was kind enough to share the good and the bad and give me insight i…
Communications Officer
Introducing the odoc
Cheatsheet: Your Handy Guide to OCaml Documentation
For developers diving into the OCaml ecosystem, one of the essential tools you'll encounter is odoc. Whether you're a seasoned OCaml programmer or just starting out, understanding how to generate and navigate documentation efficiently is crucial. This is where odoc comes in, OCaml's official documen…
Technical Writer
Feature Parity Series: Compaction is Back!
Compaction is a feature that rearranges OCaml values in memory to free up space, which can then be returned to the operating system. In the OCaml 5.2 release, the technique returns to the OCaml Garbage Collector for the first time since its removal in the 5.0 multicore update. This is part one of ou…
Easy Debugging for OCaml With LLDB
If you’re just getting started with OCaml, you may be wondering how to effectively debug your code when things go wrong. Fortunately, OCaml's ecosystem has evolved, offering modern tools that make debugging a more approachable task. Tarides engineer Tim McGilchrist recently wrote a blog post that …
Technical Writer
Getting Specific: Announcing the Gospel and Ortac Projects
Part of the benefit of open-source development is the opportunity to collaborate on projects across traditional organisational boundaries, such as academia and industry. Tarides is part of a larger effort to develop a behavioural specification language and associated tooling for OCaml. The project c…
Senior Software Engineer
Communications Officer
The Biggest Functional Programming Conference of the Year: What are we Bringing to ICFP?
Feeling fashionable? Milan is calling! ICFP 2024 will be held in the Italian fashion capital from 2-7 September, and there is something there for everyone to enjoy. The ACM SIGPLAN International Conference on Functional Programming is a yearly highlight with various keynotes, tutorials, and tracks t…
Communications Officer
Project-Wide Occurrences: A New Navigation Feature for OCaml 5.2 Users
With the release of merlin-lib 5.1-502 and associated ocaml-lsp-server, we brought a new, exciting feature to OCaml's editor tooling: project-wide occurrences. The traditional "occurrences" query in Merlin modes, named "Find All References" in LSP-based mode, was used to only return results in the a…
Principal Software Engineer
How TSan Makes OCaml Better: Data Races Caught and Fixed
Parallel programming opens up brand-new possibilities. Using multiple cores means that users can benefit from powerful OCaml features (like formal proofs and high security) while enjoying greater performance, enabling them to improve their services or projects. However, introducing such a significan…
Senior Software Engineer
Senior Software Engineer
Communications Officer
Monoculture of Insecurity: How CrowdStrike's Outage Exposes the Risks of Unchecked Complexity in Cybersecurity
A seismic event in the IT world, everyone is talking about the CrowdStrike update that caused global chaos earlier this month. There are many great articles and blog posts dissecting the event and suggesting ways to avoid a repeat. Rather than join our voice to the chorus and explain how a small cha…
Head Consulting Services
Communications Officer
Creating the SyntaxDocumentation Command - Part 3: VSCode Platform Extension
In the final installment of our series on the SyntaxDocumentation command, we delve into its integration within the OCaml VSCode Platform extension. Building on our previous discussions about Merlin and OCaml LSP, this article explores how to make SyntaxDocumentation an opt-in feature in the popular…
Software Engineer
OCaml Compiler Manual HTML Generation
In order to avoid long, confusing URLs on the OCaml Manual pages, we set out to create a solution that shortens these URLs, including section references, and contains the specific version. The result improves readability and user experience. This article outlines the motivation behind these changes …
Senior Software Engineer
Deep Dive: Optimising Multicore OCaml for Windows
We love hosting internships. It is rewarding to potentially facilitate someone’s first foray into the OCaml ecosystem, helping them establish a hopefully life-long foothold in the world of open-source programming. It is also a great opportunity to get new perspectives on existing issues. Fresh eye…
Communications Officer
Introducing Olly: Providing Observability Tools for OCaml 5
It might be tempting to think that we can write code that works perfectly the first time around, but in reality optimisation and troubleshooting forms a big part of programming. However, there are more and less productive (and frustrating!) ways of problem solving. Having the right tools to guide yo…
Communications Officer
Enhancing the OCaml.org Community Page: Boosting UX and UI Based on User Research
In March, the OCaml.org team at Tarides embarked on a mission to enhance the OCaml.org community pages. After engaging with the OCaml community, we identified several areas for improvement. Our goal was to boost the community's usability and visibility, ensuring it supported a wider audience and pro…
UX/UI Designer
Keeping Up With the Compiler: How we Help Maintain the OCaml Language
Not all of our projects have a definite end: a grand culmination of effort and time where we pop champagne and set off fireworks (which is, of course, how we celebrate most of the time). Indeed, providing ongoing support for the OCaml ecosystem is one of our biggest priorities, and it means that we …
Communications Officer
Creating the SyntaxDocumentation Command - Part 2: OCaml LSP
In the first part of this series, Creating the SyntaxDocumentation Command - Part 1: Merlin, we explored how to create a new command in Merlin, particularly the SyntaxDocumentation command. In this continuation, we will be looking at the amazing OCaml LSP project and how we have integrated our Synta…
Software Engineer
Secure From the Ground Up: Introducing the FIDES Project Combining RISC-V and MirageOS
We entrust some of our most sensitive information to an invisible stream of information flowing back and forth across the globe. Cybersecurity concerns everyone, and Tarides is developing secure, lasting, and high-performing solutions for a diverse set of users. This post introduces you to cutting-e…
Communications Officer
Effective ML Through Merlin's Destruct Command
The Merlin server and OCaml LSP server, two closely related OCaml language servers, enhance productivity with features like autocompletion and type inference. Their lesser known, yet highly useful destruct command simplifies the use of pattern matching by generating exhaustive match statements, as w…
Senior Software Engineer
Launching the First-Class Windows Project
We want to make learning and using OCaml easier for more people. Realising this goal involves expanding OCaml support to where the users are and making their experience smooth and hassle-free. It is generally accepted that the current state of OCaml on Windows is not comparable to other popular plat…
Senior Software Engineer
Communications Officer
The OCaml 5.2 Release: Features and Fixes!
There has been a new release of OCaml! The 5.2 release brings several new features, along with improvements, optimisations, and bug fixes. New features include compaction, ThreadSanitizer, and restored support for compiling to the POWER architeture on OCaml, plus other crucial changes that prepare t…
Communications Officer
How to Setup OCaml on Windows with WSL
The stable opam 2.2 and a fully Windows compatible ecosystem of OCaml libraries and tools are getting closer every month. That's extremely exciting! With opam 2.2, Windows users will be able to use OCaml directly and natively without extra set-up or workarounds. Everyone is excited about this future…
Software Engineer
We Host Our First OCaml Retreat in India!
Hacking retreats are great ways for programmers to connect, explore new ideas, and learn from each other. One of the most popular OCaml retreats is the much-loved Mirage retreat, organised annually in Morocco. But for us OCaml enthusiasts located elsewhere, the journey can be challenging (not to men…
Senior Software Engineer
Communications Officer
Under the Hood: Developing Multicore Property-Based Tests for OCaml 5
In 2022, Multicore OCaml became reality. Programming on multiple threads brings new possibilities, but also new complexities. In order to foster confidence in OCaml 5 and retain OCaml's reputation as a trustworthy and memory-safe platform, Tarides has developed multicoretests: Two property-based tes…
Principal Software Engineer
Creating the SyntaxDocumentation Command - Part 1: Merlin
OCaml development has never been more enchanting, thanks to Merlin – the wizard of the editor realm. The magic of Merlin is something that makes programming in OCaml a very nice experience. By Merlin, I don't mean the old gray-haired, staff-bearing magic guy. I'm talking about the editor service t…
Software Engineer
Multicore Testing Tools: DSCheck Pt 2
Welcome to part two! If you haven't already, check out part one, where we introduce DSCheck and share one of its uses in a naive counter implementation. This post will give you a behind-the-scenes look at how DSCheck works its magic, including the theory behind it and how to write a test for our nai…
Senior Software Engineer
Communications Officer
Updates to OCaml.org's Learn Section: Enhancing UI and UX
Over the past year, the OCaml.org team has been hard at work addressing user feedback to make the OCaml.org Learn section more accessible and organised in order to facilitate learning OCaml and enriching the overall OCaml experience. In 2023, I joined the OCaml.org team as a UX /UI Designer. One of …
UX/UI Designer
NetHSM: Bringing Open Source to the World of Hardware Security Modules
Nitrokey is one of the world’s foremost open-source hardware security companies. They develop IT security hardware for data encryption, decryption, and signing, including key and user authentication. After eight years of development, they recently released the first fully open-source Hardware Secu…
Communications Officer
Principal Software Engineer
Eio 1.0 Release: Introducing a new Effects-Based I/O Library for OCaml
The OCaml 5 update brought much-anticipated support for programming on multiple cores. It also introduced support for concurrency via effect handlers – one of the first mainstream languages to do so. This significant update has had profound performance and UX implications, propelling OCaml into ne…
Communications Officer
Principal Software Engineer
Advisor