A timing-explicit language for hardware simulation.
Ted ("The Teddy Bear Language") makes time a first-class citizen with the @ operator for intuitive time travel semantics.
mod blink {
out led: bit,
loop {
led = !led @ +500ms; // toggle every 500ms
}
}
- Time Travel - Read past values with
x @ -1, schedule future withx = 1 @ +10ns - Event-Driven - React to signal changes with
on rising(clk)/on change(sig) - Rust-Like - Familiar syntax for systems programmers
- Deterministic - Same input always produces identical output
# Build
cargo build --workspace
# Check a source file
cargo run -p ted-cli -- check examples/blink.ted
# Run tests
cargo test --workspaceBuild and view the docs locally:
mdbook serve docs/Or read online at ted-lang.org (coming soon).
crates/
โโโ ted-ir # Shared IR utilities (spans, IDs)
โโโ ted-diagnostics # Error reporting
โโโ ted-lexer # Tokenization
โโโ ted-parser # AST and parsing
โโโ ted-cli # Command-line interface
docs/ # Language documentation (mdbook)
examples/ # Example Ted programs
See AGENTS.md for build instructions and coding standards.
Ted is licensed under GPL-3.0.