Repositories that implement the MeTTa language (compilers, interpreters, formal specifications), MeTTa developer tooling, and MeTTa execution services. For the language design and formal semantics, see MeTTa Programming Language Full.
| Repo | Language | Execution Model | Maturity | Purpose |
|---|---|---|---|---|
| hyperon-experimental | Rust + Python + C | Interpreter (reference) | Operational | Official reference MeTTa implementation (v0.2.10). Deep Python integration via C API. PyPI: pip install hyperon. |
| PeTTa | SWI-Prolog | Prolog WAM compilation | Operational | High-performance compiler with Smart Dispatch. Execution speed comparable to handwritten Prolog. MORK FFI integration. |
| metta-wam | SWI-Prolog + Python | Warren Abstract Machine | Operational | WAM-based MeTTa with bidirectional execution, probabilistic reasoning, REPL, LSP server, and Jupyter kernel. |
| jetta | Kotlin | JVM bytecode via ASM | Operational | JVM compiler with ANTLR parsing, REPL, HTTP server module, and custom Space implementations. |
| metta-morph | Chicken Scheme | Macro translation | Operational | MeTTa-to-Scheme translator achieving 10–200× speedup. Compiles to native binaries via csc. |
| MeTTaTron | Rust | Tree-walk interpreter + Tokio batch async | Experimental (main stagnant, branches active) | F1R3FLY-native runtime targeting Rholang via direct Rust linking. Tree-sitter parser; iterative trampoline evaluator; HashMap for multiset set-ops, MORK/PathMap for rule storage and pattern-match queries. At HEAD efee4be (2026-01-19) the compile function is parse-to-state, not code generation — compilation work lives on unmerged feature branches. Rule matching filters to most-specific rules (divergent from hyperon-experimental v0.2.10 catchall semantics). Requires nightly Rust and sibling MORK/PathMap/f1r3node checkouts. See MeTTa runtime cluster pilot Source 3, closed 2026-05-13. |
| MeTTa-IL | Scala 3 + Haskell | GSLT pipeline | Experimental | Intermediate language with BNFC grammar generation and hypercube transformation pass. Two-stage build. |
| FormalMeTTa | Scala 3 | Literal spec implementation | Experimental | Reference implementation of the preliminary MeTTa specification. Library only — no CLI runner. |
| atomspace-metta | C++ | ForeignAST bridge | Experimental | Proof-of-concept executing MeTTa on classical C++ AtomSpace. Partial — match/unification not yet implemented. |
| metta-lsp | TypeScript | N/A (tooling) | Operational | VS Code LSP extension with Tree-sitter parsing, go-to-definition, hover, completion, rename, formatting. |
| vspace-metta | MeTTa / Prolog / Python | Version Space + MeTTaLog | Operational | Version Space Candidate Elimination in MeTTa with FlyBase bio data integration (56M+ atoms). Includes REPL and Jupyter kernel. |
| MettaWamJam | SWI-Prolog / Python | HTTP REST service | Operational | Lightweight web REPL and REST API for MeTTa via PeTTa transpiler. Docker-ready. Optional MORK/FAISS/PyTorch integrations. |
| metta-testsuite | MeTTa / Python | N/A (test infrastructure) | Operational | Cross-implementation compatibility test suite with CI, JUnit conversion, and nightly reports. Tests Hyperon, MeTTaLog, MORK, metta-morph. |
| metta-prebuilt-binary | Rust | N/A (tooling) | Operational | Prebuilt MeTTa binaries plus metta-run CLI with output formatting and install scripts. |
| metta-catalog | JSON | N/A (tooling) | Operational | Official JSON registry of public MeTTa modules for package discovery and resolution. |
| jupyter-petta-kernel | Python | N/A (tooling) | Operational | Jupyter kernel for executing MeTTa code via PeTTa in notebook environments. |
The implementations form a convergent family — multiple execution strategies targeting the same language semantics:
efee4be MeTTaTron is a tree-walk interpreter with tree-sitter parsing and direct-Rust Rholang integration via the shared f1r3node/models protobuf types; the "compiler" framing in the repo name applies to the unmerged feature-branch roadmap (WAM backend, JIT, bytecode-VM), not to main. Notable runtime divergence from hyperon-experimental: rule matching filters to most-specific rules (suppressing catchalls), where v0.2.10 returns both. Multiset set operations (union-atom, intersection-atom, subtraction-atom, unique-atom) moved from PathMap to HashMap in 2025-12-29 with empirical 3.5–5.3× speedup; PathMap retained for rule/atom storage and MORK pattern-match queries.Fastest path to running MeTTa code:
# Option 1: Python (reference implementation)
pip install hyperon
python -c "from hyperon import MeTTa; m = MeTTa(); print(m.run('!(+ 1 2)'))"
# Option 2: PeTTa (high-performance, requires SWI-Prolog 9.3.9+)
cd PeTTa && sh run.sh ./examples/fib.metta
# Option 3: MeTTaLog (WAM-based, requires SWI-Prolog with Janus)
source ./INSTALL.sh --allow-system-modifications
mettalog --repl
# Option 4: JeTTa (JVM, requires JDK 17+)
cd jetta && ./gradlew build && ./gradlew run
# Option 5: MeTTa-Morph (native compilation, requires Chicken Scheme)
cd metta-morph && sh run_scheme.sh examples/fib.metta
Most repos target distinct execution strategies rather than forking a single codebase. Known mirrors and variant relationships:
pip install hyperon and the metta-examples repo.