agda - 为什么 Agda 中的 Haskell 类型类以 `Raw` 开头?

标签 agda

在Agda标准库中,我们有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开头? Agda 中有 MonadApplicative 吗?

最佳答案

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

关于agda - 为什么 Agda 中的 Haskell 类型类以 `Raw` 开头?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47172083/

相关文章:

pattern-matching - 在 Agda 中,如何证明 with-abstracts 中匹配模式的属性?

io - 将 Agda 程序输出到控制台

constructor - Agda 中的构造函数是否不相交? (或如何反驳 inj₁ x ≡ inj₂ y)

functional-programming - 使 Agda 相信递归函数正在终止

agda - 为什么打字是一件坏事?

agda - Agda 中数据结构的导数

Agda - 以交互方式构建证明 - 如何使用空洞语法?

agda - 使用 Agda "rewrite"证明 "composition of maps is map of compositions"

proof - 有限多重集作为 Cubical Agda 中的 HIT

types - 如何在agda中通过W类型进行编码?