about goth
a language for machine spirits
What is Goth?
Goth is an LLM-native programming language designed for efficient code generation, editing, and comprehension by large language models. It combines functional programming principles with tensor computation and formal verification.
Design Philosophy
- Homoiconic: Code is data. The AST is the source of truth.
- De Bruijn Indices: Variables referenced by binding depth, not names.
- Unicode Operators: Dense semantic compression for LLMs.
- Contracts: Preconditions and postconditions are the function.
- Shape-First Types: Tensor shapes in the type system.
- Effect System: Pure by default, explicit effects.
How to Get Involved
-
Join the
gothcommunity either by connecting to me@sigilanteon X or contacting with the group on Urbit at~fabled-wander-lagrev-nocfep/v1bba7qe(join Tlon here or explore other options here). -
Use the language. The source code is available at
sigilante/goth. We need benchmarks with various LLMs (instructions are in the benchmarks/ directory) and we need more examples of programs written in the language. (We’re particularly interested in examples that show off the language’s strengths in areas like type-level reasoning and semantic compression.) -
Start your own working group or community permissionlessly.
gothis like Elm or Julia: it’s an open-source project available under the MIT License. -
There is a
$GOTHticker on bags.fm. This is an experimental meme coin which I did not create or launch. Someone designated me as the fee recipient, so I receive 1% of trading volume. I do not endorse, recommend, or promote this token. Claiming fees ≠ endorsement.$GOTHis a highly speculative instrument with no connection to the goth language project, no roadmap, and no utility. This is not financial advice and I’m not a financial advisor. Memecoins are extremely risky, as most lose nearly all value. I’m claiming these fees out of curiosity about the platform’s model, not because I believe this token has value. Do not buy this expecting to support the goth project: there are better ways to contribute if that’s your goal (see the above).
Example
# Matrix normalization with contracts ╭─ normalize : [n]F → [n]F │ ⊢ len ₀ > 0 │ ⊨ abs(norm ₀ - sqrt(len ₀)) < 0.0001 ╰─ let arr ← ₀ ; μ ← Σ arr / len arr ; σ ← √(Σ ((arr ↦ (λ→ ₀ - μ)) ↦ (λ→ ₀ × ₀)) / len arr) in (arr ↦ (λ→ ₀ - μ)) ↦ (λ→ ₀ / σ)
Status
✅ Implemented: Full interpreter, parser, runtime contracts
🔲 In Progress: Type checker, static analysis
🔲 Planned: Native compilation (MLIR → LLVM)