Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Function 如何在Agda的记录/数据类型中存储函数?_Function_Agda - Fatal编程技术网

Function 如何在Agda的记录/数据类型中存储函数?

Function 如何在Agda的记录/数据类型中存储函数?,function,agda,Function,Agda,我看过医生了。它说: 严格的正性条件排除了如下声明 data Bad : Set where bad : (Bad → Bad) → Bad -- A B C -- A is in a negative position, B and C are OK 因为构造函数的参数类型中出现了否定的Bad。(请注意,标准函数语言(如Haskell和ML)中允许使用Bad的相应数据类型声明。) 但它没有说明是否有其他方法将函数存储在其他内容(如数据类型或记

我看过医生了。它说:

严格的正性条件排除了如下声明

data Bad : Set where
    bad : (Bad → Bad) → Bad
    --     A     B      C
    -- A is in a negative position, B and C are OK
因为构造函数的参数类型中出现了否定的Bad。(请注意,标准函数语言(如Haskell和ML)中允许使用Bad的相应数据类型声明。)

但它没有说明是否有其他方法将函数存储在其他内容(如数据类型或记录类型)中

我也尝试过这个方法,但也不能编译:

bin-op : ∀ {ℓ} (A : Set ℓ) → Set ℓ
bin-op A = A → A → A

record Storer {ℓ} (A : Set ℓ) : Set where
  field
    operator : bin-op A
那么,如何在数据类型/记录类型/其他我不知道的内容中存储函数呢?

问题在于

record Storer {ℓ} (A : Set ℓ) : Set where
部分。这里您声明
Storer
属于
集合
范围,但是
Storer
包含
集合中的
bin op A
宇宙,并且记录不能小于其字段。因此,修复方法是将
Storer
定义在
集合中ℓ

record Storer {ℓ} (A : Set ℓ) : Set ℓ where
严格的积极性与问题完全无关

Agda中的宇宙多态性在旧版本中有描述。

问题在于

record Storer {ℓ} (A : Set ℓ) : Set where
部分。这里您声明
Storer
属于
集合
范围,但是
Storer
包含
集合中的
bin op A
宇宙,并且记录不能小于其字段。因此,修复方法是将
Storer
定义在
集合中ℓ

record Storer {ℓ} (A : Set ℓ) : Set ℓ where
严格的积极性与问题完全无关


Agda中的宇宙多态性在旧版本中有描述。

每当您收到错误消息时,请发布它。如果您尝试使用
记录存储器会怎么样{ℓ} (A:一套ℓ) : 设置ℓ 其中
?严格的正性条件仅适用于归纳性事件,而
存储者
甚至不是归纳性的。Wtf,这是有效的。请您解释更多或提供一个链接,我可以从中阅读答案吗?我对如何在Agda中使用关键字
归纳性
共归纳性
知之甚少。谢谢!您关于宇宙多态性的一些文档。我想说的是,这里的问题不是严格的积极性,而是
Storer
被定义在一个比它实际所属的(
Set
)更低的宇宙(
Set
)中ℓ)。好的,明白了。谢谢!为什么不回答这个问题并获得一些代表?每当你收到错误消息时,请发布它。如果你尝试
record Storer怎么办{ℓ} (A:一套ℓ) : 设置ℓ 其中
?严格的正性条件仅适用于归纳性事件,而
存储者
甚至不是归纳性的。Wtf,这是有效的。请您解释更多或提供一个链接,我可以从中阅读答案吗?我对如何在Agda中使用关键字
归纳性
共归纳性
知之甚少。谢谢!您关于宇宙多态性的一些文档。我想说的是,这里的问题不是严格的积极性,而是
Storer
被定义在一个比它实际所属的(
Set
)更低的宇宙(
Set
)中ℓ)。好的,明白了。谢谢!为什么不回答这个问题并接待一些代表呢?