缺少参数的中缀运算符

时间:2015-06-14 06:33:38

标签: function haskell infix-notation

Haskell是否有可能使用缺少参数的运算符(中缀函数)? (而不是-表示减法或负号)

例如,我有这个运算符:

data1 <*> data2

如果省略第一个参数,是否可以使其使用默认值?

<*> data2

1 个答案:

答案 0 :(得分:1)

不是,不。另一方面,您可以很好地定义提供默认参数的不同操作,例如

withDef data2 = {- your default value -} <*> data2

如果你真的想使用一个本来就是运算符的名字,你仍然可以用运算符名称命名这个部分应用的函数:

($<*>) data2 = {- default value -} <*> data2

可以使用前缀,如($<*>) data2或带有适当GHC扩展名的后缀,如(data2 $<*>)中所示。括号不是可选的。