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

  1. Join the goth community either by connecting to me @sigilante on X or contacting with the group on Urbit at ~fabled-wander-lagrev-nocfep/v1bba7qe (join Tlon here or explore other options here).

  2. 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.)

  3. Start your own working group or community permissionlessly. goth is like Elm or Julia: it’s an open-source project available under the MIT License.

  4. There is a $GOTH ticker 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. $GOTH is 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)