MeTTa handles highly abstract constructs like run-time self-modifying code simply and naturally. Programs are fully self-reflective – we can read/modify the code inside the programs.
The MeTTa Programming Language – A meta-programming language built to support self-modifying AI systems, enabling expressive, flexible, and efficient AGI development by allowing AI agents to reason, adapt, and optimize their own code dynamically.
GithubMeTTa WebsiteHow does MeTTa work?
Atomspace Metagraph is a dynamic, distributed base for AGI, merging weighted graphs with real-time updates. It manages diverse knowledge—linguistic, mathematical, procedural, sensory—in RAM, scales across machines, and enables deep pattern recognition, probabilistic inference, and self-modifying intelligence.
Multiparadigmality
MeTTa programs organically combine elements of functional, logical and probabilistic programming providing a synergetic framework for representing declarative and procedural knowledge.
Atomspace
Each MeTTa program is represented as a subgraph of an Atomspace metagraph, and operates centrally by querying and rewriting portions of Atomspaces.
Self-modification
Gradual dependent types
Type system is one of the most important features in terms of application of MeTTa language. Built-in mathematical reasoning by supporting a state-of-the-art type system.
Neural-symbolic integration
MeTTa is capable of supporting neural-symbolic reasoning and handling uncertainties through probabilistic logic. Integration with grounded atoms, such as neural networks, supports machine learning processes, bridging the gap between sub-symbolic and symbolic paradigms.
Inference engine
MeTTa is essentially nondeterministic that turns its interpreter into an inference engine. The language supports implementing different inference systems, from probabilistic programming to fuzzy logic.
Tool for AGI
With its open architecture MeTTa embraces very different AI strategies and is intended both for humans to script portions of AGI cognitive processes, and for the programming activity of AGI-related learning and reasoning algorithms themselves.
DSL for AI DSLs
MeTTa forms the ‘universal translator’ that enables a wide range of AI systems to dynamically collaborate by the creation of compatible Domain Specific Languages within one framework.
OpenCog Hyperon
MeTTa is the language of the cognitive architecture of OpenCog Hyperon. It functions as the firmware of the wildly variating components that Hyperon is made of and it is the glue that holds everything together.
Comparing MeTTa
Learn how MeTTa compares to traditional programming languages.
Understanding AGI’s Language of Thought
MeTTa, the programming language central to Hyperon, is designed to facilitate the development of cognitive architectures. Its multi-paradigm nature supports functional, logical, and probabilistic programming. Developers can select the most appropriate approach for different cognitive processing tasks. MeTTa operates directly on the knowledge graph within the Atomspace.
This provides a direct method for representing and manipulating knowledge, closely aligning the programming language with the knowledge representation.
Feature | MeTTa | Traditional Programming Languages |
Paradigm | Multi-paradigm (functional, logical, probabilistic) | Often single-paradigm (e.g., imperative, object-oriented) |
Knowledge Representation | Operates on knowledge graphs within an Atomspace | Typically uses data structures like lists, arrays, and objects |
Self-Modification | Supports run-time self-modifying code | Generally limited or no support for self-modification |
Type System | Gradual dependent types with built-in mathematical reasoning | Often static or limited dynamic type inference |
Neural-Symbolic Integration | Supports neural-symbolic reasoning and handling uncertainties | Typically separate neural and symbolic approaches |
Non-Determinism | Supports non-deterministic computations with constructs like superpose and collapse | Usually deterministic, returning a single result |
MeTTa is designed to support the development of Artificial General Intelligence (AGI) by providing a robust framework for representing and reasoning about knowledge. The main purpose of MeTTa in AGI is to facilitate the creation of systems that can understand, learn, and reason about the world in a human-like manner.
Cognitive Synergy in OpenCog Hyperon
Cognitive synergy is a core principle in OpenCog Hyperon’s approach to AGI. It refers to the idea that different cognitive processes work together in a mutually beneficial way, enhancing the system’s overall intelligence. Hyperon’s architecture is designed to facilitate this synergy by enabling various AI modules, such as PLN (Probabilistic Logic Networks) and ECAN (Economic Attention Networks), to interact and share information. This synergistic approach allows the system to tackle complex problems by leveraging the strengths of different AI methods.
MeTTa emerges as the ideal language for AGI due to its robust framework that goes beyond traditional programming capabilities. Its declarative and functional approach allows for the sophisticated knowledge representation and reasoning AGI developers require, making it possible to handle complex relationships and data structures. The integration with the Distributed Atomspace (DAS) enhances its suitability for AI applications by providing a versatile knowledge database.