jonnifyfsharp

Module C0.2

The .NET runtime & the open-source turn

A language is half ideas, half platform. This is F#'s platform.

F#'s first inheritance is its lineage — the ML family of typed, functional languages. Its second is its platform. F# targets .NET: the same managed runtime, the same type system, and the same libraries as C#. That choice gave F# garbage collection, a JIT compiler, and a vast base class library on day one — and it tied F#'s fortunes to the platform's own. This module follows .NET from a Windows-only framework to one cross-platform runtime, and follows F# from a Microsoft Research project to an open, community-stewarded language.

What the runtime gives F#

A functional language needs a home: somewhere to allocate values, reclaim them, and call into a library of useful code. F# did not build that home. It moved into one already standing — the Common Language Runtime, the managed virtual machine that also runs C# and Visual Basic. Three things came with the address.

Managed memory. The runtime allocates on a garbage-collected heap and reclaims unreachable values. F#'s immutable values and short-lived intermediate results lean on that collector rather than on manual memory management. A shared type system. An F# record is a .NET object; an F# function value is a .NET delegate-like object. The Common Type System is one vocabulary across every .NET language, which is why F# can call a C# library directly. Interop. The whole base class library — collections, IO, networking, dates, JSON — is available to F# unchanged, because it is the platform's library, not C#'s.

Select a column below to see what each one carries.

What .NET gives F# · select a pillar

memory garbage-collected heap types one Common Type System interop the whole library, shared runtime type system library
Managed memory

The CLR allocates F# values on a garbage-collected heap and reclaims the unreachable ones. Immutable values and short-lived intermediates rely on the collector, not on manual frees.

the heap Detailed in C0.2.1 · the CLR

F# brought the ideas; .NET supplied the floor under them — memory, a type system, and a library too large to rewrite.

The three dives

One module, three dives. The first looks at the runtime itself — how F# source becomes running code. The second traces the platform's evolution from a Windows-only framework to one cross-platform .NET. The third covers the open-source turn: the F# Software Foundation and the community that stewards the language alongside Microsoft.

live chapter front door built lesson ready soon specified

Read them in order: the machine that runs the code, the platform's path to cross-platform, then the people who keep the language open.

References

Sources

Related in this course