問題タブ [functional-programming]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - F# でのプロトタイプの Enumerable#pluck?
JavaScript では、Prototype ライブラリを使用して、次の機能構築が可能です。
このコード例は次と同等であることに注意してください。
F#で同様のことが可能かどうか疑問に思いました:
書く必要なし:
これは、すべてのプロパティにアクセスするために関数を記述する必要がないため、非常に便利だと思います。
c# - .NET 用の関数型プログラミング ライブラリはありますか?
たとえば、Java にはFunctional JavaとHigher-Order Javaがあります。どちらも基本的に、高次のカリー化された関数を操作するための小さな API と、おそらくいくつかの新しいデータ型 (タプル、不変リスト) を提供します。
.net - F# でのマクロのサポート
Practical Common Lisp を読んだ後、私は最終的にマクロの重要性を理解し、これをサポートする .NET プラットフォーム用の言語を探していました。.NET 用の Lisp 方言がいくつかありますが、私が収集できたものからは、すべて非常にベータ版であるか、放棄されています。最近、Clojure に興味を持ちましたが、これは Java プラットフォーム用であり、おそらく ikvm を使用できますが、統合されているとは感じません。特にWPFのようなことをしたいとき。
最近、F# についてのささやきを耳にします。マクロのサポートについて何か見つけられないかとドキュメントを調べてみましたが、見つかりませんでした。それで、誰か知っていますか?
ありがとう :)
architecture - 関数型プログラミング アーキテクチャ
視覚化のための設計パターンとクラス図の使用を含むオブジェクト指向アーキテクチャに精通しており、コントラクトとプロトコル バインディングを備えたサービス指向アーキテクチャについても知っています。関数型プログラミング言語?
FPは中規模から大規模のプロジェクトに使用されていることを知っています。Paul Graham は Yahoo! の最初の化身を書きました。Common Lisp に保存します。一部の Lisp 開発システムは複雑です。関数型言語で書かれた人工知能と金融システムは、かなり大きくなる可能性があります。それらはすべて、少なくとも何らかの固有のアーキテクチャを持っていますが、何か共通点があるのでしょうか?
式の評価に基づくアーキテクチャはどのようなものですか? FP アーキテクチャはより構成可能ですか?
更新: Kyle は、 SICPがこのテーマの優れたリソースであることを思い出させてくれました。
更新 2:このテーマに関する良い投稿を見つけました: 関数型プログラミングはコードの構造にどのように影響しますか?
unit-testing - GUI テスト
私は自分の GUI をテストする問題に取り組んでいますが、ここでの最善のアプローチが完全にはわかりません。私の GUI は従来の MVC フレームワークを使用して構築されているため、GUI 自体を立ち上げなくても、GUI のロジック部分を簡単にテストできます。ただし、GUI の機能をテストする場合、GUI コンポーネントを個別にテストすることに専念する必要があるのか、それとも主にシステムの機能テストに専念する必要があるのか、よくわかりません。これはかなり複雑なシステムであり、GUI のテストにはサーバーへのメッセージの送信と、GUI での応答の観察が頻繁に含まれます。私の最初の考えは、UI を実際にテストするにはシステム全体を実行する必要があるため、ここでは機能テストを行う方法であるということです。この問題に関するコメントをお待ちしております。
ありがとう、ジェフ
javascript - 「部分関数アプリケーション」はJavascriptのコンテキストでは誤称ですか?
私の友人と私は Javascript でのカリー化と部分関数の適用について話し合っていましたが、どちらかが達成可能かどうかについて非常に異なる結論に達しました。私はこの の実装を思いつきましたFunction.prototype.curry
。これが私たちの議論の基礎となりました。
次のように使用されます。
その出力は、Spidermonkey では次のようになります。
彼の意見は、Javascriptプリミティブは「部分関数適用」をネイティブにサポートしていないため、変数にバインドされた関数を部分適用function
と呼ぶのは完全に間違っているというものでした。karahi
彼の主張は、vindaloo
関数がカリー化されると、「部分的に適用された関数」ではなく、関数自体が完全に適用され、クロージャーが返されるというものでした。
さて、私の意見では、Javascript 自体はそのプリミティブでの部分的な適用をサポートしていませんがfunction
(たとえば ML や Haskell とは異なり)、言語の高次関数を作成できないという意味ではありません。部分的に適用された機能の概念をカプセル化します。また、「適用」されているにもかかわらず、関数のスコープはそれによって返されたクロージャにまだバインドされているため、「部分的に適用」されたままになります。
どちらが正しい?
functional-programming - Yコンビネータとは?
Y コンビネーターは、物事の「機能」面からのコンピューター サイエンスの概念です。ほとんどのプログラマは、コンビネータについて聞いたことがあるとしても、コンビネータについてまったく知りません。
- Yコンビネータとは?
- コンビネータはどのように機能しますか?
- 彼らは何のために良いですか?
- それらは手続き型言語で役に立ちますか?
f# - F#で->はどういう意味ですか?
しばらくの間、F#のオンとオフを切り替えようとしていましたが、延期され続けています。なんで?
どの「初心者」リソースを見ようとしても、演算子を使い始める非常に単純な例が表示されます->
。
しかし、この演算子が何を意味するのかを明確に簡単に説明できるものはまだどこにも見つかりませんでした。初心者でも説明が不要なほど明白なはずです。
したがって、私は本当に密集している必要があります。そうでない場合は、30年近く前の経験が私を妨げているのかもしれません。
誰かがそれを説明したり、それを説明する本当にアクセス可能なリソースを指摘したりできますか?
functional-programming - 関数型プログラミング言語用のネイティブコンパイラはありますか
Joel Spolskyは、ランタイムに依存しないプログラムのネイティブコードバージョンを 賞賛しました。
関数型言語で利用できるネイティブコードコンパイラは何ですか?
c# - F# とエンタープライズ ソフトウェア
バージョン 1.0 からの C# 開発者として、F# は過去数週間の自由時間を確保してきました。現在、コンピュータは 2 コア、4 コアで販売されており、マルチスレッド化を実現するのは必ずしも簡単ではありません。
現時点では、F# は複雑なワークロードや重いワークロードに対して大きな可能性を秘めていることがわかります。F# は (RTM になったら) エンタープライズ ソフトウェア市場で重要なプレーヤーになると思いますか?