Seen Language Documentation
Seen is a self-hosted systems programming language with multi-language keywords, region-based memory management, and LLVM-powered compilation.
fun main() {
let names = ["Alice", "Bob", "Charlie"]
for name in names {
println("Hello, {name}!")
}
}
Key Features
- Self-hosted compiler -- 62,000+ lines of Seen compiling itself
- Multi-language keywords -- write code in English, Arabic, Spanish, Russian, Chinese, or French
- LLVM backend -- ThinLTO, vectorization, aggressive inlining (1.0x--1.5x Rust performance)
- Region-based memory -- no garbage collector
- Fast compilation -- fork-parallel IR generation with content-addressed incremental caching
- GPU compute --
@compute shaders via Vulkan/GLSL pipeline
- SIMD intrinsics --
f32x4, i32x4, f64x2, etc.
- Async/await -- LLVM coroutine-based concurrency
Documentation
Getting Started
Core Concepts
Specialized Topics
- SIMD and GPU -- vector types and GPU compute shaders
- Multi-Language Support -- keyword translations and adding languages
- FFI -- C interop, extern functions, linking
- Tooling -- VS Code extension, LSP, formatting, debugging
Project & Build
API Reference
- API Reference Index -- standard library and runtime overview
- Core Types -- Option, Result, Unit, Ordering
- Strings -- String, StringBuilder
- Collections -- Array, Vec, HashMap, BTreeMap, etc.
- Math -- math functions and constants
- I/O -- File, stdin/stdout, reading and writing
- Process -- Command execution, environment
- Synchronization -- Mutex, RwLock, Channel, AtomicInt
- Random -- random number generators
- Bitfield -- bit manipulation types
- Binary -- serialization and compression
- JSON -- JSON derive and parsing
- Reflection -- runtime type information
- GPU -- GPU types and runtime functions