問題タブ [lifting]
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.
scala - 複数のステップでのscala quasiquotes文字列変数のリフティング
これは私が欲しいものです:
しかし、問題は、次のように、文字列変数で $x>$y という式を取得することです。
そして、次のように操作を実行したいのですが、
しかし、このリターン:
これは目的を果たしていません。$x と $yの代わりに、最後のステップで x と y の値を取得するにはどうすればよいですか。
haskell - この式に有効な型があるのはなぜですか?
をいじってみるとghci
、たまたま式(*) 1 [1..5]
が有効な型を持っていることに気付きました。
Num [t]
どうやらそれは、エラーが発生するように、私には不可能に見えるものを含む、いくつかの型制約を持つリストです。
これはどのように式のタイプですか?ghci
ここでの:t
コマンドがエラーを出さないのはなぜですか?
haskell - Haskell の State モナドで値を持ち上げる
学習課題として、Haskell で Sudoku ジェネレーター/ソルバーを作成しています。
私のsolve
関数は a を受け取りますが、解決中に見つかった最大難易度も返すことができるように a をUArray
返します。State Int (UArray ...)
これはこれまでのところ私の機能です(まだ非常に実験的な初期段階にあります):
ミュータブル配列に対してはまだ何もしていません。で型チェックをしようとしているだけですput 42
が、現在次のエラーが発生しています。
functional-programming - 関数型プログラミング用語: リフティング vs ファンクター/適用リフティング
私は関数型プログラミング ライブラリを作成しており、一連の関数に最適な名前を決定しようとしています。
関数はすべて関数を取り、別の関数を返します。返された関数の戻り値の型は入力関数とは異なりますが、パラメーターは変更されていません。
実装は次のとおりです。
<parameters> -> T|undefined
=><parameters> -> Option<T>
アピドック<parameters> -> R|undefined <may throw>
=><parameters -> Either<L,R>
アピドック<parameters> -> Promise<T>
⇒<parameters> -> Future<T>
(追加予定)
命名についていくつかの議論があり、それは私のライブラリのリポジトリでまだ進行中です.
問題は、「リフト」という用語を使用することが、私が説明した機能に適しているかどうかです。
それが適切ではない理由は、リフティングが最も頻繁に使用されるのは、ファンクターのリフティング (パラメーターの型と結果の型の両方のリフティング) を表すためです。だから..A -> B -> C
にF<A> -> F<B> -> F<C>
。これは、これらの関数が行うことではありません。
ただし、scala は、まさに私と同じように「リフティング」用語を使用していることがわかります。
彼らが scala-land でこれにどのように名前を付けているかを調べたかったのですが..結果として...私が正しく理解していれば、彼らはそれがリフティングだと言っています: Scala での「リフティング」とは何ですか?
PartialFunction[A, B] はドメイン A の一部のサブセットに対して定義された関数であることを思い出してください (isDefinedAt メソッドで指定)。PartialFunction[A, B] を Function[A, Option[B]] に「持ち上げる」ことができます。つまり、A 全体に対して定義されているが、値が Option[B] 型の関数
一方、結果以外のすべてのパラメーターが持ち上げられる場合の持ち上げについては、次のように述べています。
関数 A => B をファンクターのドメインに「持ち上げる」。[..]「ファンクタへのリフティング」
あります => https://www.scala-lang.org/api/current/scala/PartialFunction.html#lift:A=%3EOption[B]
したがって、リフティングは一般的な概念であり、ファンクターのリフティングはそのサブカテゴリにすぎないことを意味します。また、haskell は「持ち上げられた型」と「持ち上げられていない型」について話しており、用語がより緩い方法で使用されていることを示唆しています。
一方、これはリフティングは「ファンクターリフティング」に過ぎないと言っています: https://stackoverflow.com/a/43596202/516188
私は自分のライブラリで「ファンクター」リフティングを提供しており、関数にliftA2とliftApという名前を付けています。つまり、 「リフティング」と「適用リフティング」を区別しています。それは適切だと思いますか。そうでない場合、どのネーミングをお勧めしますか?
lift
編集して、私の提案した命名を要約A->B->X<C>
しliftA
ますF<A>->F<B>->F<C>
reactjs - React で外部コンポーネントをクリックして、react-select の表示値を変更する
1 つの配列から、1 つのコンポーネント (Box.js) にリストとして表示し、別のコンポーネント (Search.js) の反応選択に格納します。どちらも親コンポーネント(trial.js)に属する同レベルの子です。
最終的に、リストからクリックするか、反応選択から変更/選択して、オブジェクトを表示したいと思います。イベント ハンドラーを親に持ち上げて、選択したオブジェクトを個別に表示することに成功しました。
ただし、onClick を onChange と同期できないようです。具体的には、クリック イベント ハンドラーで、選択したリストを太字にして、react-strap で表示されるアイテムを変更したり、その逆をしたりします。反応ホームページに示されているリフティング状態と同期イベント ハンドラーの例では、テキスト入力を使用していますが、これは私がやろうとしていることにはあまり役に立ちません..
親) Trial.js:
リストを持つ子)Box.js:
react-select を使用した子) remote.js:
選択したオブジェクトをレンダリングするための remote.js の子: