我注意到在SML中有两种定义函数的方法。例如,如果你把add函数,这是两个方面:SML中int - > int - > int和(int * int) - > int有什么区别?
val add = fn : int -> int -> int
第二个创建函数类型:
fun add x y = x+y;
fun add(x,y) = x+y;
与第一种方法创建函数类型
val add = fn : int * int -> int
这两种类型对于相同功能有什么区别?还有为什么有两种类型的相同功能?
在int - > int - > int的情况下,是因为currying哪里添加第一个接受一个int,返回另一个接受另一个int并返回final int的函数? –
https://courses.cs.washington.edu/courses/cse341/09au/notes/notes07.html –