description
MeTTa (Meta-Type Talk) is a programming language designed to be the native “language of thought” for AGI. It was designed to serve as the central cognitive calculus for the Hyperon AGI framework — a universal glue that allows diverse AI components (e.g. neural networks, probabilistic reasoners, evolutionary models, etc.) to communicate, collaborate, and synergistically integrate their capabilities.
Rooted in principles of both neural networks and symbolic reasoning, MeTTa unifies elements of functional programming (drawing inspiration from languages like Haskell, Idris, and Prolog), logic programming, and dependent typing.
Unlike general-purpose languages, MeTTa was designed to operate natively over cognitive structures — atoms (symbolic data representations), types (formal categories), and transformations — which are stored in a dynamic knowledge metagraph known as an Atomspace. Within this framework, code and data are interchangeable. This design enables:
- Interoperability: MeTTa acts as a shared medium and translator for diverse AI systems — a lingua franca for them to not just “plug in” but seamlessly interoperate. It’s a substrate for any species of AI subsystems or paradigms to flow together and combine, allowing their unique capabilities to be expressed, executed, and coherently orchestrated across distributed, interoperable networks.
- Concurrency: Leverages a higher-order rho-calculus foundation to treat programs as asynchronous processes that intelligently execute in parallel without blocking. Its systems utilize parallelized backtracking to scale these computations across multi-core and distributed architectures with near-linear performance.
- Security and Auditability: Employs a “by-construction” security model to ensure access rights are unforgeable and mathematically verifiable. Within decentralized networks, all state updates are fully transactional and atomic, maintaining a high-integrity, auditable record of all cognitive transformations.
- Reflective Self-Modification: Programs can inspect, analyze, and rewrite themselves at runtime. This “reflection” is critical for an AGI to learn, adapt, and evolve its own cognitive processes.
- Flexible Reasoning: The language’s structure allows for dynamic type introspection and the programmatic manipulation of its own knowledge and logic.
- Nondeterminism/Determinism: Operates inherently as a non-deterministic inference engine, enabling massive-scale parallel search and “lazy” incremental answer discovery across the metagraph. Efficiency is achieved through smart compilers that resolve symbolic data versus executable functions, while low-level kernels allow for explicit, deterministic control-flow in compute-intensive tasks.