From Esolang
Jump to navigation Jump to search

UpDown is a programming language made on 30 December 2022 by User:IdfbAn. UpDown has 26 variables for every letter in the English alphabet (A-Z), and 3 commands: up, down, and print. The values of all the variables are 0 by default. ; is used like in regular programming languages such as C++.


Command Description
up <variable> x Increments the value of the specified variable by x
down <variable> x Decrements the value of the specified variable by x
print <variable> Outputs the specified variable's value as the corresponding ASCII character

(e.g. if the value of O is 79, print O will output O)

If the value of a variable (e.g. X) is either lower than 0 or higher than 255, print X will output Error! Value too low or Error! Value too high depending on the value of X

Hello, World!

 up A 72; print A;
 up B 101; print B;
 up C 108; print C; print C;
 up E 111; print E;
 up F 44; print F;
 up G 32; print G;
 up H 87; print H;
 print E;
 up I 114; print I;
 print C;
 up J 100; print J;
 up K 33; print K;


UD++ is an extension to UpDown. It adds the ability to declare your own variables, and 1 new command, var, to do so.

The new command

Command Description
var <name of variable> Declare a new variable. Value is automatically initialized to 0.


This should print "fr"

 var first_letter;
 var second_letter;
 up first_letter 102;
 up second_letter 114;
 print first_letter;
 print second_letter;

If you are implementing UpDown, implementing UD++ is optional.

External resources


  • Common Lisp implementation of the UpDown programming language.