CSharp 09.10.2019, 11:39 Uhr

Spracherweiterungen für Funktionales Programmieren mit C#

Das Projekt language-ext auf GitHub stellt eine in C# geschriebene Klalssenbibliothek für das Funktionale Programmieren mit C# bereit.
(Quelle: github.com/louthy/language-ext)
Schon in den offiziellen Varianten der Sprache driftet C# immer weiter in die Richtung einer funktionalen Sprache. Allerdings beklagt der Entwickler der Funktionalen Spracherweiterungen, dass C# immer noch nur sehr wenig an funktionalen Optionen besitzt. Nachdem er eine Weile mit Haskell und F# gearbeitet hatte und wieder zurück zu C# kam, fiel ihm das ganz besonders negativ auf. Deshalb kam er auf die Idee selbst eine Bibliothek zu entwickeln, die C# voranbringt: das GitHubj-Projekt language-ext.
Die Bibliothek nutzt und "missbraucht" die Funktionen von C#, um Basisklassenbibliothek bereitzustellen, die wie Erweiterungen der Sprache aussieht. Dabei geht es darum, die Programmierung in C# zuverlässiger zu machen und die Arbeit insbesondere älterer Entwicklers sanft in Richtung deklarativen und funktionalen Codes fließen zu lassen.
Um die Bibliothek zu nutzen, muss lediglich die Bibliothek LanguageExt.Core.dll ins Projekt eingebunden werden – gegebenenfalls via NuGet – und dem Code müssen die folgenden beiden Zeilen vorangestellt werden:
using LanguageExt; 
using static LanguageExt.Prelude; 
Der Namensraum LanguageExt enthält die Kerntypen und LanguageExt.Prelude enthält die Funktionen der Bibliothek. Die Liste der Spracherweiterungen der C#-Bibliothek finden Sie auf der GitHub-Seite von Langage-ext unter https://github.com/louthy/language-ext.


Das könnte Sie auch interessieren