Was bedeutet diese Funktionssignatur in sml?
Ich schaue mir einige Notizen an, die mein Professor zur Sprache SML gegeben hat, und eine der Funktionen sieht folgendermaßen aus:
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
Könnte jemand erklären, was dies tut? Was mich am meisten verwirrt, ist die Zeile:
let fun lp curr [] = curr
Was genau bedeutet das? Soweit ich das beurteilen kann, gibt es eine Funktion namenslp
aber was macht dascurr []
bedeuten? Sind das Argumente? Wenn ja, ist nicht nur ein Parameter in sml erlaubt?