在Haskell 98报告书中,我发现了以下内容:
并没有提供为什么不允许使用中缀类型构造器的原因。在Agda等语言中,常见使用中缀类型构造器。那么为什么Haskell不允许呢?上方给出了Haskell类型表达式的语法。就像数据值是使用数据构造器构建一样,类型值是从类型构造器构建的。与数据构造器不同的是,类型构造器的名称以大写字母开头。除了(->)之外,不允许使用中缀类型构造器。