SML中的nonfix运算符

问题描述 投票:2回答:1

我读了SML的语法,我发现在infixinfixr旁边它还包含nonfix。我试图找到一些基本的例子,但似乎没有人使用它。还尝试找到一些关于该运算符的先前线程,但没有。

nonfix背后的想法是什么?为什么似乎没有人使用它?

sml
1个回答
3
投票

nonfix将一个中缀运算符转换为元组的“常规”函数。例如,*int * int -> int类型的函数,但不能称为例如* (2,3)nonfix * 。如果由于某种原因您想要这样做,您可以执行以下操作:

* (2,3)

然后2 * 3将评估为6。

不幸的是,作为烦人的副作用,你不能再使用*了。

它似乎没有被大量使用的原因是,如果我想使用op作为常规函数,我可以使用op * (2,3):例如,*评估为6.以后无法使用op的烦恼作为中缀运算符胜过不必键入qazxswpoi的优势。

© www.soinside.com 2019 - 2024. All rights reserved.