Atomese

From OpenCog
Jump to: navigation, search

Atomese is the provisional name given to the concept of writing programs with atoms, that is, defining functions and structures using FunctionLink, ExecutionOutputLink and many others: PutLink, GetLink and so on. It vaguely resembles something that is kind-of-like prolog, but with types, and kind-of functional-programming-ish.

One motivation for Atomese is the need to implement procedural scripting and behavior trees within OpenCog.

Some exploratory work is being done on making more elegant or powerful frameworks for coding Atomese, e.g. syntactically sugaring the Scheme or python shells for making Atomese more concise and transparent when coded in those languages; or doing something more radical like making an Agda Atomese exploiting dependent type theory.

See also