26 lines
490 B
Plaintext
26 lines
490 B
Plaintext
// Generic function type inference — calls without explicit type args
|
|
import Std::Io::{PrintLine, PrintInt};
|
|
|
|
func Max<T>(a: T, b: T) -> T {
|
|
if a > b {
|
|
return a;
|
|
} else {
|
|
return b;
|
|
}
|
|
}
|
|
|
|
func Main() -> int {
|
|
// Inferred: T = int
|
|
let m1: int = Max(10, 20);
|
|
let m2: int = Max(5, 3);
|
|
|
|
PrintLine("Max(10, 20) = ");
|
|
PrintInt(m1);
|
|
PrintLine("");
|
|
|
|
PrintLine("Max(5, 3) = ");
|
|
PrintInt(m2);
|
|
PrintLine("");
|
|
|
|
return 0;
|
|
} |