Gelo can be thought of as a very low level language for a very high level machine with an extensible instruction set. Gelo provides a few simple rules for rewriting and executing an expression.
The language's initial state has zero commands and can run no programs. Adding built in commands is simple and writing new commands to integrate Gelo into your application is easy. Since there are no commands built into the language and must be bound to a namespace, to be used, and the names are stored in UTF-8, the language can be fully localized with the rest of your application.
This control allows Gelo to be used as a simple configuration language, an executable specification for your web apps routing table, an easy-to-use macro language for that text editor you're writing, a DSL to describe your app's workflow, a full-fledged language for writing plugins and extensions, or even a complete programming language in its own right.
Gelo has no dependencies beyond the Go standard library; and even those are kept to a minimum.
