Skip to main content

Logo for BOB BOB 2020

28th February 2020

Berlin, Germany

Part of the BOB series

Einführung in F# (Tim Digel)

F# (F Sharp) ist eine von Microsoft entwickelte funktionale Programmiersprache im .NET-Universum. Die Syntax erinnert sehr stark an OCaml.

In diesem Tutorial starten wir bei Null und sehen uns nach vielen einführenden Anweisungen zusammengesetzte Datentypen (Records, Listen, etc.), Typisierung, Namensräume, Einrückung, Tests und Abhängigkeiten an.

Es wird kein Vorwissen vorausgesetzt. Grundideen funktionaler Programmierung sind hilfreich, aber nicht zwingend erforderlich.

Vorbereitung

Um möglichst praxisnah zu arbeiten werden wir einiges in Visual Studio unter Windows betrachten. Um plattformunabhängig allen Interessierten die Möglichkeit zu geben, mit zu programmieren, verwenden wir zu Beginn Visual Studio Code. Weiter benötigen wir die Dotnet-SDK (siehe z. B. für Ubuntu). Alternativ lässt sich das komplette Setup unter Linux non-invasiv mit Hilfe von Nix mit diesen Schritten herstellen:

# Install Nix Package Manager, see https://nixos.org/nix/download.html
# Nix is available for Linux &  MacOS
# Create a playground
 mkdir -p ~/fsharp-tutorial && cd ~/fsharp-tutorial
# This will download some nix packages and starts a sub shell
# Unfortunately dotnet-sdk isn't available for MacOS
NIXPKGS_ALLOW_UNFREE=1 nix-shell -p dotnet-sdk -p vscode -p fsharp

# Create a new F#-project
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true
dotnet new console -lang F# -i MyProject

# Start Visual Studio Code
code .
# Install Extension: Ionide-fsharp

In Visual Studio Code benötigen wir dann noch die Erweiterung Ionide-fsharp.

This session is held on in Tutorials B