繁体   English   中英

为什么我们在 Agda 中定义数据类型后要放置一个“位置”?

[英]Why do we put a 'where' after defining data types in Agda?

假设我希望将 Bool 定义为一种类型,我会写:

data Bool : 在哪里输入

我不太明白为什么我必须在最后保留“where”,它在语法中的作用是什么? 为什么上述优先于说:

数据布尔:类型

这是武断的还是有一些深层的逻辑基础?

顺便说一句,我是一个编程菜鸟,所以请用最简单的词解释一下。

使用where关键字,我们可以编写以下内容:

data Bool : Set where true false : Bool

如果没有where关键字,这将是

data Bool : Set true false : Bool

但这将是模棱两可的: true可以定义为Level类型的元素,在这种情况下,这将使用单个构造函数false在 sort Set true中定义数据类型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM