Overview

Revomer is an esoteric programming language. It means it requires from the programmer a higher abstraction level than "classical" languages, like C++ or Pascal. Esoteric languages are popular among masochists and people who have a lot of free time. Everybody who managed to write even a simple program in them may feel really pleased and satisfied. Most of them probably add: "never ever".

The authors of the project are Krzysztof Piecuch (/Ksheeshtoff Pyetsoogh/ *) and Tomasz Jędrzejewski (/Tomash Yeundzheyevskyy/ *). It was created from 28 August to 1 September 2006 during the Summer Science Camp that took place in Stanislaw Staszic High School in Lublin (Poland). The first reference manual was written on a toilet paper, and the interpreter was developed on a laptop placed on a chair somewhere in a gymnasium. Today, the project is very active. We have our own website and the SVN repository.

The basic concepts of Revomer can be described in a few short points:

  1. Removing, negation, substraction (and even division!) is good. Addition and the rest is baad.
  2. If we manage to add something, it always costs a bit, because it is baad.
  3. The execution of the program is based on the self-modification of the program source code.
  4. If the interpreter does not know, what to do, it tries to guess, what the programmer wanted; read: performs a random operation.

The language syntax is based on the assembler - every line contains one command for the interpreter that accepts the addresses of the memory as parameters. Of course, we don't have to mention that the program is executed from the end of the file to the beginning.

Details

This is a more detailed list of Revomer's features:

  • Advanced arithmetic module with substraction and division operations included.
  • Revomer Logic System.
  • Pointers!
  • Advanced input/output system.
  • Function support with many operations that you won't find anywhere else, such as replacing the names of the functions.
  • Advanced set of commands to manage the source code, for example come here and unless - remeber about them, because you are not able to write anything without them!
  • 64 kB of operation memory guaranted. It is divided into 8-bit cells, but this does not mean that Revomer is not able to handle integers.
  • Impressive support for negative numbers!
  • Include support.

Is Revomer Turing-complete?

The phrase a Turing-complete language means that you are able to implement every algorithm on it. To prove one language is Turing-complete, we just have to show that it is possible to create an interpreter of any other Turing-complete model or language. So, the answer to the question in the title is: yes. We managed to show the algorithm of Brainfuck interpreter which uses only the Revomer language features. Although the implementation of some algorithms may be a horror, it is possible.

The future

Revomer is still developed. Today, we end working on the first interpreter of the first language version named 0.9. However, we also develop the new version with many unique and revolutionary features. Some of them are:

  • File support.
  • Network support using the NTSCP author technology (Network Source Code Transmission Protocol)
  • Text screen support which provides a possibility to create simple GUIs.
  • Dynamic memory management - 64 kB will not be a limit anymore.
  • Multiexceptioning - a connection of multitasking and exceptions.
  • Standard Useless Function Library

* - we LOVE, when a native English speaker tries to pronounce really simple Polish words :).

© Tomasz "Zyx" Jędrzejewski 2005 - 2008 | Wykonanych zapytań: 0 | Serwer wirtualny zapewnia