Haskell 报告的一个不起眼的角落

An obscure corner of the Haskell Report

Haskell 2010 年报告的第 5.2 节涉及模块导出列表。在某一时刻,它 says:

Entities in an export list may be named as follows:

  1. A value, field name, or class method, whether declared in the module body or imported, may be named by giving the name of the value as a qvarid, which must be in scope. Operators should be enclosed in parentheses to turn them into qvarids.

...

但是,呃……我是不是漏掉了什么?因为根据 Chapter 10 中的语法参考:

qvarid → [ monid . ] varid

varid → ( small { small | large | digit | ' })

那么在哪个宇宙中将运算符放在括号中会将其变成 qvarid?在我看来,运算符显然是 varsym(或者 qvarsym)。

有人知道这里发生了什么吗?我的意思是,很清楚 Haskell绝对支持在导出列表中写入运算符,但报告中的语法描述似乎没有意义...

等等,等等……根据10.5节给出的无控制语法:

export → qvar | qtycon ... | qtycls ... | module monid

...

varvarid | ( varsym )

qvarqvarid | ( qvarsym )

所以它似乎是不是一个qvarid,它应该是一个qvar .所以这只是一个错字,我猜?官方报告中是否有修复此类问题的流程?