Что означает подпись этой функции в sml?
Я просматриваю некоторые заметки, которые дал мой профессор относительно языка SML, и одна из функций выглядит следующим образом:
fun max gt =
let fun lp curr [] = curr
| lp curr (a::l) = if gt(a,curr)
then lp a l
else lp curr l
in
lp
end
Может ли кто-нибудь помочь объяснить, что это делает? Больше всего меня смущает строка:
let fun lp curr [] = curr
Что именно это значит? Насколько я могу судить, есть функция под названиемlp
но чтоcurr []
значит? Это аргументы? Если так, разве вам не разрешен только один параметр в sml?