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.
Charlie Marsh is the founder of Astral, which develops uv, a next-generation Python package manager written in Rust. In this talk, Charlie details the unique challenges of the Python packaging ecosystem and how he made uv so fast: allocators, concurrency, zero-copy tricks, and more. You can find the transcript for this video and other Tech Talks here: https://www.janestreet.com/tech-talks/index.html
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/
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








