相关疑难解决方法(0)

D中的特征可以用于类型类吗?

我是D的新手,我正在寻找一种好的方法来编写类似Haskell的类型类,例如D中的Functors,Monoids等.

这是在Tango或Phobos中实现的吗?

我听说过对某些属性启用编译时类型检查的特性.它们可以用于类型类吗?

我已经尝试了一些模板专业化并想出了这个:

// Monoid.d
// generic Monoid gets called when there is no instance of Monoid for Type T
class Monoid(T) {
    pragma(msg, "Type is not a Monoid");
}

// Monoid instance for double
class Monoid(T:double) {
    static T mzero() { return 0; }
    static T mappend(T a, T b ) { return a + b;}
}

// Monoid instance for int
class Monoid(T:int) {
    static T mzero() { return 0; }
    static T mappend(T a, T b …
Run Code Online (Sandbox Code Playgroud)

functional-programming d typeclass

18
推荐指数
1
解决办法
909
查看次数

标签 统计

d ×1

functional-programming ×1

typeclass ×1