更改函数类型的固定性 (->)?

Change fixity of function type (->)?

做一些类型级别的计算我已经到了想要更改 -> 的固定性的地步,因为它不能与固定性 0 的左结合类型运算符混合。我知道不能直接与 TypeOperators 扩展和 infixr 1 -> 一起使用,因为它只 returns 错误 parse error on input ‘->’.

是否有任何扩展或其他方法来修改函数类型运算符的固定性?

你可以做一个同义词:

{-# LANGUAGE TypeOperators #-}

infixr 1 ~>
type (~>) = (->)