根据 David MacQueen 在他对标准 ML报告1 的思考,
词法范围的中缀指令是 Pop-2 的一个不明智的遗产。它们使解析变得复杂并且它们不能很好地与模块系统一起工作,因为中缀指令不能通过结构导出或在签名中指定(并且添加这样的功能不是一个好主意)。
现在我确实同意他的说法,即infix[r]声明的私有范围是一个坏主意,它使导入的用户定义运算符变得毫无用处,但我为此设想的解决方案是实际导出签名中的这些声明..彻底摆脱它们。
在我所知道的具有固定性声明的语言(ML 和派生类、Haskell 和派生类、Prolog 等)中,我对它们是否记录了该想法的优点和/或缺点很感兴趣。更一般地说,语言实现者的既定设计经验可以为看起来(从用户角度)一个很好的便利功能的缺点带来有趣的见解。
所以我的问题是,简而言之,文献中是否有引用和/或已知问题支持 MacQueen 关于不输出固定性的观点?