[ANN] Windows-friendly OCaml 4.12 distribution 2nd preview release (0.2.0)

I am pleased to announce the second preview release of the Diskuv OCaml (“DKML”) distribution. Diskuv OCaml is an OCaml distribution focused on a) secure, cross-platform software development and b) ease of use for language learners and professional developers.

Thanks to everybody who tried out the first preview! The first preview was geared towards Windows users who want ease of use and need Microsoft compiled packages. The Microsoft compiler is critical for first-class Windows support: many popular C libraries like ‘libuv’ support the Microsoft compiler as Tier 1 but relegate the GCC compiler to an unsupported third-class citizen.

This second preview has the same Windows users in mind, with several new features and improvements. There are too many changes to list here, but some notable ones are:

  • (Critical security fix) The MSYS2 installer is now downloaded over HTTPS and its SHA256 checksum is validated.
  • Removed auto-installation of Cygwin and removed the 16GB auto-download of two Docker images. This cuts down the install time in half (except for some people; see sharp edges below), and should reduce the frequency of installation failures caused by limited or flaky networks.
  • Autodetection and use of existing Visual Studio instances on your machine if the installations are compatible with DKML.
  • Clarified that students are covered under free personal licenses in a prominent location in the main READMEs.
  • The ctypes, mirage-crypto and feather packages are available for testing in a highly unstable form. That means support may be deprecated in a future release, but today they all build + pass tests with the Microsoft compiler.

There are also some sharp edges in this preview. The major ones are:

  • On some machines (especially Docker containers or VMs) one of the installation commands can peg your CPU for up to 2 hours while making incredibly slow progress.
  • There are backwards incompatible changes. See the release notes linked below.

The Version 0.2.0 release notes has instructions for upgrading and also a detailed list of changes. Instructions for installing from scratch and updated documentation are still at the Diskuv OCaml documentation site.

What’s Next?
Barring some critical security updates, the next preview will focus on Linux and macOS parity, and the removal of the sharp edges. Will post another “[ANN]” and cross-link on Twitter when that preview is
ready.

In the meantime, I would appreciate feedback!

Thanks! Jonah
Twitter Follow

5 Likes

0.2.3 0.2.2 is now released.

Some of the bigger changes:

  • (Bug Fixes) Many problems with Visual Studio have been resolved, especially for non-English installations.
  • (Features) Pre-alpha support for macOS and Windows 32-bit, in addition to the existing Windows 64-bit support.
  • (Reliability) There is now an internal GitHub Actions CI system that builds Windows 32-bit, Windows 64-bit and macOS (x64). In the future GitHub Actions will be offered to anyone who needs to test their own 32-bit and 64-bit Windows packages.
  • (Reliability) The Windows MinGW Opam repository vended by fdopen is still used but has been drastically pruned. Now the thousands of MinGW and DKML (MSVC) patches are pinned, and those pinned package versions are tested with the GitHub Actions CI system.

The v0.2.3 release notes has upgrade instructions and a detailed list of changes.

5 Likes

0.2.5 is available. This release brings significant user friendly improvements.

There is a new binary called with-dkml.exe. Just plop with-dkml in front of a Windows command that requires access to Unix scripts (ie. with-dkml opam install) and it should just work.

There is now a section called Beyond Basics in the Diskuv OCaml user documentation that walks through:

  • the first and second tutorials of Getting Started - Learn OCaml
  • the bare Opam essentials you need as a beginner (how to find and select an Opam switch, and how to find and install packages using with-dkml opam install), all without leaving the Command Prompt
  • installing Visual Studio Code with the OCaml plugin

Huge thanks to @Butanium who lent me much of his time to validate usability from the perspective of a newcomer. More feedback is always welcome.

Links:

PS. You won’t need with-dkml most of the time. The Beyond Basics documentation shows how to run Dune and the OCaml native compiler directly from the Visual Studio Command Prompt.

6 Likes