Frage

Zum Beispiel in Java gibt es Functional Java und Higher-Order Java . Beide geben im Wesentlichen eine kleine API zur Manipulation höherer Ordnung, curried Funktionen und vielleicht ein paar neue Datentypen (Tupel, unveränderliche Listen).

War es hilfreich?

Lösung

Haben Sie sich in F # ?

Auch ein ordentlicher Blogeintrag wäre hier , dass die Gespräche darüber, wie die neuen zu verwenden, generic / Lambda-Ausdrücke eingebaut in c # 3.0.

Wenn Sie fügen Sie einfach System.Linq Zum Anfang der Quelldatei unter Verwendung gibt es viele schöne neue Funktionen hinzugefügt, um mit Sammlungen arbeiten wie Falten / Filterung / etc.

Andere Tipps

LanguageExt Aussehen sehr vielversprechend für die Herstellung von funktionaler Stil Programmierung in C # einfacher.

https://github.com/louthy/language-ext

Angenommen, Sie nicht F # für welchen Gründen auch immer verwenden können, und wollen einfach nur funktionelle Paradigmen und Idiome in C # -Code verwenden, Qualität und Zuverlässigkeit zu verbessern:

Functional Art Musterabgleich für C #

Monad-Bibliothek für C # /. Net

Es gibt auch 'elevate' die einige funktionale Dinge wie Optionstypen (maybes) hat usw.

Ich glaube, Sie wollen F #

Auch die neueren Versionen von C # haben viele funktionellen Konzepte in dem Basislangauge enthalten.

Es kann eine solche Bibliothek für C #, aber Sie sollten wahrscheinlich nur mit F # http betrachten: //research.microsoft.com/fsharp/fsharp.aspx und http://msdn.microsoft.com/en-us/fsharp/default.aspx .

Microsoft plant F # ein First-Class-Sprache in Visual Studio zu machen, so dass es sich mit einer der CTPs wenig Risiko sollte Ihre erste Sachen zu bauen.

Wenn Sie nach etwas suchen, das C # erstreckt sich dann nicht, aber es gibt F #, die eine .NET-basierte funktionale Sprache ist. Von der "über F #" :

  

F # ist eine typisierte funktionale Programmiersprache für .NET Framework. Es verbindet die Prägnanz, Expressivität und Kompositionalität typisierte funktionale Programmierung mit dem Runtime-Unterstützung, Bibliotheken, Interoperabilität, Werkzeuge und Objektmodell von .NET. F # ergibt sich aus der ML-Familie von Sprachen und hat eine Kernsprache kompatibel mit der OCaml, aber auch von C # und Haskell zieht. F # wurde von Grund auf ein Bürger erster Klasse auf .NET sein, glatt Interoperabilität mit anderen .NET-Sprachen geben. Zum Beispiel, C # und F # können einander direkt aufrufen. Dies bedeutet, dass F # sofortigen Zugriff auf alle .NET Framework-APIs, darunter zum Beispiel Windows Presentation Foundation und DirectX. In ähnlicher Weise in F # entwickelte Bibliotheken können aus anderen .NET-Sprachen verwendet werden.

     

Da F # und OCaml eine ähnliche Kernsprache teilen, einige OCaml Bibliotheken und Anwendungen können Cross-kompilieren entweder direkt oder mit geringfügigen bedingt kompilierte Änderungen. Dies stellt einen Weg zur Quer Kompilierung und / oder Port vorhandenen OCaml Code zu .NET und ermöglicht auch Programmierer zwischen diesen Sprachen Fähigkeiten zu übertragen. Ein Schwerpunkt des Projektes ist es, die Reichweite von OCaml-ähnlichen Sprachen in Arenen zu erweitern, wo sie traditionell nicht verwendet worden. Während des gesamten Projektes sind die Designer von F # dankbar für die Unterstützung und Förderung von Xavier Leroy und anderen in der OCaml Gemeinschaft.

Nicht eine schrumpfverpackte Bibliothek per se, aber Luca Bolognese von Microsoft hat

F #, gibt es eine CTP-Version von Microsoft erhältlich.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top