Skip to content

chasebryan/orange

Repository files navigation

Orange

Official Orange emblem and wordmark

Orange is a language and toolchain for specifying, implementing, and verifying cryptography.

The goal is a production system in which a cryptographic engineer can write a mathematical specification, connect it to an efficient implementation, state the exact assurance claims that matter, and ship native artifacts together with machine-readable evidence, including independently checkable proofs and certificates where the claim kind permits them.

Orange is now in solo, pre-alpha compiler development. The repository contains the Rust compiler foundation plus the first Orange 2026 syntax slice: source locations, deterministic lexing, a bounded parser for one deliberately small module/function grammar, structured diagnostics, and the orangec command-line boundary. There is no type checker, name resolver, evaluator, code generator, standard library, proof checker, or verified cryptographic implementation yet.

Implemented behavior is solo-authored and solo-reviewed. It is not independently reviewed, formally verified, production-ready, or a cryptographic assurance claim.

Directed commitments

  • Deliver the complete language and toolchain, not a disposable prototype.
  • Build incrementally through tested components of the final production architecture; do not plan a prototype-to-rewrite phase.
  • Operate as a solo project without making development depend on unavailable contributors, reviewers, auditors, laboratories, or partner organizations.
  • Separate implementation progress from assurance claims: missing external evidence is disclosed and limits claims, not unrelated development.

Architecture direction

The current planning documents recommend the following. Individual choices are ratified incrementally before the component or claim that depends on them.

  • One language with distinct semantic strata for mathematical specifications, executable implementations, leakage-aware low-level code, probabilistic games, and proofs.
  • Explicit claim reports instead of a generic verified label.
  • Machine-readable, content-addressed evidence; proof and compilation evidence is independently checkable, and thick release bundles replay offline.
  • A small, published trusted computing base for every kind of claim.
  • Production native code, a stable C ABI, deterministic builds, and signed release provenance.

Plan

Repository and compiler foundation

The repository carries the permanent policy and evidence architecture created during Gate 0 and the first two production-lineage compiler slices:

Run the deterministic repository and compiler checks with:

make check

Passing this check demonstrates the scoped repository invariants, fixture expectations, and tested compiler behavior only. It does not prove language or compiler soundness, cryptographic correctness, a security certification, OSPS conformance, independent review, or release readiness.

The repository has no selected outbound license under D-018 and does not accept third-party pull requests for merge yet. Security reports must use the private path in SECURITY.md, never a public issue.

The name Orange is a working project name until the naming and trademark gate in the decision register is closed. Existing software and an earlier systems language already use the name.

About

Orange is a language for specifying, implementing, and verifying cryptography.

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages