Search OCaml packages
max) { row = max } }" @keyup.up="if (row !== null) { row -=1; if (row < 0) { row = null } }" @keyup.right="if (col < 1) col++" @keyup.left="if (col >= 1) col--" :aria-activedescendant="row !== null ? 'package-autocomplete-'+row+'-'+col : null" hx-get="/packages/autocomplete" hx-params="q" hx-trigger="keyup changed, search" hx-target="#header-search-results" hx-indicator="#header-search-indicator" autocomplete="off" >
Standard Library API
Learn
Packages
Community
Blog
Playground
Get Started
Search OCaml packages
Learn
Packages
Community
Blog
Playground
Standard Library API
Get started
OCaml Blog
The OCaml Planet
Merge Right
The so-called master-transaction update is one of the, if not the defining algorithms of the discipline formerly known as "data processing...
07 Aug 2012
A Helping Phantom Hand
You don't have to be writing an interpreter or some other kind of abstract code to profit from some phantom types. Suppose you have two or m...
02 Aug 2012
OCaml 4.00.0 released
26 Jul 2012
Theorems for Free: The Monad Edition
This is for the record, since the derivations took me a while and I'd rather not lose them. A functor is the signature: module type FU...
19 Jul 2012
An Odd Lemma
While proving that every monad is an applicative functor, I extracted the following derivation as a lemma: fmap f ∘ (λh. fmap h x) ≡ { ...
17 Jul 2012
A minor branch off Braun Trees
Revisiting the post on Braun Trees I noticed that, while pedagogical, the implementation of the root replacement operation rep can be stre...
12 Jul 2012
Existential Crisis
In a long discussion at LtU , user Jules Jacobs advances a use-case that for him would have been difficult to solve in a statically-typed l...
09 Jul 2012
Assessing Abstractions
Back to OCaml! Catching up with StackOverflow's OCaml questions , I found an interesting one about private type abbreviations in module si...
02 Jul 2012
Managing and Analyzing Big-Data in Genomics
Abstract Biology is an increasingly computational discipline. Rapid advances in experimental techniques, especially DNA sequencing, are generating data at exponentially increasing rates. Aside from...
29 Jun 2012
2D Interpolation, Part 5: Final Optimizations
The code has now the proper shape to carry out optimizations to their logical consequences, to the point that I question the wisdom in some...
29 Jun 2012
...
111
112
113
...
133
News
Platform Newsletter: September 2023
Monthly update from the OCaml Platform team.
26 Oct 2023
OCaml.org Newsletter: August & September 2023
Monthly update from the OCaml.org team.
19 Oct 2023
Platform Newsletter: August 2023
Monthly update from the OCaml Platform team.
22 Sep 2023
Platform Newsletter: July 2023
Monthly update from the OCaml Platform team.
21 Aug 2023
OCaml.org Newsletter: July 2023
Monthly update from the OCaml.org team.
11 Aug 2023
Platform Newsletter: June 2023
Monthly update from the OCaml Platform team.
18 Jul 2023
Contribute to OCaml.org: Here's How You Can Participate
Share Your Projects, Insights, and Opportunities on OCaml.org!
14 Jul 2023
OCaml.org Newsletter: June 2023
Monthly update from the OCaml.org team.
14 Jul 2023
OCaml.org Newsletter: May 2023
Monthly update from the OCaml.org team.
26 Jun 2023
OCaml Wins ACM SIGPLAN Programming Languages Software Award
Announcement of SIGPLAN award
20 Jun 2023
Platform Newsletter: May 2023
Monthly update from the OCaml Platform team.
19 Jun 2023
An Update on the Environmental Impact of the OCaml.org Cluster
For the 19 machines we monitor in the OCaml.org cluster we are seeing a figure in the ball park of 70kg of CO2e per week
30 May 2023
Platform Newsletter: April 2023
Monthly update from the OCaml Platform team.
19 May 2023
See all
If you want to contribute a blog post, or add your RSS feed, check out the
Contributing Guide
on GitHub.