Help for this page
fun sum [ ] = 0 | sum (h::t) = h + (sum t); fun length [ ] = 0 | length (h::t) = 1 + (length t);
multi sub sum () returns Int { 0 } multi sub sum (*$x, *@xs) returns Int { $x + sum(@xs) } multi sub length () returns Int { 0 } multi sub length (*$x, *@xs) returns Int { 1 + length(@xs) }
sub sum { return 0 unless @_; ... shift; return 1 + length(@_); }