Chapter C0
Where F# comes from
A lineage of ideas, and a runtime to carry them.
F# did not appear from nothing. It is the latest stop on a line that runs from the λ-calculus through LISP and the ML family, and it lives on the .NET runtime — the same managed platform as C#. This chapter sets that context in two modules: the language lineage that shaped F#, and the runtime and the open-source turn that made it a mainstream, cross-platform language.
How to read this chapter
Two threads meet in F#. One is a lineage of language design — the typed, functional tradition that began as a mathematical model of computation and was refined over decades into a practical style. The other is a runtime — the .NET platform, which gave that style a fast, garbage-collected home and a large library to draw on.
Module C0.1 follows the first thread: λ-calculus → LISP → ML → OCaml → F#. Module C0.2 follows the second: the Common Language Runtime, the move from the .NET Framework to cross-platform .NET, and the open-source turn that opened F# to a wider community. Select a milestone below to see where each idea entered the line.
The lineage · select a milestone
Alonzo Church's formal model of computation by function abstraction and application — the root from which the functional tradition grows.
F# is a synthesis, not an invention from scratch: a decades-old functional tradition, placed on a modern managed runtime.
The modules
Two modules, three dives each. The first traces the language lineage; the second, the runtime and the community that carries F# today.
The ML lineage & typed functional programming
λ-calculus → LISP → ML → the typed, inferred branch that becomes F#.
- C0.1.1From λ-calculus to LISP
- C0.1.2The ML family — SML, OCaml & Hindley–Milner inference
- C0.1.3F#’s birth — Don Syme, MSR & OCaml-on-.NET
The .NET runtime & the open-source turn
Managed execution on the CLR, interop, and F# going open and cross-platform.
- C0.2.1The CLR — managed execution, the type system & interop
- C0.2.2.NET Framework → .NET Core → unified .NET
- C0.2.3The F# Software Foundation & the community
References
Sources
- Don Syme et al. — The Early History of F# — the HOPL account of F#'s design and its OCaml/ML roots.
- The F# Software Foundation — the language's home, history, and community.
- Microsoft — F# documentation — the language guide and reference.
- Microsoft — .NET documentation — the runtime, the CLR, and the platform history.
Related in this course
- F# In Depth — course home — the full C0–C5 map.
- Elixir F0.1 — the evolution of functional languages — the same lineage, told for the BEAM.
- Elixir F0.2 — the evolution of the runtime — the BEAM's story, a contrast to the CLR.