Hi folks!
Just wanted to share some of the work the Dune has been up to lately re: the Developer Preview we announced here – we’ll be using this thread to share more updates as things go.
As always, we hold our Dune Developer meetings in public and you’re more than welcome to subscribe to our public Calendar (Google, iCal)
Getting ready for the Public Beta
As we prepare for the public beta, we’re ramping up the DX interviews and ensuring the first few users will have a fun, productive experience with the developer preview.
If you signed up for the Dev Preview back in May, check your inbox for a link and instructions to schedule your DX interview with us.
Here’s a sample video (Mastodon or X) where you can see me building the Riot project on a machine that does not have OCaml installed. It is pretty neat!
Seriously, big shoutout to the Dune team at Tarides[0] and Jane Street[1] who have been doing a phenomenal job
So here’s what getting started with OCaml looks like today with the Dune Developer Preview as of today (August 19 2024):
- get
dune
from our binary distribution – we’ll soon make this public! - run
dune pkg lock
in your favorite project - run
dune build
That’s it. No need to install anything else, Dune will see that lock file, fetch, and build all necessary dependencies.
These are some strong step towards the OCaml Platform vision for 2026, that we are actively working towards. If you have any thoughts or feedback please let me know!
There are more improvements coming that will help remove friction to get started and creating a delightful experience. Both of these things we strongly believe will help onboard new users to the OCaml world.
Here’s a few in the works:
-
Various DX improvements – from new outputs to simplified workflows, we want to make using Dune just delightful.
-
Bundled support for dev tools (ocalmformat, odoc, lsp) – the default toolset will be available without any extra steps! just call
dune fmt
, and it works. No need to manually install anything else. -
Automatic dependency locking – when building, and even on watch mode, Dune will lock your dependencies by default and keep the lock up to date.
-
Cross-project Caching – by default we’ll enabled a local Dune cache that across the system, so you never rebuild the same dependency even across projects.
-
Signed binaries with certificates of origin – we care deeply about security and want to make sure that any binary we ship will be easily verified and tracked back to its sources.
Stay tuned!
PS: here’s a longer video (Mastodon, X) showing you the setup for OCaml from zero, creating a new project, and adding a dependency, all within ~5 minutes
[0] @emillon @Leonidas @gridbugs @tmattio @maiste . Ambre Suhamy, Alpha Diallo
[1] @rgrinberg