Phase 5-7: generic inference, extend Type<T>, String stdlib, Map<K,V>, self-hosting audit, docs update

This commit is contained in:
2026-05-31 13:06:29 +03:00
parent 25f846bb00
commit 5c1a00cbd6
17 changed files with 1329 additions and 134 deletions
+23
View File
@@ -0,0 +1,23 @@
// Generic function type inference — multiple type parameters
import Std::Io::{PrintLine, PrintInt};
struct Pair<T, U> {
first: T,
second: U,
}
func MakePair<T, U>(a: T, b: U) -> Pair<T, U> {
return Pair<T, U> { first: a, second: b };
}
func Pair_GetFirst<T, U>(self: *Pair<T, U>) -> T {
return self.first;
}
func Main() -> int {
// Inferred: T = int, U = String
let p: Pair<int, String> = MakePair(42, "hello");
PrintInt(p.GetFirst());
PrintLine("");
return 0;
}