Trans-dimensional

From Esolang
Jump to navigation Jump to search

Description:

Trans-dimensional is an esolang based on dimensions. You can create a new dimension but you cannot destroy it. You can also throw a bunch of stuff into it and get a bunch of stuff from it.

Command reference:

Command Description
dimension NAME Creates a new dimension responding to the identifier NAME.
get [NAME : POSITION] If a dimension with the NAME as well as the POSITION exists, returns its value; otherwise this operation is omitted.
put [NAME : POSITION] -> VALUE Puts the VALUE into the memory addressed identified by the dimension NAME and its POSITION. The dimension-position twain's absence leads to the operation's ineffectuality.
output VALUE Adds the VALUE to the output stream. If referencing an absent memory cell, the operation remains ineffectual.

Examples

Hello, World!

dimension X;
put [X:1] -> "Hello, World!";
output get [X:1];

Cell Query

dimension X;
dimension Y;
put [X:1] -> -0.5;
put [Y:2] -> get [X:1];
output get [Y:2];

Interpreter

  • Common Lisp implementation of the Trans-dimensional programming language.