MODULE factorial = BEGIN FORWARD ROUTINE fact : NOVALUE; ROUTINE fact(n) = BEGIN IF .n LEQ 1 THEN RETURN 1 ELSE RETURN .n * fact(.n - 1); END; ROUTINE main : NOVALUE = BEGIN LOCAL result; result = fact(5); END; END ELUDOM