例如,而不是有沒有辦法在SML/NJ中獲得二元運算符的Curried形式?
- op =;
val it = fn : ''a * ''a -> bool
我寧願有
- op =;
val it = fn : ''a -> ''a -> bool
用於
val x = getX()
val l = getList()
val l' = if List.exists ((op =) x) l then l else x::l
很顯然,我可以做到這一點對我自己的,例如,
val l' = if List.exists (fn y => x = y) l then l else x::l
但我想確保我不會錯過更優雅的方式。
+1。反過來,你可以寫出'fundefur f(x,y)= f x y'。 (這對於調用像'foldl'這樣的功能是非常有用的,它需要一個二進制函數。) – ruakh 2015-09-21 02:47:20