問題タブ [kind-projector]
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で高次の型を「カリー化」することは可能ですか?
たとえば、2 つの型パラメーターを持つトレイトがあるとします。
より高次の型パラメーターを持つ別のトレイト、たとえば
の型パラメータの 1 つを固定値に置き換えて、パラメータ化にQux
使用できるようにしたいと考えていますTurkle
。
以下に例を示します (Scala では意味をなさないコードの例です!):
この効果を達成する方法はありますか?
scala - Scalaz Functor 型クラスの特殊記号
最近、この Scalaz コードに出くわしました (例: https://github.com/scalaz/scalaz/blob/series/7.2.x/core/src/main/scala/scalaz/Functor.scala ):
「Functor」内の型式、つまり λ[α => F[G[α]]] の意味/目的は何ですか? ソファ、私はhttp://like-a-boss.net/2014/09/27/type-lambda-in-scala.htmlのような型エイリアスを見てきました
また、Intellij Idea (14.0.3) はシンボルを解決できません。Intellij の外部で sbt によってビルドされ、Intellij にインポートされた Scalaz。どのような場合に考えられますか?
scalaz - λ[α =>F] とはどういう意味ですか?
最近Scalazを勉強しています。λ[α =>F] がどのように機能するか知りたいですか?
ここで λ が何らかの型を意味することは理解できますが、その定義を見つけることができず、上記のコードがどのように機能するかを知りたいです。
scala - この型ラムダを Kind-Projector 構文に変換するにはどうすればよいですか?
の型パラメータを指定しF[_]
てA[_]
、次の型ラムダをより快適な Kind-Projector 構文に変換するにはどうすればよいですか?
({type λ[α] = F[A[α]]})#λ
のようなものになると想像していましたF[A[?_]]
が、この場合、コンパイラは型パラメーターが必要だと不平を言います。
scala - Functor[A => ?] が Scala 2.11.7 でコンパイルされないのはなぜですか?
私はMichael Pilquist の Functors の優れたイントロに従っていますが、私の Scala 2.11.7 repl は次の行をコンパイル (解釈?) できません。
Scalaは[X => ?]
合法ですか?
彼がファイルの先頭で彼自身の simulacrum プロジェクトをインポートしていることがわかりますが、それが関連しているかどうかは判断できませんでした。
scala - Scalaは、scalazまたはcatsでNaturalTransformationをポンピングできません
何らかの理由で、以下が機能しません
test
自然な変換でメソッドを呼び出すとき。Intellij はそれを拡張関数として認識しますが、コンパイルではvalue test is not a member of cats.~>
. scalaz NaturalTransformation を使用する場合も同じことが起こります。コンパイルが拡張子を認識できるようにするためにできることはありますか?
Scala のバージョンは 2.11.8 です
失敗する例:
(上記はカインド プロジェクター プラグインを使用していますが、タイプ ラムダ、または単一パラメーターの上位のカインド タイプでも同様に失敗します)
intellij-idea - 種類のプロジェクター プラグインを使用した IntelliJ 上の猫
IntelliJ で Cats を調べていますが、IntelliJ Scala プラグインが Kind Projector プラグインをサポートしているにもかかわらず、IntelliJ はプラグインの型ラムダ表記 ( λ
) を認識できません。これを有効にするトリックはありますか?Kind Projector インスペクション オプションが使用可能であり、設定で有効になっていますが、コード インスペクションを実行した後、Kind Projector が表示されません。私の IntelliJ バージョンは 2016.2.2 で、Scala プラグイン バージョンは 2016.2.1 です。