問題タブ [f-bounded-polymorphism]
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 で 1 つまたは複数の値を持つコンテナに ADT を実装する方法
一日の終わりに、これが私が達成したいことです:
それを実現するには、1 つまたは複数の値を表す ADT が必要なようです。
これが私の実装です。それを実装する別の/より良い/より簡単な方法はありますか(私はパス依存型とF-bounded型を使用しました)。すでにそれを実装しているライブラリはありますか (ユースケースはかなり最新のようです)。
scala - ジェネリック型の型を定義する方法
次のコードがあるとします。
クラス A と B の定義を省略して型を定義する方法はありますか?
次のようなものです:
scala - f-bounded ポリモーフィズム im Scala は、自己型だけでなく上限型の境界で一般的に実装されるのはなぜですか
Scala の f-bounded ポリモーフィズムは、一般的に型の上限と自己型の境界で実装されるのはなぜですか?
単純に自己型だけではありません
最初の例の型の上限は不要のようです。少なくとも私はそれを使用する利点を見つけることができません。ここで何かを見落としていますか?ただし、型の境界は次のような使用法を妨げます
(もちろん、この単純化された不自然な例でfunc[A <: MyTrait[A]]
は問題を解決できますが、より複雑な設定では不可能な場合があります)
複数のライブラリでバインドされた型で実装されたf-bounded ポリモーフィズムを見つけ、トピックに関する入門ブログ投稿 ( https://tpolecat.github.io/2015/04/29/f-bounds.html ) でさえ、疑問に思っていました。一般的にバインドされた型を省略した方がよい場合。