Skip to content
VerileanPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Ember

A TCP/IP stack in Lean, a Lean-hosted DSL that emits C without undefined behaviour, and the stack written in that DSL — three implementations checked against each other through one trace format, on the way to small machines (ESP32-C3, Z80) and to proofs.

Directory
Ember/Spec reference stack: SLIP, IPv4, ICMP, UDP, TCP (one connection), Ethernet + ARP, DHCP client
Ember/Lang the DSL: AST, type checker, interpreter (= semantics), ember def syntax, profiles, random programs
Ember/C Clight-like C AST, Lang → C, printer
Ember/Net the stack in Ember (SLIP build)
Ember/Trace, Ember/Util trace format, ember-diff, packet decoder, pcap
runtime/common C runtime interface and SPSC ring
Tests/Ember corpus (recorded from Linux and hand-written), golden C, host harness, test suites
tools/ember fixture recording, size gate, CI script
nix-shell                  # gcc, sdcc, python3, dnsmasq, tshark
lake build
lake test                  # ≈ 3 minutes with every tool present
tools/ember/ci.sh          # lake test + size gate

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages