Haskell是否有可能使用缺少参数的运算符(中缀函数)? (而不是-
表示减法或负号)
例如,我有这个运算符:
data1 <*> data2
如果省略第一个参数,是否可以使其使用默认值?
<*> data2
答案 0 :(得分:1)
不是,不。另一方面,您可以很好地定义提供默认参数的不同操作,例如
withDef data2 = {- your default value -} <*> data2
如果你真的想使用一个本来就是运算符的名字,你仍然可以用运算符名称命名这个部分应用的函数:
($<*>) data2 = {- default value -} <*> data2
可以使用前缀,如($<*>) data2
或带有适当GHC扩展名的后缀,如(data2 $<*>)
中所示。括号不是可选的。