CppTypeclasses:C++ 中的 Haskell 类型类

时间:2024-07-10 15:34:09
【文件属性】:

文件名称:CppTypeclasses:C++ 中的 Haskell 类型类

文件大小:5KB

文件格式:ZIP

更新时间:2024-07-10 15:34:09

C++

C++ 类型类 Haskell 的类型类类似于 OO 语言所称的接口,甚至类似于抽象类:它们定义了一个“契约”,有时提供了一个默认实现,甚至共享了一些通用词汇:作为类型类实例的类型被称为“衍生”它。 但是,有一个很大的区别:可以在不修改现有类型的情况下为现有类型实现类型类,而类必须显式声明它实现了哪些接口(Go 和 AFAIK 除外)。 这个存储库是一个实验:试图想出一种在 C++ 中拥有类似 Haskell 的类型类的工作方法。 它......有点工作。 当然,不要在现实生活中使用它。 类型 // "template " omitted for readability using Vec = std::vector; using List = std::list; using Map = st


【文件预览】:
CppTypeclasses-master
----monoid.hh(2KB)
----show.hh(2KB)
----monad.hh(3KB)
----types.hh(901B)
----functor.hh(2KB)
----README.md(2KB)
----typeclasses.cc(1KB)

网友评论