カテゴリの非常に基本的なジェネリック モデルの場合、オブジェクトのペアに関連付けられたモーフィズムを反変的に取得しようとしています。
class Obj[DerivedObj <: Obj[DerivedObj]] { /* ... */ }
class Morphism[DerivedMorphism <: Morphism[DerivedMorphism]] { /* ... */ }
どういうわけか定義できるようにしたい:
def mor( from : SomeConcreteObj, to : SomeConcreteObj ) : SomeConcreteMorphism;
しかし、mor を Obj のメソッドにする「明白な」解決策では、Morphism によって Obj をさらに型パラメータ化する必要があります。
そのようなことを達成するScalaの方法は何ですか?