Known Limitations
Wyn is honest about what works and what doesn't.
Runtime
- Recursive spawn -
spawninside recursive functions works reliably up to ~28K outstanding tasks (e.g.,fib(22)). Beyond that, the thread pool can deadlock. Use sequential recursion for deep trees,spawnfor parallel leaf work. - Spawn with closures -
spawnrequires a function pointer. Closures (which capture variables) can't be spawned directly. Workaround: use a regular function with explicit parameters. - Integer overflow - silent wrap-around. Use
Math.checked_add()for detection. string.len()returns bytes - UTF-8 byte count, not character count.- Sort performance -
[int].sort()is ~15x slower than Go for 1M elements due to tagged-union array representation. Fast enough for most use cases (15ms for 1M).
Compile Time
- Compile speed -
wyn buildtakes ~400ms (dev) or ~1.1s (release). The bottleneck is the C compiler (clang/gcc), not Wyn's codegen (11ms). Go's purpose-built compiler is ~3x faster.
Platform Notes
- Windows cross-compilation - not yet supported from macOS. Linux x64/ARM64 work.
- Windows regex - uses built-in NFA engine. No backreferences.
- Mobile -
system()/popen()return stubs on iOS/Android. - WASM - not yet supported. Runtime has POSIX dependencies that need
#ifdefguards.
See Also
- FAQ - common questions
- Benchmarks - performance numbers
- Version History - all releases