Production pass: floats, GC, type checking, and tooling

Adds floats, bitwise ops, UTF-8 strings with methods, try/catch,
closures, generics validation, a compile-time type checker, a
mark-and-sweep GC, source-level debug info, constant folding, and
the repl/fmt/package-manager commands.

🤖 Generated with Codebuff
Co-Authored-By: Codebuff <noreply@codebuff.com>
This commit is contained in:
allexanderbergmns
2026-08-25 14:29:15 +02:00
parent b0a4da7e2f
commit 9b22be48a5
27 changed files with 3638 additions and 166 deletions
+26
View File
@@ -0,0 +1,26 @@
// generic function syntax (V-style type parameters)
// generic functions: type params are parsed but the VM handles types dynamically
fn first[T](arr) {
return arr[0]
}
fn last[T](arr) {
let n = len(arr)
return arr[n - 1]
}
fn main() {
// works with integers
let nums = [10, 20, 30]
println("first num: ${first[int](nums)}")
println("last num: ${last[int](nums)}")
// works with strings
let words = ["hello", "world", "foo"]
println("first word: ${first[string](words)}")
println("last word: ${last[string](words)}")
// type args are optional (VM is dynamically typed)
println("first (no type arg): ${first(nums)}")
}