# Gojo > Gojo is a small, fast-compiling systems programming language with no garbage collector and no nil. Ownership without lifetime annotations frees memory and rules out data races; errors are values; concurrency is structured. Individual Markdown pages are listed below. All documentation is also available at https://gojo.egoist.dev/llms-full.txt. ## Documentation - [Gojo documentation](https://gojo.egoist.dev/docs.md): Gojo is a small, fast-compiling systems programming language with no garbage collector and no nil. Ownership, without lifetime annotations, frees memory and rules out data races; errors are values; concurrency is structured. - [Concurrency (design notes)](https://gojo.egoist.dev/docs/concurrency.md): Status: implemented (Nov 2026). This file keeps the reasons; the rules are in the language reference, spec.md section 10. It started as a proposal to redesign Gojo's goroutines; the last section lists where the result differs from the proposal, and what came later. - [Gojo Language Design](https://gojo.egoist.dev/docs/design.md): Nov 4, 2026 - [Packages (M6 design)](https://gojo.egoist.dev/docs/packages.md): Status: proposal. Once agreed, the rules move into the language reference (spec.md) and this file keeps the reasons. - [Gojo language reference](https://gojo.egoist.dev/docs/spec.md): This document describes the language that the current compiler implements. It is the precise version of design.md: the design document explains why; this one states the rules. The "Tests" line at the end of each section lists the test files that cover its rules: - [The standard library](https://gojo.egoist.dev/docs/std.md): The prelude is available everywhere; other modules are imported with use std/name (use std/{os, json} for several). - [bufio](https://gojo.egoist.dev/docs/std/bufio.md): Buffered reading and writing on top of io.Reader / io.Writer. - [fmt](https://gojo.egoist.dev/docs/std/fmt.md): Formatting and printing. The functions here are built into the compiler. - [http](https://gojo.egoist.dev/docs/std/http.md): HTTP/1.1: a server built on tasks, scopes and cancellation, and a small client. Plain HTTP only (no TLS). - [io](https://gojo.egoist.dev/docs/std/io.md): Errors from the operating system, files, processes and the network, and the interfaces for streams of bytes. - [json](https://gojo.egoist.dev/docs/std/json.md): JSON: parse text into a json.Value tree and encode it back. - [math](https://gojo.egoist.dev/docs/std/math.md): Floating-point math and integer limits. - [net](https://gojo.egoist.dev/docs/std/net.md): TCP networking. Calls block only the calling task: while one waits for the network, others keep running on its thread. - [os](https://gojo.egoist.dev/docs/std/os.md): Files, directories, the environment and processes. - [prelude](https://gojo.egoist.dev/docs/std/prelude.md): The prelude: available in every Gojo file without an import. It holds the methods of the built-in types (str, String, slices, Vec, Map, ?T, T ! E, rc, Mutex, channels...), the error interface, panic and assert, and a few general types: Set, Arena, Hasher, Span. Functions without a body are implemented by the compiler or runtime. - [strings](https://gojo.egoist.dev/docs/std/strings.md): Building strings piece by piece. - [task](https://gojo.egoist.dev/docs/std/task.md): Tasks and cancellation. - [time](https://gojo.egoist.dev/docs/std/time.md): Time: a monotonic clock for measuring, the wall clock and calendar dates. - [A tour of Gojo](https://gojo.egoist.dev/docs/tour.md): Gojo is a compiled systems language with Go's simplicity, no garbage collector and no nil. Memory is managed by ownership, like Rust, but there are no lifetime annotations: references can't be stored, only used, so the compiler checks them without help. Concurrency is Go's go, channels and select, made structured: every task belongs to a scope that waits for it.