FAQ
Common questions about the Wyn programming language.
What is Wyn?
Wyn is a compiled programming language that transpiles to C. It combines the simplicity of Python with the performance of Go — structs with inline methods, spawn/await concurrency, and a batteries-included standard library.
Is Wyn production ready?
Yes. Wyn v1.8.0 ships with 27 stdlib modules, 270+ methods, a comprehensive test suite (48 tests), and active development.
What can I build with Wyn?
- CLI tools and system utilities
- Web servers and APIs
- Desktop apps (via GUI module)
- Games
- Data processing pipelines
- Python libraries (via
--pythonflag)
How does compilation work?
Wyn uses a two-stage process:
- Wyn → C (the Wyn compiler)
- C → native binary (bundled TCC or your system's C compiler)
sh
wyn run hello.wyn # compile + run (~300ms)
wyn build hello.wyn # compile to binary
wyn build hello.wyn --release # optimized binaryDoes Wyn have garbage collection?
No. Wyn uses Automatic Reference Counting (ARC) — deterministic, no GC pauses, minimal overhead.
How do I handle errors?
wyn
fn safe_div(a: int, b: int) -> ResultInt {
if b == 0 { return Err("divide by zero") }
return Ok(a / b)
}
var result = safe_div(10, 0)
var value = result.unwrap_or(-1) // -1Does Wyn support concurrency?
Yes — lightweight tasks with spawn/await (3μs overhead, pooled coroutine stacks) and channels:
wyn
var f1 = spawn compute(100000)
var f2 = spawn compute(200000)
var total = await f1 + await f2Can I see the generated C code?
Yes:
sh
wyn run hello.wyn --debug
cat hello.wyn.cWhat are the system requirements?
- OS: Linux, macOS, or Windows
- No external dependencies (TCC is bundled)
- Optional: GCC/Clang for
--releasebuilds
File extensions
Both .wyn and .🐉 are supported everywhere — CLI, imports, editor extensions.