seed Overview

seed is a statically typed, imperative, expression-oriented systems language. It targets straightforward Python-like readability where possible while retaining C/Rust-class control over layout, execution, linkage, and low-level hardware access.

The language has no GC, lifetime syntax, exception unwinding, hidden async runtime, or mandatory libc. Costs such as allocation, deep clone, reference- count retain, blocking, syscalls, and dynamic loading are explicit.

Current identity

Core model

Small core and ecosystem

Files, networking, processes, serialization, formatting, collections, and synchronization live in separately compiled libraries. Hosted libraries are shared dynamically by default; static linkage is explicit. Freestanding, kernel, driver, and boot programs use the same language under restricted runtime profiles.

Current limits

The clean compiler implements phase-1 and phase-2 f-strings for text, bool, integers, IEEE-754 floats, format specifiers, and static display/debug traits. It does not implement legacy enum, capitalized nominal names, return, # comments, built-in chan<t>/send/recv, detached spawn, macros, or a language-level handle returned directly by spawn. The task library provides typed structured results. Reproducible packages, LSP, doc/lint, and exact incremental artifacts are implemented by Gate 15 tooling.

Gate 14 portability is still in progress: Windows x86-64 has required Wine execution evidence; macOS x86-64 awaits native Intel execution and macOS arm64 remains explicitly cross-link-only.

Start here