Blog
The OCaml Planet RSS
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.
LIVE ON TWITCH: https://twitch.tv/ThePrimeagen Become a backend engineer. Its my favorite site https://boot.dev/?promo=PRIMEYT This is also the best way to support me is to support yourself becoming a better backend engineer. Get in on Discord: https://discord.gg/ThePrimeagen Get in on Twitter: https://twitter.com/ThePrimeagen ### Got Something For Me to Read or Watch??: https://www.reddit.com/r/ThePrimeagenReact/
Description: OCaml supports a subtyping relation, where the type system recognizes that all values of one type are also values of another. It allows coercions from one type to another using the coercion operator. This video demonstrates how it works. (Note: This video doesn’t include anything specific to Jane Street!) Code written in this video: https://github.com/goldfirere/janestreet-videos/blob/b6aaa2ea731af13dcbd1c5a50a621574f79dd37e/variance/variance.ml
LIVE ON TWITCH: https://twitch.tv/ThePrimeagen Become a backend engineer. Its my favorite site https://boot.dev/?promo=PRIMEYT This is also the best way to support me is to support yourself becoming a better backend engineer. Get in on Discord: https://discord.gg/ThePrimeagen Get in on Twitter: https://twitter.com/ThePrimeagen ### Got Something For Me to Read or Watch??: https://www.reddit.com/r/ThePrimeagenReact/
LIVE ON TWITCH: https://twitch.tv/ThePrimeagen Become a backend engineer. Its my favorite site https://boot.dev/?promo=PRIMEYT This is also the best way to support me is to support yourself becoming a better backend engineer. Get in on Discord: https://discord.gg/ThePrimeagen Get in on Twitter: https://twitter.com/ThePrimeagen ### Got Something For Me to Read or Watch??: https://www.reddit.com/r/ThePrimeagenReact/
LIVE ON TWITCH: https://twitch.tv/ThePrimeagen Become a backend engineer. Its my favorite site https://boot.dev/?promo=PRIMEYT This is also the best way to support me is to support yourself becoming a better backend engineer. Get in on Discord: https://discord.gg/ThePrimeagen Get in on Twitter: https://twitter.com/ThePrimeagen ### Got Something For Me to Read or Watch??: https://www.reddit.com/r/ThePrimeagenReact/
The OCaml community participated in the May 2024 round of [Outreachy](https://www.outreachy.org/) internships. Three interns worked on a range of projects including tools to diff OCaml APIs, more accessible diffing tools and running OCaml exercise...
A well-designed interface offers lots of expressiveness with minimal implementation. OCaml programmers thus often implement just a few functions in an interface (module type), then use a functor to define the rest based on these definitions. This idiom, though useful, can be awkward, requiring a little repetition. To make this easier, Jane Street designed the "include functor" syntax. This video shows how it works and why you might want to use it. View instructions to get the compiler I use in this video: https://github.com/janestreet/opam-repository/tree/with-extensions Reference documentation for the "include functor" feature: https://github.com/ocaml-flambda/flambda-backend/blob/main/ocaml/jane/doc/extensions/include-functor.md Code written in this video: https://github.com/goldfirere/janestreet-videos/blob/main/include-functor/include_functor.ml Proposal to include "include functor" in mainstream OCaml: https://github.com/ocaml/RFCs/pull/43
This OCaml Unboxed episode demonstrates some of the twists and turns you might encounter while programming with locals and introduces the *global modality*. Watching this video might help you learn what to look for when programming with locals! View instructions to get the compiler I use in this video: https://github.com/janestreet/opam-repository/tree/with-extensions Full documentation of locals: https://github.com/ocaml-flambda/flambda-backend/blob/main/ocaml/jane/doc/extensions/local/intro.md
This OCaml Unboxed episode describes regions and the hidden regional mode in OCaml's local types, as developed by Jane Street. It turns out that local parameters aren't really local: they're regional! This explains how some impossible-looking programs actually work. View instructions to get the compiler I use in this video: https://github.com/janestreet/opam-repository/tree/with-extensions Full documentation of locals: https://github.com/ocaml-flambda/flambda-backend/blob/main/ocaml/jane/doc/extensions/local/intro.md
This OCaml Unboxed episode demonstrates how partial application and currying can cause trouble when mixed with locals. It turns out that putting "local_" in your function type may do more than you bargained for! Code used in this video: https://github.com/goldfirere/janestreet-videos/blob/main/locals/08-function-types/local.ml View instructions to get the compiler I use in this video: https://github.com/janestreet/opam-repository/tree/with-extensions Full documentation of locals: https://github.com/ocaml-flambda/flambda-backend/blob/main/ocaml/jane/doc/extensions/local/intro.md








