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时
页面上次修改时间:2007年7月11日晚上10:27
技术支持PmWiki