为什么 Agda 中的 Haskell 类型类以“Raw”开头?

冰1000

在阿格达标准库,我们有RawMonadRawApplicative等。

RawMonad : ∀ {f} → (Set f → Set f) → Set _
RawMonad M = RawIMonad {I = ⊤} (λ _ _ → M)

RawMonadZero : ∀ {f} → (Set f → Set f) → Set _
RawMonadZero M = RawIMonadZero {I = ⊤} (λ _ _ → M)

RawMonadPlus : ∀ {f} → (Set f → Set f) → Set _
RawMonadPlus M = RawIMonadPlus {I = ⊤} (λ _ _ → M)

他们为什么以Raw? 在那里MonadApplicative在阿格达?

多米尼克·德弗里斯

尼尔斯·安德斯·丹尼尔森(Nils Anders Danielsson)(我怀疑是他们的作者)曾告诉我,这是因为它们不包含相应法律的证明。AFAIK,Agda 标准库没有包含此类证明的这些版本,但如果您愿意,您可以推出自己的版本。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Haskell / Agda中的类型级别集

为什么Haskell中没有`Cofunctor`类型类?

Storable类型类在Haskell中做什么

为什么在Liquid Haskell中Nat类型等于Int?

在Haskell中,为什么会有类型类层次结构/继承?

为什么在Haskell中没有函子上的等分词的类型类?

Agda中类型签名中的任意求值

Haskell中<-的类型是什么?

Coq或Agda中的类型层次结构定义

为什么在值构造函数中声明的类型不是在Haskell中声明的类型?

为什么sum比haskell中的fold慢?

为什么点在Haskell中从右到左组成?

为什么<*>在Haskell中是infix函数?

为什么在Haskell中0 ^ 0 == 1?

为什么“同时”在Haskell中不是单子?

为什么Haskell不能推论这个多参数类型类?

Haskell中具有类型的冒险:GADT:为什么进行以下类型检查?

为什么Haskell的作用域类型变量不允许在模式绑定中绑定类型变量?

为什么在Haskell中仅将本地小型笛卡尔封闭类用于Curry类是公平的?

为什么模式匹配有时在 Agda 中是“必不可少的”?

为什么函数组成和应用程序在Agda中具有依赖的实现?

为什么在Haskell的typeclass定义中不能使用类型构造函数?

在Haskell中,即使启用AllowAmbiguousTypes,为什么类型仍然模棱两可?

为什么更高级别的类型在Haskell中如此脆弱

为什么更通用的类型会影响Haskell中的运行时?

为什么Haskell基本库中没有“非空列表”类型?

为什么编译器无法在Haskell中为我们处理新类型?

在Haskell中,为什么“ fmap(重复3)Just”具有类型“ a-> [Maybe a]”

为什么非多态类型不能在Haskell中实现Foldable?