14

たとえば、Java にはFunctional JavaHigher-Order Javaがあります。どちらも基本的に、高次のカリー化された関数を操作するための小さな API と、おそらくいくつかの新しいデータ型 (タプル、不変リスト) を提供します。

4

10 に答える 10

6

F#を調べましたか?

また、 c# 3.0 に組み込まれた新しいジェネリック / ラムダ式の使用方法について説明しているブログ投稿もここにあります。

ソース ファイルの先頭に using System.Linq を追加するだけで、折り畳み/フィルタリング/などのコレクションを操作するための多くの優れた新機能が追加されます。

于 2008-09-17T14:35:33.497 に答える
5

何らかの理由で F# を使用できず、C# コードで機能パラダイムとイディオムを使用して品質と信頼性を向上させたいだけだとします。

C# の関数型パターン マッチング

C#/.Net のモナド ライブラリ

オプションタイプ(おそらく)などの機能的なものを持つ「昇格」もあります。

于 2009-11-12T10:19:47.247 に答える
2

シュリンクラップされたライブラリ自体ではありませんが、MicrosoftのLuca Bologneseが一連のブログ投稿を行っており、タプル、レコード、型ユニオンなどの型を使用した関数型プログラミング用のC#ライブラリを構築しています。

また、Linqは基本的に、C#で構文をサポートする関数型プログラミング用のライブラリです。

于 2008-09-18T16:12:19.183 に答える
2

C# にはそのようなライブラリがあるかもしれませんが、おそらく F# http://research.microsoft.com/fsharp/fsharp.aspxおよびhttp://msdn.microsoft.com/en-us/fsharp/defaultのみを使用することを検討する必要があります。 .aspx .

Microsoft は、F# を Visual Studio の第一級言語にする予定であるため、CTP の 1 つを使用して最初のものを構築するリスクはほとんどありません。

于 2008-09-17T14:33:12.253 に答える
2

C# を拡張するものを探しているなら、いいえ、.NET ベースの関数型言語である F# があります。「F# について」ページから:

F# は、.NET Framework 用の型付き関数型プログラミング言語です。型付き関数型プログラミングの簡潔さ、表現力、および構成性を、.NET のランタイム サポート、ライブラリ、相互運用性、ツール、およびオブジェクト モデルと組み合わせます。F# は ML ファミリーの言語に由来し、OCaml と互換性のあるコア言語を持っていますが、C# と Haskell からも派生しています。F# は、他の .NET 言語とのスムーズな相互運用性を提供するために、.NET の第一級の市民となるようにゼロから設計されました。たとえば、C# と F# は相​​互に直接呼び出すことができます。これは、F# が Windows Presentation Foundation や DirectX など、すべての .NET Framework API にすぐにアクセスできることを意味します。同様に、F# で開発されたライブラリは、他の .NET 言語から使用できます。

F# と OCaml は類似のコア言語を共有しているため、一部の OCaml ライブラリとアプリケーションは、直接または条件付きでコンパイルされたマイナーな変更を加えてクロスコンパイルできます。これにより、クロスコンパイルおよび/または既存の OCaml コードを .NET に移植するためのパスが提供され、プログラマーはこれらの言語間でスキルを移転することもできます。このプロジェクトの主な焦点は、OCaml のような言語の範囲を、それらが伝統的に使用されていなかった分野にまで拡大することでした。プロジェクト全体を通して、F# の設計者は Xavier Leroy をはじめとする OCaml コミュニティのサポートと励ましに感謝しています。

于 2008-09-17T14:33:58.337 に答える
2

F#が欲しいと思います

また、C# の最近のバージョンでは、基本言語に多くの機能概念が含まれています。

于 2008-09-17T14:31:07.237 に答える
2

サンプルについては、 http://code.msdn.microsoft.com/FunctionalCSharpを参照してください。

于 2009-06-05T15:25:01.567 に答える
0

F# については、Microsoft から入手できる CTP リリースがあります。

于 2008-09-17T14:31:29.513 に答える