RosettaCodeData/Task/Factorial/Dylan/factorial-3.dylan

14 lines
231 B
Dylan

define method factorial (n)
if (n < 1)
error("invalid argument");
end;
local method loop (n)
if (n <= 2)
n
else
n * loop(n - 1)
end
end;
loop(n)
end method;