GHC有一些语言标志,如DeriveFunctor、DeriveDataTypeable等,它们允许编译器为Haskell98中允许的类型类以外的类型类生成派生实例。这对于Functor这样的东西尤其有意义,因为该类的规则规定了一个明显的、“自然”的派生实例。
那么,为什么Monoid不能呢?它似乎适用于任何只有一个数据构造函数的数据类型:
data T = MkT a b c ...
可以机械地生成一个Monoid实例(请原谅伪代码):
instance (Monoid a, Monoid b, Monoid c, ...) => Monoid T where
mempty =
在推送我的数据后,我试图从另一个服务器git.pull('site','site')中使用,但是我得到了这个错误。
ReferenceError: Promise is not defined
at deferred (/root/home/flash/Site/node_modules/simple-git/src/util/deferred.js:4:20)
at Git._schedule (/root/home/flash/Site/node_modules/simple-git/src/git.js:1363:23)
at Git._run (/ro