A
aye-lang/aye
Aye: a small systems language without a garbage collector, built so AI agents can learn it from one command…
View on GitHub ↗Link checked 2026-11-12 · HTTP 200 · opens the vendor's own site
- Star count
- 0 ★ · aye-lang/aye · read from the GitHub search API · (checked 2026-11-13 20:00:50)
- Source
- read directly from its GitHub page · type: open-source project
- Harvest history
- first seen 2026-11-01 · last seen 2026-11-14 · seen 14× · listed by 2 sources
- Score
- score 203 · 2 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
aye-lang/aye;first catalogued 2026-11-01;last seen 2026-11-14。There is no official certification or quality rating here — we record sources and dates only.# Aye
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
Aye is a small systems language without a garbage collector, built so
that an AI agent can learn it from one command and write working native
code.
Memory is managed through explicit Allocator parameters and
defer/errdefer; errors are values; there are no exceptions, no macros
and no borrow checker. The syntax is Go-like. The compiler emits C and
builds it with clang into one small native binary.
Install: curl -fsSL https://ayelang.dev/install.sh | sh (macOS and
Linux; Aye also needs clang, see Install).
aye
import std.heap.General
import std.list.List
import std.log
import std.text
// Sum the numbers in a comma-separated line, skipping bad ones.
pub fn main() !void {
var gpa = General.init()
defer gpa.deinit() // debug builds report any leak here
var nums = List(i64).init(gpa.allocator())
defer nums.deinit()
var parts = text.split("3,4,oops,5", ",")
while parts.next() |part| {
let n = text.parseInt(part) catch |e| {
log.err("skipped {}: {}", part, e)
continue
try nums.append(n)
var sum: i64 = 0
for n in nums.items() {
sum += n
@println(sum)
$ aye run sum.aye
error: skipped oops: Invalid
12
## Why Aye
Agents learn it cold. aye spec prints the core language in
under 30k tokens, and every example in it is compiled by the tests.
Fresh Sonnet agents given only aye spec and the checker passed 15 of
15 runs of five tasks (grep, line counts, an HTTP server, JSON totals,
word frequencies), with a median of 11 turns and 1 aye check call,
for 1.85 USD in all. Source: docs/aye-eval.md
(2026-10-11; rerun it with scripts/eval.py).
It scales to a browser. Dweller
is a web browser written in Aye (HTML, CSS, a JavaScript engine,
layout, painting; SDL2, FreeType and libcurl called through
@cimport), about 112k lines. CI builds and tests it against every
compiler change on main (job downstream in
.github/workflows/ci.yml).
Small, fast binaries. A 43.6 KB Aye hello HTTP server served 146k
req/s under wrk, against 70k for Go net/http (an 8.2 MB binary) and
16.6k for Node 22, on one 4-core VM. Read the caveats in
docs/aye-bench.md before quoting it: it is a
hello-world GET /, the client shares the VM with the server, Go
measured much higher on another VM shape, and the wrk script is not
committed yet.
Errors are built for agents and people alike: every error has a stable
code (aye explain E0032), many come with a fix-it that aye fix
applies, and aye check --json gives all of it as JSON.
## Install
Aye runs on macOS and Linux, arm64 and x8664 (and builds for
wasm32-wasip1). Windows is not supported. Install the latest release:
sh
curl -fsSL https://ayelang.dev/install.sh | sh
The script downloads the release tarball for
your platform from GitHub,
checks it against SHA256SUMS, unpacks it into ~/.aye (AYEHOME picks
another directory, AYEVERSION=v0.1.0 a release), and prints the line to
add to your shell profile, export PATH="$HOME/.aye/bin:$PATH". It never
uses sudo; run it again to upgrade. The Linux binaries need glibc 2.39 or
newer (Ubuntu 24.04).
Every Aye build also needs clang on PATH:
macOS: xcode-select --install (clang comes with the Command Line
Tools).
that an AI agent can learn it from one command and write working native
code.
Memory is managed through explicit Allocator parameters and
defer/errdefer; errors are values; there are no exceptions, no macros
and no borrow checker. The syntax is Go-like. The compiler emits C and
builds it with clang into one small native binary.
Install: curl -fsSL https://ayelang.dev/install.sh | sh (macOS and
Linux; Aye also needs clang, see Install).
aye
import std.heap.General
import std.list.List
import std.log
import std.text
// Sum the numbers in a comma-separated line, skipping bad ones.
pub fn main() !void {
var gpa = General.init()
defer gpa.deinit() // debug builds report any leak here
var nums = List(i64).init(gpa.allocator())
defer nums.deinit()
var parts = text.split("3,4,oops,5", ",")
while parts.next() |part| {
let n = text.parseInt(part) catch |e| {
log.err("skipped {}: {}", part, e)
continue
try nums.append(n)
var sum: i64 = 0
for n in nums.items() {
sum += n
@println(sum)
$ aye run sum.aye
error: skipped oops: Invalid
12
## Why Aye
Agents learn it cold. aye spec prints the core language in
under 30k tokens, and every example in it is compiled by the tests.
Fresh Sonnet agents given only aye spec and the checker passed 15 of
15 runs of five tasks (grep, line counts, an HTTP server, JSON totals,
word frequencies), with a median of 11 turns and 1 aye check call,
for 1.85 USD in all. Source: docs/aye-eval.md
(2026-10-11; rerun it with scripts/eval.py).
It scales to a browser. Dweller
is a web browser written in Aye (HTML, CSS, a JavaScript engine,
layout, painting; SDL2, FreeType and libcurl called through
@cimport), about 112k lines. CI builds and tests it against every
compiler change on main (job downstream in
.github/workflows/ci.yml).
Small, fast binaries. A 43.6 KB Aye hello HTTP server served 146k
req/s under wrk, against 70k for Go net/http (an 8.2 MB binary) and
16.6k for Node 22, on one 4-core VM. Read the caveats in
docs/aye-bench.md before quoting it: it is a
hello-world GET /, the client shares the VM with the server, Go
measured much higher on another VM shape, and the wrk script is not
committed yet.
Errors are built for agents and people alike: every error has a stable
code (aye explain E0032), many come with a fix-it that aye fix
applies, and aye check --json gives all of it as JSON.
## Install
Aye runs on macOS and Linux, arm64 and x8664 (and builds for
wasm32-wasip1). Windows is not supported. Install the latest release:
sh
curl -fsSL https://ayelang.dev/install.sh | sh
The script downloads the release tarball for
your platform from GitHub,
checks it against SHA256SUMS, unpacks it into ~/.aye (AYEHOME picks
another directory, AYEVERSION=v0.1.0 a release), and prints the line to
add to your shell profile, export PATH="$HOME/.aye/bin:$PATH". It never
uses sudo; run it again to upgrade. The Linux binaries need glibc 2.39 or
newer (Ubuntu 24.04).
Every Aye build also needs clang on PATH:
macOS: xcode-select --install (clang comes with the Command Line
Tools).
Listed badge (optional)
Copy this line into the README if you want the listing mark. Optional, and it does not affect being listed.
[](https://anclum.com/en/s/aye-lang-aye/)
- Source
- github · https://github.com/aye-lang/aye
- Browse by field
- Open source
- Listed by
- 2 independent sources
- added
- today
More like this
Filed under
Every tag opens the full list for that filter. Counts are the live catalogue figures.