Codync
A free, open-source 1:1 alternative to Grok Bot and Muse. Message Claude Code, Codex, Cursor and 40+ coding agents as persistent bots from your iPhone, Mac or Linux desktop. Group chats, threads, appr
Tarn is a statically typed systems programming language with compile-time ownership, inferred lifetimes, native Linux x86_64 and ARM64 machine code, and zero mandatory garbage collection.
Developer toolsGitHub @tarn-lngOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
Tarn systems language: compiler frontend, language design, and tooling
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗A memory-safe systems language without a mandatory GC: ownership and borrowing checked at compile time, inferred lifetimes, small regular syntax, official tooling. Linux x86_64 and ARM64 (aarch64).
fn add(a i32, b i32) i32 {
return a + b
}
fn main() {
value := add(20, 22)
print(value)
}
Status: ownership and executable drops are implemented; the Cranelift Linux x86_64/ARM64 backend supports build and run (ADRs 0027 and 0079). See docs/roadmap.md.
cargo build --release
./target/release/tarn check examples/02_add.tarn
cargo test
Docs: language · ownership · errors · architecture · ADRs · packages · dependency security. Editor: editors/vscode.
Requires Rust 1.88+, a system cc, C11/libc headers and libm on Linux x86_64 or ARM64.
git clone https://github.com/tarn-lng/tarn && cd tarn
cargo build --locked --release
./target/release/tarn run examples/01_hello.tarn
./target/release/tarn init /tmp/hello-tarn && cd /tmp/hello-tarn
"$OLDPWD/target/release/tarn" run
The integrated CLI supports init, add, remove, update, fetch, deps,
verify, audit and immutable local publish. Projects use tarn.toml and
tarn.lock; normal builds verify cached sources offline without changing the lock.
Choose a local registry or HTTPS origin; no public registry is configured by
default. Packages receive no installation/build hook authority. See
the package guide for a complete local workflow and the
explicit limits around publisher provenance and registry infrastructure.
Requires system cc, C11/libc headers and libm. From a compiler checkout:
cargo run -p tarn -- run tests/native/pass/milestone.tarn
# 42
cargo run -p tarn -- build tests/native/pass/milestone.tarn -o /tmp/tarn-milestone
/tmp/tarn-milestone
tarn build file.tarn writes file beside the source; tarn run uses a temporary
executable and removes it. Scalars, concrete structs/enums/arrays, thin references,
direct calls and executable drops are supported. Reachable generic instances, borrowed
slices, borrowed nonescaping closures and escaping owned move fn closures also execute. Stored callables support shared, mutable and consuming invocation (ADR 0032). Borrowed dynamic interface calls also execute. Owned spawn move fn tasks execute on pthreads with consuming join and join on handle destruction (phase 11A). Transfer/Share bounds and scoped borrowing execute through the same ownership and loan pipeline (phase 11B). Mutex owners/guards and six concrete sequentially consistent atomics provide synchronization (phase 11C; ADR 0033). See the complete Phase 11 report. Unmodeled external ABI
execution remains unsupported; unknown std APIs reject semantically with E3040.
See ADR 0027 for exact ABI, layout and restrictions.
Native feature completion after phase 7 adds reachable generic specialization,
concrete generic ADTs, borrowed fat slices, nonescaping borrowed closures and
checked shifts/float-to-int casts. Unknown bootstrap stdlib APIs now fail with
E3040. See ADR 0028 and
ADR 0029. Reusable callable
invocations borrow their environments; consuming callables move them. Native
optimization is enabled by default (Cranelift speed, runtime -O2), with
bounded inlining and proven-arithmetic optimization; see ADRs 0056–0057.
Borrowed dynamic interfaces and declaration-derived semantic contracts are covered
by ADR 0030,
ADR 0031 and the
phase report.
Blocking and explicit nonblocking Linux TCP/UDP networking with level-triggered
epoll is available through import "net", with owned sockets, safe borrowed
slices and Result errors. See the API,
the Phase 12B report and
the echo example. Phase 12C adds
manual suspended operations and a single-thread executor.
async fn and await lower onto that model (Phase 13,
ADR 0037), with cooperative
spawn_async tasks, timeouts and buffered async I/O on a single-thread
executor; see the async example. Async support is
early: there are no async closures or blocks, select, cancellation or
multi-thread executors yet.
Scalar C FFI, raw pointers and static C callbacks are documented in the
FFI guide. Native linking does not verify or isolate foreign C.
For current public stdlib signatures, use tarn stdlib --json; the catalog
reflects the installed binary, not later source edits. Phase plans/reports
record historical scope and measurements; later guides and ADR extensions may
supersede their limitations.
See CONTRIBUTING.md and the Code of Conduct.
Licensed under either of Apache License, Version 2.0 or MIT license at your option.