I Love OCaml
mccd.spaceEvery morning, I wake up and ask myself: why isn’t OCaml more popular? I mean, the language is not perfect, but the more I use it the more I feel like this old language had it all figured out, somehow. … Read more
Every morning, I wake up and ask myself: why isn’t OCaml more popular? I mean, the language is not perfect, but the more I use it the more I feel like this old language had it all figured out, somehow. … Read more
In this opinion piece, I will try to briefly share my encounter with the language and list its advantages — organized into several sections covering the language itself, its ecosystem, and its community. I will also attempt to debunk some … Read more
By Xah Lee. Date: 2016-08-01. Last updated: 2016-08-01. OCaml’s let … = … in … is very confusing. When nested, you can’t tell how it’s nested. let wafin fd ?pos ?len buf = let loc = “wafin” in let pos … Read more
This section continues the exposition of the ideas behind Rémy’s algorithm and presents sound_lazy: an optimized version of sound_eager from the previous section. The sound_lazy algorithm eschews repeated, unnecessary traversals of a type during unification, generalization and instantiation, and avoids … Read more
{{ message }} This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. You can’t perform that action at this time.
OCaml 5.0.0 introduces a completely new runtime environment with support for shared memory parallelism and effect handlers. As a language, OCaml 5 is fully compatible with OCaml 4 down to the performance characteristics of your programs. In other words, any … Read more
We have the pleasure of celebrating the birthdays of Jane Austen and Arthur C. Clarke by announcing the release of OCaml version 5.0.0. The highlight of this new major version of OCaml is the long-awaited runtime support for shared memory … Read more
The OCaml-Canvas library provides a portable Canvas framework for OCaml. It features an interface similar to HTML5 Canvas, and can render to native X11, MS Windows or macOS windows. It also features a small wrapper around HTML5 Canvas, allowing to … Read more
Programming languages matter. They affect the reliability, security, and efficiency of the code you write, as well as how easy it is to read, refactor, and extend. The languages you know can also change how you think, influencing the way … Read more
In a height-balanced binary tree, the following property holds for every node: The height of its left subtree and the height of its right subtree are almost equal, which means their difference is not greater than one. Write a function … Read more