Skip to content

martinwheatman/enguageMirror

Repository files navigation

Unifying Speech and Computation

Enguage is a Turing Complete speech interpreter; so, you can do things with words.

It is a machine understanding system which is programmed through spoken language. Unlike traditional programming languages, Enguage allows users to define and execute instructions purely via speech, making it unique in its approach to natural language understanding and computation.

The core concept of Enguage is to interpret speech in a way similar to functional programming languages. It is not designed as a chatbot or a generative text algorithm but as a Turing-complete speech interpreter that facilitates the arbitrary transformation of utterances. This methodology aligns with the principles of Ordinary Language Philosophers, which emphasizes the importance of understanding meaning directly, without relying on a dualistic representation, such as source code translating into machine code.

Enguage's implementation demonstrates how natural language statements can be transformed into precise computational instructions. For example, defining a factorial function can be done through speech by specifying:

  • "The factorial of 1 is 1."
  • "The factorial of N is N times the factorial of N minus 1." Enguage will choose the most appropriate interpretation.

These spoken instructions eliminate the need for traditional programming syntax and can be processed directly by Enguage. In this way, Enguage represents utteranes as a user-defined machine code. This innovative approach aims to make programming more accessible by leveraging natural language, reducing the reliance on written code and complex syntax.

Installation Instructions

Applying this Philosophy

The Prinicples of Enguage

Contributing

Read contributing.md to get started contributing to Enguage!

Consumers of Enguage

Examples

Play with Enguage:

For further examples of repertoires, see the etc/rpt and etc/dict directory.

The most complete idea is need+needs.txt, but other examples include meeting.txt which is both a temporal and a spatial concept.

Happy talking!

martin@wheatman.net

If you don’t like it, tell me; if you, do tell others!