例如,这个无法通过类型检查。
\cons nil -> 5 `cons` 3 `cons` nil
也不会这样
\(#) -> 5 # 3 # nil
虽然这两个都会
\cons nil -> 5 `cons` nil
\(#) nil -> 5 # nil
有没有一种方法可以在lambda表达式中为运算符指定中缀表示法?我试过了:
infixr 5 #
foo = \(#) nil -> 5 # 3 # nil
该错误出现是因为#
未被定义。
foo = \(infixr 5 #) nil -> 5 # 3 # nil
这只是一个语法错误。
我该怎么办?