92c5cd59f5
- Create stdlib/Std/Io.bux with extern func declarations
- Rename C shim functions to short names (PrintLine, PrintInt, etc.)
- Update all 9 examples to use import Std::Io::{PrintLine, PrintInt};
- Remove manual extern func Std_Io_* declarations from examples
27 lines
458 B
Plaintext
27 lines
458 B
Plaintext
// Factorial - Recursive function
|
|
import Std::Io::{PrintLine, PrintInt};
|
|
|
|
|
|
func Factorial(n: int) -> int {
|
|
if n <= 1 {
|
|
return 1;
|
|
}
|
|
return n * Factorial(n - 1);
|
|
}
|
|
|
|
func Main() -> int {
|
|
PrintLine("Factorials:");
|
|
|
|
var i: int = 1;
|
|
while i <= 10 {
|
|
let fact: int = Factorial(i);
|
|
PrintInt(i);
|
|
PrintLine("! = ");
|
|
PrintInt(fact);
|
|
PrintLine("");
|
|
i = i + 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|