Theme
Rust languageExperimental language 0.3Active development

Make software meaning a first-class language understood by developers, compilers, tools, and AI agents.

On this page

Codepot Lang

Codepot Lang is a strongly typed semantic application language implemented in Rust.

It models world meaning, software intent, contracts, APIs, screens, workflows, security, and reusable project foundations without embedding TypeScript, SQL, ORM, or UI-framework syntax in application source.

Current version

The active repository documents language version 0.3.

Supported source extensions are:

Module identity comes from the filesystem and Codepot.toml; source files do not declare packages.

Example

Language principles

  • Only from <module> import ... imports exist.
  • Wildcard imports require a namespace alias.
  • std.core is the small implicit prelude; other dependencies remain explicit.
  • The language is strongly and statically typed.
  • Generic arity, receivers, arguments, references, inheritance, projections, and rule changes are validated before IR.
  • Standard values such as Email, Slug, Username, Phone, and Url carry reusable default rules.
  • A use can refine an inherited rule or remove it explicitly with without("ruleName").
  • ref() creates a semantic usage without blindly copying storage-only behavior.
  • The Rust formatter is canonical for both CLI and language server.

Constructs come from the standard library

The parser does not hardcode names such as Entity, Input, Api, or Screen as grammar keywords.

They are standard-library constructs resolved by semantic analysis. This lets the language keep a small kernel while software categories evolve through typed libraries.

Documentation and tools

Ordinary comments are preserved for formatting but excluded from semantic analysis. Documentation comments attach to declarations, fields, operations, known values, and rules.

Documentation is retained in AST and IR and surfaced by hover, completion, and signature help.

Current output

Version 0.3 produces:

  • an in-memory semantic program;
  • target-neutral IR;
  • optional deterministic YAML.

Runtime loops, async execution, exceptions, filesystem access, network access, a final interpreter, and complete deterministic code generation are not yet described as finished language features.

Project configuration

Relationship to the wider ecosystem

The prototype packages prove contract and generation behavior. codepotx stabilizes runtime and artifact boundaries. Codepot Lang gives those mature ideas a purpose-built language and compiler foundation.