We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.

DCL

From Esolang
Jump to navigation Jump to search
dimensional chain
Paradigm(s) im not so sure myself
Designed by User:Representativeofpeace
Appeared in 2026
Memory system pointer/ dimension based/variables included
Computational class turing complete
Reference implementation Unimplemented

dimensional chain language or dcl is a mindbendingly complex in its usage cases as it works via pointers to function/"dimensions" in which each dimension has its own seperate timeline that can be interacted with

the language is meant to be pointerslop and verbose so each line is a collection of pointers to other lines and finally some data storage

syntax examples

what is a dimension

a dimension can be considered a function that has 2 types of pointers in,out each pointer type you can have infinite of

a node in and a node out basically in/out

hello, world

DIMENSION,main,nodein(in1,in2,in3),nodeout(out1,out2,out3).{
nodeout.write("hello, world!").
}

note a pointer can only be occupied by 1 thing at a time but since this is a singular program these pointers arent even needed

user input

nodein,input().nodeout,dimensionname,variablename.

NOTE: lines are organized like sentances each line that belongs to one thing is seperated by commas. at the end they are seperated by periods.

FREE memory

VOID,main.

reminder free your memory please we dont need leaks

Variable declarations

nodeout,dimensionname.int,name,5.

simple enough

variable usage and change

nodeout,change,varname,vartype,newvalue.

for example

in1,change,hello,string,repeat.

in1 is the nodein of a dimension change is the action

hello is the variable name string is the type and repeat is the new value so now variable hello has the value of repeat.

there a couple actions you can do

such as void,change,write,

NOTE when you change a variable if you put the new value as a math symbol * / + - you can put a new comma and it will do that math to it


arrays

welp there are none its just writing a value to a dimension like

in2,write,(value,value,value,value).