問題タブ [combinators]

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.

0 投票する
1 に答える
2631 参照

haskell - Parsec chainl1 関数を演算子の優先順位規則に従うようにする方法

標準の数学表記法をプログラミングしています-> DC POSIX準拠のフォーマットコンバーター。入力文字列を受け取り、それを中間データ型に解析し、それをshowing して出力文字列に変換します。

これは使用されるデータ型です。データ型 -> 出力文字列の変換に問題はありません。問題なく動作します。

ただし、Parsec パーサー部分は、定義された演算子の優先順位規則への準拠を拒否します。明らかに、パーサー定義chainl1で使用されている方法のためです。subexpression

コード全体を書き直さなくても、パーサーに演算子の優先順位規則を考慮させる方法はありますか?

0 投票する
1 に答える
504 参照

javascript - これは修正点コンビネータの実装ですか?

これは単純すぎて「固定小数点再帰」とは呼べないだろうと推測しました。でも、実はそうかもしれないと最近気づきました。

固定小数点再帰を効果的に実装しましたか?

問題の関数は次のとおりです。

追加のコンテキストを次に示します。

残りのコードはここにありますが、上記のスニペットだけで十分です。

0 投票する
1 に答える
990 参照

functional-programming - コンビネータと高階関数の違いは何ですか?

私はいつも、これらの両方の定義は、他の関数を引数として取る関数だと思っていました。それぞれのドメインが異なることは理解していますが、それらの特徴は何ですか?

0 投票する
2 に答える
132 参照

css - CSS コンビネータの優先順位

それ自体、または「plus」という名前の別の div がホバーされているときに、rightPanel という名前の div に変更を加えたいと思います。

(現在のコンビネータは機能していません)。(div#plus:hover, div#rightPanel:hover) ~ #rightPanel の効果を持つようにコンビネータの優先順位を整理するにはどうすればよいですか?

0 投票する
2 に答える
204 参照

function - 関数名としてフォームを定義しますか?

このコードがSchemeで何を意味するのか知りたい:

ファイル全体はこちらです。

これは合法的なスキームですか?(K x) はパラメーター化された関数で、Java のジェネリック関数のようなものですか? MIT スキーム リファレンスを調べましたが、この種の定義については何も言及されていないようです。

0 投票する
3 に答える
1154 参照

list - リストの組み合わせを N 個のリストに一般化する

既知の数のリストの組み合わせを生成することは、Scala では非常に簡単です。for-comprehension を使用できます。

または、脱糖バージョンを使用できます。

次のスイートでは、N 個のリストから要素の組み合わせを作成したいと思います (N は実行時に認識されます)。コンビネータの例に従うと、3 つのリストは次のようになります。

私はパターンを見て、そこに再帰があることを知っていますが、それを特定するのに苦労しています.

何か案は?

0 投票する
3 に答える
5062 参照

haskell - Haskell のコンビネータとは

Real World Haskellでは、コンビネータを次のように説明しています。

Haskell では、他の関数を引数として取り、新しい関数をコンビネータとして返す関数を参照します。

そして後で、maybeIO関数はコンビネータであり、その型シグネチャは次のようになると述べています。

しかし、私が見ることができるのは、それmaybeIOが IO モナドでラップされた値を取り、IO モナドで値を返す関数であるということだけです。では、この関数はどのようにしてコンビネータになるのでしょうか?