哈斯克尔报告中一个不起眼的角落
Haskell 2010报告的第5.2节涉及模块导出列表。 它曾说过:
出口清单中的实体可以命名如下:
...
但是,呃...我错过了什么? 因为根据第10章中的语法参考:
qvarid→[monid。 ] varid
varid→(small {small | large | digit |'})
那么在哪个宇宙中将括号中的运算符变成了一个qvarid? 它看起来像一个运营商显然是一个varsym(或可能qvarsym)。
有人知道这里发生了什么吗? 我的意思是,显然Haskell明确支持在输出列表中编写运算符,但报告中的语法描述似乎没有意义。
等待,等待......根据第10.5节中给出的无控制语法:
导出→qvar | qtycon ... | qtycls ... | module
monid
...
var→varid | (
varsym )
qvar→qvarid | (
qvarsym )
所以它似乎不是一个qvarid,它应该是一个qvar。 所以这只是一个错字,我猜? 有没有在官方报告中修正这些问题的流程?
链接地址: http://www.djcxy.com/p/87451.html上一篇: An obscure corner of the Haskell Report
下一篇: Having a Kafka Consumer read a single message at a time