subtyping

    1熱度

    1回答

    我有以下代碼定義類型類。 trait Foo[T] { def toFoo(x: T): String } trait Foos { def toFoo[T](f: T => String): Foo[T] = new Foo[T] { def toFoo(x: T): String = f(x) } } object Foo extends F

    11熱度

    1回答

    對於下面的C++程序: class Base { }; class Child : public Base { }; int main() { // Normal: using child as base is allowed Child *c = new Child(); Base *b = c; // Double pointers: app

    6熱度

    4回答

    我已經開始了這個新的問題,因爲它成爲我上一個問題的後續。 如果我有一個由類似構造的兩種數據類型: data A = X | Y | Z data B = X | Y 有沒有辦法,我能以某種方式代表此爲: data A = C | Z data B = C data C = X | Y ,如果你能看到我在做什麼 - 我正在嘗試將X |分組Y轉換爲一種數據類型,然後可以被多種其他數據類

    1熱度

    1回答

    我想在scalaz庫中使用scala中的monad做些事情,並且在使用子類型工作時遇到了一些麻煩。 我已經開始定義自己的monad。讓它爲簡單起見身份單子: import scalaz._ import Scalaz._ class Id[+A] (val value : A) { } implicit object IdMonad extends Monad[Id] { ov