Entish

From Esolang
Jump to navigation Jump to search
Entish
Paradigm(s) imperative
Designed by User:Void
Appeared in 2019
Memory system stack-based
Dimensions tree-based
Computational class Turing complete
Major implementations Original
Influenced by KeyKOS, Ethereum Virtual Machine, E, Stackless Python
File extension(s) .et

Entish is a resource aware recursively sandboxable language built on RarVM. The language aims to allow for:

  • fine grained control of process-internal resources (cpu time/cycles, memory usage)
  • control of access to process-external resources (filesystem, networking)
  • doing the above recursively, to securely sandbox libraries from each other
  • the platform-independent suspension, serialization, de-serialization and resumption of process state ("jumping processes")

Language overview

General properties

Entish is single-threaded (control only resides at one place at a time) and deterministic (a copy of the program state with the same input will always create the same results, down to the bit). Functions can recursively sandbox other functions and predetermine the resources that can be used.

Recursive Control Structure


Implementations

The language was implemented in Python/RPython.

Computational class

Entish is Turing-complete, meaning that it is in the same computational class as universal Turing machines.

Next steps

Get the language syntactically and semantically closer to Python, so that most programs can easily be translated into this paradigm.

See also

External resources