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
| 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).