Haskell 2010报告的第5.2节涉及模块导出列表.有一次,它说:
导出列表中的实体可以命名如下:
- 无论是在模块体中声明还是导入的值,字段名或类方法都可以通过将值的名称作为qvarid来命名,该值必须在范围内.操作符应括在括号中,以将它们转换为qvarids.
...
但是,呃......我错过了什么吗?因为根据第10章中的语法参考:
qvarid →[ monid.] varid
varid →(小 { 小 | 大 | 数字 |'})
那么宇宙中将运算符放入括号中会将其转换为qvarid?它看起来像一个运算符显然是一个varsym(或可能是qvarsym).
有谁知道这里发生了什么?我的意思是,显然 Haskell肯定支持在导出列表中编写运算符,但报告中的语法描述似乎没有意义......
等等,等等……根据 10.5 节中给出的无控制语法:
导出 → qvar | qtycon ... | 数量... |
module莫尼德...
var → varid |
(瓦尔西姆)qvar → qvarid |
(qvarsym)
所以看起来它不是qvarid ,它应该是qvar。所以我猜这只是一个错字?官方报告中是否有解决此类问题的流程?
| 归档时间: |
|
| 查看次数: |
114 次 |
| 最近记录: |