Everett

From Esolang
Jump to: navigation, search


Everett

A universe branching programming language by Atze van der Ploeg.

Everett is a new turing-complete, general purpose programming language that allows you to express your ideas simply and concisely.

Syntax

Everett has just one type of statement, namely "fromPlatonic ;". This powerful statement converts what you want to make (i.e. something in the Platonic "idea" world) into a sub-program that does just that.

An Everett program consists of multiple lines, each being one of the following:

  • An empty line
  • A comment, starting with '%'
  • A statement

Spaces are not allowed! Except for the space between fromPlatonic and ; which is mandatory. Spaces after % are allowed.

Semantics

In the many-worlds-interpretation of quantum mechanics there is actually not a single universe, but there is a universe for each outcome of a quantum system. Since the universe is a really big quantum system, this means that time branches (infinitely?) many times per nanosecond, and each possible outcome yields a new universe.

Everett exploits these time-branching properties of the universe to create the easiest, most powerful programming language ever. It does this by getting truly random bits from http://random.irb.hr/ These bits are the result of quantum measurements, and hence for each possible outcome there is a universe. In this way, there is always a universe where your idea is manifested into an executable (*). In this way, Everett uses the same sort of idea as the Infinite monkey theorem

Examples

File Hello.evr

% The infamous "Hello world" example
fromPlatonic ;

File Fallout10.evr

% A somewhat larger example: A really cool game
fromPlatonic ;
fromPlatonic ;
% Don't forget to clean up:
fromPlatonic ;

File AI.evr

% A virtual friend that does your chores and passes the turing test
fromPlatonic ;
fromPlatonic ;
% Gain consciousness
fromPlatonic ;
% Implement Asimov's three laws
fromPlatonic ;
fromPlatonic ;
% Below : Give meaning to everything
fromPlatonic ;
fromPlatonic ;
fromPlatonic ;
fromPlatonic ;
fromPlatonic ;



Usage :

  1. Get a login at http://random.irb.hr/
  2. Download the source code here (Currently only for Linux and Mac)
  3. Untar the archive and type cd Everett; ./make
  4. Run compiler by : everett user pass program.evr
  5. The resulting binary is in the same directory as the source, and has the same name (without .evr).


Example:

> everett atzeus '********' AI.evr 
Cheering up the monkeys...
The monkeys are typing....
Done! Try it out to see if this is the lucky universe!
> ./AI
Killlllll meeeeeeeeee

(*) : If your idea is manifestable in a binary of 35 Mb or less