I’ve made a reference implementation (“mlfront-shell”) of a build system that is mostly working but has zero (0) performance work so far. Among the many existing build + package managers, the “mlfront-shell” tool sits closest to Nix. It works on Windows, can download binary assets, is language-neutral with an easy-to-parse JSON build file.
The reference implementation comes with a specification doc and a JSON schema. Since I’ll eventually be integrating the build system features into dk (my OCaml scripting tool), the docs live there. You’ll find a Quick Start guide and a Comparison table (the opam and dune comparisons are pertinent):
Huge thanks to the a la carte authors, and also to @hbr for fmlib_parse.
Aside: Wow, another Windows-friendly build system post at Porting my Toy OCaml Build System to Windows !
Links:
- JSON schema for JSON build files: Follow the Quick Start - Build Tool to see how to use it for auto-completion
- Specification: dk/docs/SPECIFICATION.md at 1.0 · diskuv/dk · GitHub
- OCaml version of the "Build systems à la carte" paper topic
- Source Code: DkML / Build Tools / MlFront · GitLab (in particular the MlFront_Exec and MlFront_Thunk subprojects)