~/talk

Building Darklang in F#

Talkat fsharpConf 2023 · on Monday, 2023-06-26· [functional-programming, software-architecture]
slides:none on file

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

  1. 0:00Introduction to Dark Lang
  2. 0:47Accidental cloud complexity
  3. 4:04Live coding demonstration
  4. 5:59Infrastructure as code
  5. 7:42Technical history of Dark
  6. 9:12Transitioning to F#
  7. 11:28F# pros and cons
  8. 13:45Ecosystem documentation
  9. 16:45Comparing F# and Rust
  10. 19:15Static binaries and async
  11. 21:06WebAssembly and runtime
  12. 23:34Compilation speed issues
  13. 25:13Future of Dark Lang
  14. 27:32Handling database upgrades
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.