Agda Wiki
变化
·
(集团)
·
查看
编辑
历史
打印
Bugs.20070711-1历史记录
隐藏次要编辑
-
显示对输出的更改
2007年7月11日,晚上10:27
通过
北美
-解释了问题。
增加了第26-51行:
----
这是因为构造函数不在定义它们的共同块中的类型签名的范围内。
解决方法是定义同义词:
模块MutualScopeBug,其中
相互的
data Nat:设置位置
z:国家
s:国家->国家
data Nat’:Nat->设置位置
z':自然
s':对于所有{n}->Nat'n->Nat'(s n)
z1:自然
z1=z
测试:Nat'z1->Nat'z1
测试z'=z'
我认为范围内没有构造函数的原因是为了允许
在的类型签名中提及在相互块中进一步定义的函数(如@@test@@)
施工人员。
例如,如果@@z@@在其类型中提到了@@test@@,并且@@test@也提到了@@z@,那么您可能会遇到问题。
不过,要定义同义词很难,我
希望用更方便的方式处理这种情况。
我建议您添加一个功能请求/
北美
恢复
2007年7月11日下午03:05
通过
128.243.220.21
-
将第19-20行更改为:
但是,如果我取消注释mutual,则会收到以下错误消息:
收件人:
然而,如果我取消注释
@@
相互的
@@
然后我得到以下错误消息:
恢复
2007年7月11日下午03:05
通过
128.243.220.21
-
增加了第3行:
[@
将第17-18行更改为:
收件人:
@]
添加第21行:
[@
将第24-25行更改为:
当范围检查Nat'z时
收件人:
当范围检查Nat'z时
@]
恢复
2007年7月11日下午03:02
通过
128.243.220.21
-
添加了第1-21行:
以下定义类型检查:
模块MutualScopeBug,其中
--相互的
data Nat:设置位置
z:国家
s:国家->国家
数据Nat’:Nat->设置位置
z':自然
s':对于所有{n}->Nat'n->Nat'(s n)
测试:Nat'z->Nat'z
测试z'=z'
但是,如果我取消注释mutual,则会收到以下错误消息:
不在范围内:
zat/Users/jmc/MutualScopeBug.agda:12,15-16
当范围检查Nat'z时
恢复
阿格达
主要
下载
发行说明
入门
用户手册
教程
图书馆
如何
出版物
社区
Agda会议
报告Bug
最近的更改
PmWiki帮助
编辑提要栏
编辑
|
历史
|
最近的更改
(全部)
|
搜索
页面上次修改时间:2007年7月11日晚上10:27
技术支持
PmWiki