文件名称:CppTypeclasses:C++ 中的 Haskell 类型类
文件大小:5KB
文件格式:ZIP
更新时间:2024-07-10 15:34:09
C++
C++ 类型类
Haskell 的类型类类似于 OO 语言所称的接口,甚至类似于抽象类:它们定义了一个“契约”,有时提供了一个默认实现,甚至共享了一些通用词汇:作为类型类实例的类型被称为“衍生”它。
但是,有一个很大的区别:可以在不修改现有类型的情况下为现有类型实现类型类,而类必须显式声明它实现了哪些接口(Go 和 AFAIK 除外)。
这个存储库是一个实验:试图想出一种在 C++ 中拥有类似 Haskell 的类型类的工作方法。 它......有点工作。
当然,不要在现实生活中使用它。
类型
// "template
【文件预览】:
CppTypeclasses-master
----monoid.hh(2KB)
----show.hh(2KB)
----monad.hh(3KB)
----types.hh(901B)
----functor.hh(2KB)
----README.md(2KB)
----typeclasses.cc(1KB)