What Kind of Programming Language Best Suits Integrative AGI?

04/11/2020
by   Ben Goertzel, et al.
4

What kind of programming language would be most appropriate to serve the needs of integrative, multi-paradigm, multi-software-system approaches to AGI? This question is broached via exploring the more particular question of how to create a more scalable and usable version of the "Atomese" programming language that forms a key component of the OpenCog AGI design (an "Atomese 2.0") . It is tentatively proposed that the core of Atomese 2.0 should be a very flexible framework of rewriting rules for rewriting a metagraph (where the rules themselves are represented within the same metagraph, and some of the intermediate data created and used during the rule-interpretation process may be represented in the same metagraph). This framework should support concurrent rewriting of the metagraph according to rules that are labeled with various sorts of uncertainty-quantifications, and that are labeled with various sorts of types associated with various type systems. A gradual typing approach should be used to enable mixture of rules and other metagraph nodes/links associated with various type systems, and untyped metagraph nodes/links not associated with any type system. This must be done in a way that allows reasonable efficiency and scalability, including in concurrent and distributed processing contexts, in the case where a large percentage of of processing time is occupied with evaluating static pattern-matching queries on specific subgraphs of a large metagraph (including a rich variety of queries such as matches against nodes representing variables, and matches against whole subgraphs, etc.).

READ FULL TEXT
research
12/12/2021

Reflective Metagraph Rewriting as a Foundation for an AGI "Language of Thought"

MeTTa (Meta Type Talk) is a novel programming language created for use i...
research
04/13/2023

Kind Inference for the FreeST Programming Language

We present a kind inference algorithm for the FREEST programming languag...
research
04/01/2021

Idris 2: Quantitative Type Theory in Practice

Dependent types allow us to express precisely what a function is intende...
research
08/31/2018

Non-linear Pattern Matching with Backtracking for Non-free Data Types

Non-free data types are data types whose data have no canonical forms. F...
research
09/18/2020

A Visual Language for Composable Inductive Programming

We present Zoea Visual which is a visual programming language based on t...
research
05/30/2023

Integrating Logic Rules with Everything Else, Seamlessly

This paper presents a language, Alda, that supports all of logic rules, ...
research
09/15/2023

Neural Network Exemplar Parallelization with Go

This paper presents a case for exemplar parallelism of neural networks u...

Please sign up or login with your details

Forgot password? Click here to reset