問題タブ [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.
f# - F# で関数を渡す
関数への参照をF#の別の関数に渡すことは可能ですか? 具体的には、次のようなラムダ関数を渡したい
foo(楽しい x -> x ** 3)
より具体的には、自分で作成した関数で渡された関数をどのように参照するかを知る必要があります。
haskell - モナドとは何ですか?
最近Haskellを簡単に見てきましたが、モナドが本質的に何であるかについて、簡潔で簡潔で実用的な説明は何でしょうか?
私が出くわしたほとんどの説明は、かなりアクセスできず、実用的な詳細が不足していることがわかりました。
functional-programming - Lispでのリスト操作
私はLispで次の機能をどこでも探していましたが、どこにも行きませんでした。
リストから何かのインデックスを見つけます。例:
/li>リスト内の特定の場所で何かを置き換えます。例:
/li>特定のインデックスでアイテムを返します。例:
/li>
これまで、自分の機能で偽造してきました。自分のためにもっと作品を作っているだけなのかしら。
これが私がナンバー1を偽造してきた方法です。
linq - LINQ を使用したコレクションのマッピング
新しいプロパティを追加したいオブジェクトのコレクションがあります。LINQでそれを行うにはどうすればよいですか?
algorithm - 単純なツリーアルゴリズムを関数型言語でどのようにコーディングできますか?
最初にキーワードのリストが与えられ、次に別の与えられた単語がリストにあるかどうかを答える必要がある、適度に効率的な「キーワード認識アルゴリズム」を実装したいとします。
命令型言語では、キーワードをツリーに格納します(文字ごとに1つのノード)。次に、テストする単語を受け取ったら、ツリーをスキャンして、その単語がキーワードであるかどうかをテストします。
そのようなアルゴリズムが関数型言語でどのようにコーディングされるのかを理解したいと思います。「命令型」アルゴリズムの効率を維持しながら、「ステートレス」プログラミングの利点をどのように得るのでしょうか。毎回再構築したくない場合は、ルックアップ間のどこかにツリーを保存する必要はありませんか?
haskell - F# の Haskell リスト差分演算子
\\
F#の Haskell のリスト差分演算子に相当する演算子はありますか?
f# - How to define and use static variables in F# class
Is there a way to have a mutable static variable in F# class that is identical to a static variable in C# class ?
f# - 誰もがF#CTPで動作する--standaloneオプションを手に入れましたか?
私はこれを完全に間違っているかもしれませんが、私の理解では、-standaloneコンパイラオプションはコンパイラにF#コアと他の依存関係をexeに含めるように指示し、「ランタイム」をインストールせずに別のマシンで実行できるようにします。
ただし、これをCTPで機能させることはできません。出力ファイルのサイズも変更されていないようです(私が読んだドキュメントでは、約1M余分に記載されています)。
「グーグルは知っているかもしれないが、もしそうなら、それは伝えていないか、私は正しい場所を探していません。」
アップデート:
最新のCTPアップデート1.9.6.2で動作するようです
UPDATE2:
それ以来、別のエラーが発生しました。
--standaloneをコンパイルしようとしたときにこのようなエラーが発生した場合は、それらを参照としてプロジェクトに明示的に含める必要があります。
haskell - 関数型プログラミングの機能を実装する言語は?
Lisp は学術界で非常に早い段階で一連の興味深い言語機能を開発しましたが、それらのほとんどは本番環境で普及することはありませんでした。
JavaScript などの一部の言語は、ガベージ コレクションやレキシカル クロージャーなどの基本的な機能を採用しましたが、強力なマクロ、データとしてのコード、カスタム制御構造など、大規模なプログラムの作成方法を実際に変更する可能性のあるすべてのものは、他の関数型言語内に広まっているようですが、重要なプロジェクトに使用するのに実用的な言語はありません。
関数型プログラミング コミュニティは、参照透過性、一般化されたケース式 (つまり、パターン マッチング、C/C# スイッチのように不自由ではない)、カリー化された関数など、(関数型プログラミング自体とは別に) 他にも多くの興味深いアイデアを思いつきました。通常のプログラミングでは明らかに有用であり、既存のプログラミングの実践と簡単に統合できるように思われますが、何らかの理由で、学問の世界で永遠に立ち往生しているようです.
なぜこれらの機能が採用されるのにこれほど苦労するのでしょうか? 「ファーストクラス関数」を中途半端にコピーするのではなく、Lisp から実際に学ぶ現代的で実用的な言語はありますか?それとも、これを不可能にする固有の競合があるのでしょうか?