F# is a strongly typed functional language that runs on the .NET runtime. If you're working on OSX and want to explore functional programming — or even cross-platform game development — the combination of F# and Mono opens up some interesting possibilities.
Why F# on Mono?
Mono provides an open-source implementation of the .NET framework that runs on OSX, Linux, and Windows. Pairing F# with Mono means you can write functional code in a familiar .NET ecosystem without being tied to a single operating system. Initial research from the community indicated that cross-platform game development with F# and Mono was already being explored by several developers.
Getting Set Up
To get started, you'll need two main components:
- Mono runtime — available from the Mono Project website.
- MonoDevelop IDE — downloadable from the MonoDevelop download site, which includes F# language support for editing, building, and debugging.
Once both are installed, you can create a new F# project in MonoDevelop and begin experimenting with the language's functional constructs — pattern matching, discriminated unions, and immutable data structures.
What Makes F# Different
As a strongly typed functional language, F# encourages a declarative style where you describe what to compute rather than how to compute it. This leads to concise, expressive code that's well-suited for domains like data processing, simulation, and game logic.
Karl Katzke's Blog