Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

121 Commits

OpenSSF Best PracticesLicense: MPL-2.0

Eclexia is an Economics-as-Code programming language. It treats energy, time, memory, and carbon as first-class constraints so software can optimize for performance and sustainability together.

Quick Links

What Is Eclexia?

Eclexia introduces economics directly into language semantics:

  • Resource-aware constraints in code (@requires, @provides)

  • Adaptive solution selection under changing runtime conditions

  • Shadow-price-based tradeoff decisions

  • Carbon-aware execution and scheduling

  • Multi-objective optimization declared at source level

Example shape of an adaptive function:

adaptive def matrix_multiply(A: Matrix, B: Matrix) -> Matrix
@requires: energy < 100J, latency < 500ms
@optimize: minimize energy, minimize carbon
{
@solution "gpu_accelerated":
@when: gpu_available && matrix_size > 1000
@provides: energy: 50J, latency: 100ms, carbon: 5gCO2e
{
gpu::multiply(A, B)
}
@solution "parallel_cpu":
@when: cpu_cores >= 4
@provides: energy: 80J, latency: 300ms, carbon: 8gCO2e
{
parallel::multiply(A, B)
}
}

Quick Start

# Build from source (Rust 1.75+)
cargo build --release
# Run tests
cargo test --workspace
# Run a sample program
cargo run -- run examples/hello.ecl

Compiler binary:

target/release/eclexia

For a fuller walkthrough, use GETTING_STARTED.

Documentation Index

DocumentPurposeAudience
Getting StartedInstallation, first run, and CLI usageNew users
Quick StatusSnapshot of what works and what does notUsers and contributors
SpecificationLanguage syntax and semanticsLanguage implementers
WhitepaperHigh-level design and motivationGeneral and research audience
ProofsFormal statements and theorem developmentResearchers
Formal VerificationCoq/Agda proof status and verification notesResearchers and maintainers
Implementation RoadmapMedium/long-term engineering roadmapContributors and maintainers
Toolchain StatusStatus of compiler/runtime/tooling componentsContributors
AlgorithmsAlgorithmic details and implementation notesContributors and researchers
BibliographyResearch references used by the projectResearchers

Current Status

As of QUICK_STATUS (updated 2026-02-12):

  • Alpha stage

  • Core compiler pipeline functional

  • Runtime components available with active development

  • Conformance and workspace tests are in regular use

This repository has many deep-dive documents. The README now stays focused on orientation, while detailed operational and research content lives in dedicated docs and wiki pages.

Repository Layout

eclexia/
├── README.adoc
├── compiler/ # compiler crates and CLI front-end
├── runtime/ # runtime crates (scheduler, profiling, carbon, shadow)
├── libraries/ # ecosystem libraries
├── stdlib/ # standard library sources
├── examples/ # sample .ecl programs
├── tests/ # conformance and integration tests
├── formal/ # Coq/Agda artifacts
└── docs/ # reference docs, tutorials, and generated docs

README vs Wiki

The README should remain a concise project entry point. Long-lived narrative and frequently evolving content is better placed in the wiki.

Recommended wiki destinations:

  • Architecture walkthroughs and subsystem maps

  • Backlog triage and milestone notes

  • Design discussions and ADR-style rationale

  • Research notes and reading guides

  • Contributor onboarding playbooks

Proposed wiki structure and migration map: docs/wiki/README.md

Contributing

License

Eclexia is licensed under MPL-2.0. See LICENSE and LICENSE.

Contact

Repository: https://gitlab.com/eclexia-lang/eclexia

Mission

Make resource-efficient, carbon-aware software the default, not the exception.

About

Eclexia — constraint-based resource language with dimensional types and shadow pricing

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages