Independent by design · no pay-to-rank placements  · How we evaluate tools →
Anclum Submit
V

vkuttyp/CeeSafe

CeeSafe: a memory-safe systems language with Java, C# and Typescript style syntax, compiled to portable C

Before you install: no copy-paste command · no license recorded · link reachable

First step: nothing runnable here yet - start from the repository: https://github.com/vkuttyp/CeeSafe

View on GitHub ↗Link checked 2026-11-12 · HTTP 200 · opens the vendor's own site
Star count
0 ★ · vkuttyp/CeeSafe · read from the repository page · (checked 2026-11-13 20:00:50)
Source
read directly from its GitHub page · type: open-source project
Harvest history
first seen 2026-11-03 · last seen 2026-11-14 · seen 12× · listed by 1 sources
Score
score 103 · 1 sources · repo
FAQ (answers come from our records)
Who is it for?
We filed it under these tags: 开源项目. The tags come from the entry itself, not a taxonomy we imposed.
Who maintains it?
repository vkuttyp/CeeSafe;first catalogued 2026-11-03;last seen 2026-11-14。There is no official certification or quality rating here — we record sources and dates only.

# CeeSafe

以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →

Memory-safe systems programming, compiled to C.
CeeSafe is a systems programming language with C#-, Java- and TypeScript-style syntax and Rust-style ownership and
borrowing.
ceesafec compiles it ahead of time to portable, readable C11, so a CeeSafe program runs wherever a C compiler does:
Linux, macOS and Windows, bare metal, and inside an operating system kernel. There is no garbage collector and no
reference counting; values are destroyed deterministically. The compiler is written in CeeSafe and rebuilds itself to
the same bytes.
Documentation ·
Getting started ·
Specification ·
Releases ·
Performance
ceesafe
struct Account {
id: u64;
balance: i64;
public fn deposit(borrow mut this, amount: i64) {
this.balance += amount;
drop {
Console.write("closing account ");
Console.writeLine(this.id);
fn main() {
var account = Account { id: 7, balance: 0 };
account.deposit(100);
Console.writeLine(account.balance);
text
100
closing account 7
## Why CeeSafe
In safe code (everything outside an unsafe block), CeeSafe rules out:
use after free and double free: every value has one owner and is destroyed exactly once;
dangling references: a reference cannot outlive what it refers to, checked without lifetime annotations in most
code;
conflicting access: while something is borrowed it cannot be changed, and while it is borrowed mutably nothing
else can read it;
out-of-bounds access and uninitialised reads: indexes are checked, and variables must be assigned before use;
silent integer overflow: overflow stops the program in every build; wrapping is written explicitly
(x.wrappingAdd(y)).
And beyond safety:
Structured async and threads. async fn and await run many waits on one thread (timers, sockets, files,
channels, DNS) with no garbage collector and no task that outlives its caller: Async.scope starts children that may
borrow the caller's locals and have all returned when it does, Async.tasks starts them as work comes (a task per
connection, up to a limit), Async.race and Async.all take two, a failure cancels the rest, and Async.timeout
bounds any of it. Each task's frame has a size known at compile time and never
moves. TCP and UDP sockets speak IPv4 and IPv6 on epoll, kqueue, iouring and IOCP, with socket options, vectored
sends, files sent by the kernel (sendfile, TransmitFile), datagrams with ECN bits and segments, and portable
network errors. Async.runWorkers spreads
tasks over threads; Thread.spawn, Thread.both, Arc, Mutex and atomics share data, with Send and Share
checked.
Explicit, pluggable allocation. Each allocation chooses its allocator: the system heap, an arena, a pool, a fixed
buffer, a scratch frame, or your own. Allocation failure is a value, Result , handled or propagated
with ?. A box that cannot escape its function is placed on the stack.
C you can read. Structured, warning-clean C11 for clang, gcc and MSVC, with #line maps back to CeeSafe source
for lldb and gdb, and a reference interpreter that runs the same programs.
Ready for kernels. A freestanding profile with no C library, context effects that reject sleeping under a spin
lock, lock guards and kernel objects, and an async executor over the kernel's own hooks. CeeSafe states C's own
Listed badge (optional)
Copy this line into the README if you want the listing mark. Optional, and it does not affect being listed.
[![Listed on Anclum](https://anclum.com/badge/listed.svg)](https://anclum.com/en/s/vkuttyp-ceesafe/)
Source
github · https://github.com/vkuttyp/CeeSafe
Browse by field
Open source
added
today

More like this

All 1,671 →

Filed under

Every tag opens the full list for that filter. Counts are the live catalogue figures.

Browse all fields →

← Back to index