-- Factorial function in Leda
function factorial(n: integer): integer is
begin
  if n <= 1 then
    return 1;
  else
    return n * factorial(n - 1);
  end if;
end factorial;

-- Main program
begin
  var i: integer;
  for i := 1 to 10 loop
    write("factorial(", i, ") = ", factorial(i));
  end loop;
end;