Zero Tracing GC Pauses
Deterministic memory management via Automatic Reference Counting (ARC) with transparent Copy-on-Write (CoW). Resources are freed the microsecond they exit scope.

WYSOFIA · SYSTEMS & COMPILERS · ECUADOR
Designed from first principles to eradicate runtime crashes, garbage collection pauses, and cognitive overhead.
Zero Tracing GC Pauses
Deterministic memory management via Automatic Reference Counting (ARC) with transparent Copy-on-Write (CoW). Resources are freed the microsecond they exit scope.
Pure Value Semantics
Every variable behaves like an isolated value. Modifying a list, dictionary, or struct passed into a function never silently alters the caller’s state.
Typed Fallible Channels
No untyped exceptions or hidden panics. Operations that can fail explicitly return T ! E with postfix ? propagation and inline else err recovery.
Clean C99 & WASI Output
Lowers directly to standard ANSI C99 and WASI (wasm32-wasip1). Auditable machine code, instant startup times, and seamless C FFI interoperability.
Inspect how Wysna combines the readability of modern expressive languages with the rigor of systems programming.
## Pure value semantics: modifications never bleed across scopes!struct ServerConfig { host: str port: int}
fn main() -> unit { let base_config = ServerConfig { host: "127.0.0.1", port: 8080, }
# Assigning base_config creates a shared view (O(1) refcount bump) let mut dev_config = base_config
# Mutating dev_config triggers transparent Copy-on-Write (CoW) dev_config.port = 3000
print("Base config port: ", base_config.port) # 8080 (unmodified) print("Dev config port: ", dev_config.port) # 3000 (isolated)}## Tagged unions with exhaustive pattern matchingenum Payload { Text(str) Binary(list[int]) Empty}
fn process_payload(p: Payload) -> str { return match p { Payload.Text(msg) => "Text payload: " + msg Payload.Binary(data) => "Binary buffer of length: " + str(len(data)) Payload.Empty => "No payload" }}
fn main() -> unit { let message = Payload.Text("Deploying native binary") print(process_payload(message))}## Explicit error channels: compile-time checked recoveryfn parse_port(input: str) -> int ! str { let port = int(input) if port < 1 or port > 65535 { return error("Port must be between 1 and 65535") } return port}
fn main() -> unit { # Inline recovery using `else err` let active_port = parse_port("999999") else err { print("[WARNING] Invalid port:", err) 8080 # Fallback to port 8080 }
print("Server initialized on port:", active_port)}## Object-oriented polymorphism with constant-time vtable dispatchinterface Logger { fn log(msg: str) -> unit}
class ConsoleLogger implements Logger { prefix: str
fn init(prefix: str) -> ConsoleLogger { return ConsoleLogger { prefix: prefix } }
fn log(msg: str) -> unit { print("[" + self.prefix + "]: " + msg) }}
fn main() -> unit { let logger: Logger = ConsoleLogger.init("PRODUCTION") logger.log("Wysna engine running at native speed")}How Wysna fits within the modern programming language ecosystem.
| Feature | Wysna | C / C++ | Rust | Go | Python |
|---|---|---|---|---|---|
| Memory Safety | Deterministic ARC + CoW | Manual free() (Unsafe) |
Borrow Checker / Lifetimes | Tracing Garbage Collector | Tracing Garbage Collector |
| GC Pause Times | Zero (0ms) | Zero (0ms) | Zero (0ms) | 1ms - 20ms | 10ms - 100ms+ |
| Semantics | Pure Value Semantics | Pointers / References | Single-Owner Move / Borrow | Pointer references | Reference sharing |
| Error Handling | Fallible Channels (T ! E) |
Error codes / Exceptions | Result<T, E> (?) |
val, err tuples |
Untyped Exceptions |
| Compilation Target | Clean C99 & WASI | Machine code | LLVM IR / Machine code | Custom Machine code | Bytecode VM |
| Learning Curve | Low (Ergonomic) | High | Very High | Low | Very Low |
Get up and running with the Wysna toolchain in less than two minutes.
Install the Compiler Toolchain Clone the repository and run the automated installer:
git clone https://github.com/WashingtonYandun/Wysna.gitcd Wysna && ./install.shScaffold a New Project
Initialize a structured package with wysna init:
wysna init my_appcd my_appBuild and Run Compile and execute the program with instant feedback:
wysna run src/main.wysnaDive into the complete specification and learn how to construct production-ready software with Wysna.