Building Darklang in F#
summary
Rewrite of Darklang starts in 2021 from OCaml to F#, choosing F# over a planned Rust port because of GC, multi-core .NET runtimes and mature vendor SDKs (Postgres driver and Google Cloud bindings). Core and web editor run in F# with ReScript front-end; port takes 20 months instead of six. Runtime is usable (roughly 2x slower than OCaml), binaries are ~40–60 MB, incremental CLI builds hit ~30 s, and the system supports instant production deploys and versioned DB types with roll‑forward/rollback migrations.
AI-written summary · about
chapters (14)
- 0:00Introduction to Dark Lang
- 0:47Accidental cloud complexity
- 4:04Live coding demonstration
- 5:59Infrastructure as code
- 7:42Technical history of Dark
- 9:12Transitioning to F#
- 11:28F# pros and cons
- 13:45Ecosystem documentation
- 16:45Comparing F# and Rust
- 19:15Static binaries and async
- 21:06WebAssembly and runtime
- 23:34Compilation speed issues
- 25:13Future of Dark Lang
- 27:32Handling database upgrades








