nyuuzyou/wikis huggingface dataset:
DerpText

DerpText, not to be confused with similarly named languages, is a language made by User:Fuckerturd. DERP.
== Syntax ==
Commands have one or more parts containing text, all separated by a command ending character. Variables can consist of zero or more characters, but not all are allowed by the syntax of every command. The varN or textN of a command cannot contain the command ending character because it ends the text.
== Semantics ==
There are variables, a text string, and a command string. There is an infinite number of variables, all initially set to the empty string. The text string is set by the user before the program starts and can be empty. The command string is the program and commands are deleted from the beginning of the string as they are processed. The initial and final values of the text string can be used for I/O.
== Commands ==
Command 	Operation
=var1=text2= 	Sets the variable var1 to text2.
!var1! 	Loads the variable var1 into the command string at the beginning.
~var1~ 	Loads the variable var1 into the command string at the end.
^text1^ 	Places the text text1 into the text string at the beginning.
&text1& 	Places the text text1 into the text string at the end.
>text1>text2>	Deletes all text2 before the first occurrence of text1 in the text string.
<text1<text2<	Deletes all text2 after the first occurrence of text1 in the text string.
@var1@ 	Swaps the text string with the variable var1.
#var1# 	Swaps the command string with the variable var1.
== Examples ==
 &Hello&
Puts the text Hello into the text string.
 =A!=B=
Sets the variable A! to the string B.
 >/>12>
Text string 123123/123123 becomes 33/123123.
 </<123<
Text string 123123/123123 becomes 123123/.
 <<1<
Text string 123123/123123 becomes 2323/2323.
==External resources==
* Interpreter by User:Majorcob
Category:Languages
Category:Self-modifying
Category:2019
Derpcode

derpcode is a tape-based esoteric programming language based on internet slang. derpcode consists of two objects: a one-ended tape of zero-initialized binary values, and a pointer.
==Commands==
derpcode has five commands, although an expansion to achieve Turing-complete status is planned.
Command	Description
herp 	Flip the current bit.
derp 	Increment the pointer.
a-derp 	Decrement the pointer.
. 	Write the current bit and the next seven bits to stdout as an ASCII character.
? 	Set an ASCII character from stdin and store it in the current bit and the next seven bits.
All non-command symbols are ignored. Additionally, the two punctuation commands are ignored unless preceded by either another command or a whitespace character.
The tape is left-ended, and initializes with all zero-valued cells. A tape[-1] cell exists for structural purposes only.
A derpcode program is terminated by flipping the 0 cell, decrementing the pointer into the -1 cell, and executing the print command. The last line of all derpcode programs is therefore herp a-derp. In any other context, non-incrementing commands are ignored while on the -1 cell, so it's best not to go there.
==Sample code==
===Hello world===
derp a-derp.
derp herp derp derp derp herp a-derp a-derp a-derp a-derp.
derp derp herp derp derp herp derp herp derp derp herp a-derp a-derp a-derp a-derp a-derp a-derp a-derp.
derp derp derp derp herp derp derp derp herp a-derp a-derp a-derp a-derp a-derp a-derp a-derp.
.
derp derp derp derp derp derp herp derp herp a-derp a-derp a-derp a-derp a-derp a-derp a-derp.
derp herp derp derp derp herp derp herp derp herp derp herp a-derp a-derp a-derp a-derp a-derp a-derp a-derp.
derp herp derp derp herp derp derp herp derp herp derp herp a-derp a-derp a-derp a-derp a-derp a-derp a-derp.
derp derp derp herp derp herp a-derp a-derp a-derp a-derp.
derp derp derp herp derp herp derp herp derp derp herp a-derp a-derp a-derp a-derp a-derp a-derp a-derp.
derp derp derp herp derp herp derp herp derp herp a-derp a-derp a-derp a-derp a-derp a-derp.
derp derp derp derp herp a-derp a-derp a-derp a-derp.
derp herp derp derp derp derp herp derp derp herp a-derp a-derp a-derp a-derp a-derp a-derp a-derp.
herp a-derp.
==Implementation==
A full implementation exists here, written by User:Conor O'Brien in node js.
A runtime interpreter written in Python is currently in development, and a compiler to C is planned.
==External resources==
* Main Github repository; contains the source for the unfinished Python interpreter.
Category:Languages
Category:Cell-based
Category:Brainfuck_derivatives
Category:Implemented
Category:2013
Derpcode/implementation.js

An implementation of Derpcode written in node js by User:Conor O'Brien. Make sure you npm install readwrite before running.
== Implementation ==
 const rw = require("readwrite");
 
 const derp = (herp, input) => {
 herp = herp.replace(/(\s|^)herp a-derp\.(?=\s|$)/g, "$1!").split(/\s/);
 let tape = [0, 0, 0, 0, 0, 0, 0, 0];
 let ptr = 0;
 let effs = new Map([
 ["herp", () => tape[ptr] = +!(tape[ptr])],
 ["derp", () => (ptr++, typeof tape[ptr + 7] === "undefined" && tape.push(0))],
 ["a-derp", () => ptr--]
 ]);
 let stdout = () => rw.log(String.fromCharCode(parseInt(tape.slice(ptr, ptr + 8).join(""), 2)));
 let stdin = () => tape.splice(
 ptr,
 8,
 ...([...("00000000" +
 input.shift()
 .charCodeAt()
 .toString(2)
 ).slice(-8)]).map(Number)
 );
 for(let c of herp){
 if(c === ".") stdout();
 let r = c;
 let i;
 if(/^[.?]/.test(c)){
 r = c.slice(1);
 i = c[0];
 } else if(/[.?]$/.test(c)){
 r = c.slice(0, -1);
 i = c.slice(-1);
 }
 if(!effs.has(r)) continue;
 effs.get(r)();
 if(i === ".") stdout();
 }
 }
 
 let file = process.argv[2];
 let input = process.argv.slice(3).join(" ");
 
 derp(
 rw.read(file),
 [...input]
 );
== Running ==
 node Derpcode.js <filename> <input>
Category:Implementations
Derplang

derplang is an esoteric language, created by JesseH in 2013. It is pronounced derp-ling or derpling. The goal was to create a language that is somewhat confusing and hard to remember, and to give Hobbyist Programmers a fresh new way to travel their text editor. This is because a derplang script was intentionally to be all on one line, so that you have to scroll left and right, instead of up and down. However if you absolutely have to, you have divide them among multiple lines.
==Language Overview==
===Commands===
Command	Description
va 	(va:x:y:) - Declares the variable x with the value of y.
ou 	(ou:x:) - Prints x.
co 	(co:z:x:y:) - Declares a variable z with the conacentated value of x and y.
ad 	(ad:z:x:y:) - Declares a number variable with the value of x + y.
su 	(su:z:x:y:) - Declares a number variable with the value of x - y.
mu 	(mu:z:x:y:) - Declares a number variable with the value of x * y.
di 	(di:z:x:y:) - Declares a number variable with the value of x / y.
ip 	(ip:x:) - Declares a variable x with the value of the input the user typed in.
go 	(go:x:) - Hops to the xth part of the program.
la 	(la:x:) - Creates label called x which go can go to.
eq 	(eq:x:y:j:k:) - If x == y goto j else goto k.
gt 	(gt:x:y:j:k:) - If x > y goto j else goto k.
lt 	(lt:x:y:j:k:) - If x < y goto j else goto k.
Every "token" has to have a colon at the end. A "token" can be defined as a command, or argument.
==Computational class==
Any Minsky machine can be translated into a derplang program using va, ad, su, go and eq. Therefore, derplang is Turing complete.
==Examples==
Hello World Script
 ou:Hello World!:
Prints "Hello World!"
What is your name?
 ou:What's your name?:ip:x:ou:x:
Get's input, and prints it.
Goto Example
 la:start:
 ou:spam!:
 go:start:
If x is equal to y, program hops to the first statement, if not, it hops to the fourteenth statement.
99 Bottles
 va:x:100:la:start:su:x:x:1:ou:x:ou:bottles of beer!:eq:x:0:END:start:
==Contributing==
===Github===
Lua.
===IRC===
Come to #esoteric on Freenode, and ping JesseH.
Category:Turing complete
Category:Languages
Category:Implemented
Category:2013
Derpodce

Derpodce is a tape-based esoteric programming language influenced by Derpcode. Derpodce consists of two objects: a bounded tape of one-initialized binary values, and a pointer.
==Commands==
Derpodce has five commands.
Command	Description
preh 	Flip the current bit.
pred 	Increment the pointer.
pred-a 	Decrement the pointer.
. 	Set an ASCII character from stdin and store it in the current bit and the next seven bits.
! 	Write the current bit and the next seven bits to stdout as an ASCII character.
All non-command symbols are ignored. Additionally, the two punctuation commands are ignored unless preceded by either another command or a whitespace character.
The tape is left-ended, and initializes with all zero-valued cells. A tape[-1] cell exists to index the last cell of the tape (as in Python).
A Derpodce program is terminated by flipping the 0 cell, decrementing the pointer into the -1 cell, and executing the print command. The last line of all derpcode programs is therefore preh pred-a! In any other context, non-incrementing commands are ignored while on the -1 cell, so it's best not to go there.
Category:Languages
Category:Cell-based
Category:Brainfuck_derivatives
Category:Implemented
Category:2013
Descriptive Program

Descriptive Program is a program which uses artificial intelligence. Specifically, it uses a supervised learning algorithm to correlate certain kinds of input to certain kinds of output.
==Specification==
The code needs to be split into three parts: the training code, the expected output, and the actual code. All three of these should be collections of characters of some sort.
The training code and expected output can consist of multiple things, but they have to follow the following rules:
#The training code has to be in one data structure while the output is in another.
#The training code and the corresponding expected output have to be able to be correlated somehow, such as being in the same place in their respective data structures.
The training code and expected output train the algorithm while the resultant code is the one you actually want to run.
Category:Probabilistic
Category:Works-in-Progress
Category:2023
Category:Languages
Deskin

Deskin (Decrement and skip if negative) is an OISC esoteric language designed to use only 1 Argument.
It uses a memory address which is outputted, storing a value with its name, which it decrements before executing the next command and looping if it is positive, else it will skip the next command or terminate the program if none is defined.
Additional Rules are:
* Input is appended to the code.
* The first output operation is skipped.
* The last output operation is skipped on termination with other output.
== Examples ==
A simple Program printing "Hello, world!":
 1 72 101 108 108 111 44 32 119 111 114 108 100 33 0
A truth machine program looks like this:
 1 
Depending on if a 1 or a 0 is appended, the truth machine outputs an endless string of 1's or a 0
Category:OISC
Category:Languages
Category:Unimplemented
Desmoslang

Read Desmos-lang, it is a programming language designed to use Desmos's abilities. 
= Link =
Link
= Script =
Script
= Usage =
Go to the link, and run the script (potentially multiple times).
= Programming =
It's a programming language, so it has a way to program it. Input your program as a comma seperated list of numbers.
== Specification ==
All lists use one-based indexing 
Command is a list of numbers (starting out empty) that are parsed as ASCII values when evaluated as LaTeX by Desmos 
Data is an infinite list of values, starting at all 0s
Instructions are each a value
The data pointer and instruction counter are single values that point respectively to which data value is used and which instruction is next run, and each start at 1
For each instruction, when run, if instruction is
= 1: empty/E (Set Command blank)
= 2: push data/D (append to Command the current value of Data at the data pointer as ASCII values of its digits)
= 3: pop data/S (set the value of Data at the data pointer to the output of the evaluated Command)
= 4: push counter/C (append to Command the current value of the instruction counter as ASCII values of its digits)
= 5: pop counter/J (set the value of the instruction counter to the output of the evaluated Command)
= 6: push pointer/P (append to Command the current value of the data pointer as ASCII values of its digits)
= 7: pop pointer/M (set the value of the data pointer to the output of the evaluated Command)
= 8: output/O (add the output of the evaluated Command output to the displayed output list)
= 9: input/I (pause until an input is given, and append to Command it's digit's ASCII values)
= 10: to/T (set the _to_ value to the current instruction pointer plus one)
= 11: go/G (set the instruction pointer to the _to_ value)
= 12: at/A (set the _to_ value to the output of the evaluated Command)
> 30: Append instruction to Command
=== More info about Command ===
Command is translated into ascii characters and interpreted as a LaTeX math expression. (it is recomended, however to use ( instead of \left(, and same for ), [, ], {, and }.)
Any unmatched parenthisis or brackets will have their opposites added to the other side of the expression. Currently the same is not true for braces.
=== More info about the intepreter ===
Parenthesis and brackets automatically get the \left or \right added. When the end of the program is reached, there is an implicit go command. Also, the begining is the default to value.
Same info here
Category:Languages
Desrever

Desrever is an esoteric programming language created by User:Fazaazafg. Its syntax is structured like most typical programming languages, but backwards. Here is a Hello, world! program in Desrever.
{
 ;("Hello, world!")print
} ()main func
==Syntax==
The syntax should be understandable if you're already familiar with most typical programming languages. It's just like C, but in reverse. Anyway, comments. Single-line comments are made using // with the contents placed before it. Multi-line comments are made using \* and */ to mark where the comment begins and where it ended respectively. Here's an example of one.
{
 /*
 This is a multi-line comment.
 It spans multiple lines.
 */
 This is a comment. // ;("Hi, world.")print
} ()main func
As you might've guessed, programs execute commands from bottom to top in this language, instead of the usual top to bottom. Comments should be placed from bottom to top, but the contents doesn't have to be.
{
 /*
 Prints to the console:
 1
 2
 10
 */
 But this one prints 10. // ;("10")print
 And this prints 2, // ;("2")print
 This prints 1, // ;("1")print
} ()main func
This is a work in progress, please don't forget about this, me aka User:Fazaazafg
Category:Languages Category:2024
DetailedFuck Python interpreter

:
The following is an interpreter in Python by User:None1 for DetailedFuck.
import sys
def detailed_fuck(code):
 s1=[]
 s2=[]
 matches={}
 tape=[0]*1000000
 for i,j in enumerate(code):
 if j=="IF THE CELL UNDER THE MEMORY POINTER'S VALUE IS ZERO INSTEAD OF READING THE NEXT COMMAND IN THE PROGRAM JUMP TO THE CORRESPONDING COMMAND EQUIVALENT TO THE ] COMMAND IN BRAINFUCK":
 s1.append(i)
 if j=="IF THE CELL UNDER THE MEMORY POINTER'S VALUE IS NOT ZERO INSTEAD OF READING THE NEXT COMMAND IN THE PROGRAM JUMP TO THE CORRESPONDING COMMAND EQUIVALENT TO THE [ COMMAND IN BRAINFUCK":
 m=s1.pop()
 matches[m]=i
 matches[i]=m
 cp=0
 p=0
 while cp<len(code):
 if code[cp]=='INCREMENT THE CELL UNDER THE MEMORY POINTER BY ONE':
 tape[p]=(tape[p]+1)%256
 if code[cp]=='DECREMENT THE CELL UNDER THE MEMORY POINTER BY ONE':
 tape[p]=(tape[p]-1)%256
 if code[cp]=='REPLACE THE CELL UNDER THE MEMORY POINTER\'S VALUE WITH THE ASCII CHARACTER CODE OF USER INPUT':
 tape[p]=ord(sys.stdin.read(1))%256
 if code[cp]=='PRINT THE CELL UNDER THE MEMORY POINTER\'S VALUE AS AN ASCII CHARACTER':
 print(chr(tape[p]),end=)
 if code[cp]=='MOVE THE MEMORY POINTER ONE CELL TO THE LEFT':
 p-=1
 if code[cp]=='MOVE THE MEMORY POINTER ONE CELL TO THE RIGHT':
 p+=1
 if code[cp]=="IF THE CELL UNDER THE MEMORY POINTER'S VALUE IS ZERO INSTEAD OF READING THE NEXT COMMAND IN THE PROGRAM JUMP TO THE CORRESPONDING COMMAND EQUIVALENT TO THE ] COMMAND IN BRAINFUCK":
 if not tape[p]:
 cp=matches[cp]
 if code[cp]=="IF THE CELL UNDER THE MEMORY POINTER'S VALUE IS NOT ZERO INSTEAD OF READING THE NEXT COMMAND IN THE PROGRAM JUMP TO THE CORRESPONDING COMMAND EQUIVALENT TO THE [ COMMAND IN BRAINFUCK":
 if tape[p]:
 cp=matches[cp]
 cp+=1
code=sys.stdin.read()
detailed_fuck(code.split('\n'))
Category:Implementations
Detour

Detour is a cell-based esolang where memory can only be edited indirectly.
== Description ==
In Detour, memory is stored on a tape of cells that extends infinitely in both directions. Each cell is associated with an integer representing its position, and stores an integer value and a pointer to another cell. Before any code is executed, each cell stores the integer corresponding to its position and points to itself.
While the pointers can be moved around freely, there is no way to do anything with the value stored in a cell beyond copying it to another cell, checking if it's equal to the value stored in another cell, or outputting it; in Detour, all numbers are interchangeable beyond their starting position. This also means that if you overwrite a number, there's no way to get it back: for example, if your code starts with v3 (which copies input into cell 3), it won't be able to output the number 3 unless the user happens to input a 3 at some point. Because of this, it's impossible to make a program to do anything that can result in any integer (e.g. adding two numbers) without representing some of them differently (e.g. representing negatives by outputting -1 and then the magnitude of the number separately).
== Syntax ==
# #	Make the cell at the position of the first number point at the cell at the position of the second number.
#+ 	Make the cell at position # point at the cell to the right of the one it was pointing at before.
#- 	Make the cell at position # point at the cell to the left of the one it was pointing at before.
#v 	Request user input, and overwrite the cell that cell # is pointing at with it.
v# 	Request user input, and overwrite cell # with it.
#^ 	Output the value stored at the cell that cell # is pointing at.
^# 	Output the value stored at cell #.
#> 	Copy the value stored at cell # to the cell it's pointing at.
#< 	Copy the value stored at the cell that cell # is pointing at to cell #.
#? 	Perform indented code below this line if cell # and the cell it's pointing at store the same value.
#: 	Repeat indented code below this line until cell # and the cell it's pointing at store the same value.
== Example Code ==
==== Cat ====
 0v
 0^
==== Hello World! ====
Note that this prints the ASCII value of each character, since Detour can't print characters.
 ^72
 ^101
 ^108
 ^108
 ^111
 ^32
 ^87
 ^111
 ^114
 ^108
 ^100
 ^33
==== Add two non-negative integers ====
 v-1
 v-2
 -1 0
 -1:
 -1+
 -2 0
 -2:
 -1+
 -2+
 -1^
==== Print powers of two forever ====
 -1 1
 -3 -4
 -3:
 -1^
 -1<
 -2 -1
 -2<
 -2 0
 -2:
 -1+
 -2+
== Implementations ==
Python
Category:LanguagesCategory:2024Category:Cell-basedCategory:Implemented
Deutsch

Deutsch is a low-level language created by the Germans, 750 years A.d.
==Versions==
Name 	Year
Althochdeutsch 	750
Mittelhochdeutsch 	1050
Frühneuhochdeutsch	1350
Neuhochdeutsch 	1650-today
==Examples==
===Hello, World!===
 Hallo, Welt!
===Cat program===
A: Wie heißt du?
B: (insert name here)
A: Hallo, (insert name here)!
==Documentation==
* Duden
Category:Languages
Developers

Developers is a joke language that parodies an incident at a Microsoft Developer's conference where Steve Ballmer is supposed to have chanted the word developers at least 14 times in a row. It is basically Brainfuck with a few extensions. It appeared briefly in the Wikipedia in the beginning of 2006, but it has not reappeared anywhere since its deletion.
==Interpreter==
This trivial brainfuck substitution interpreter only does the BF part.
 #!/usr/bin/env ruby
 eval 'm=Hash.new(p=0);'+ARGF.read
 .gsub(/Developers|./,Hash.new{|_, k| (k.length>1)?'o':' '; })
 .gsub(/o+|./,
 'o' => 'm[p]+=1;',
 'oo' => 'm[p]-=1;',
 'ooo' => 'p+=1;',
 'oooo' => 'p-=1;',
 'ooooo' => 'm[p]=STDIN.getbyte if !STDIN.eof;',
 'oooooo' => 'putc m[p];',
 'ooooooo' => '(',
 'oooooooo' => ')while((m[p]&=255)!=0);')
==External resources==
*A copy on an old revision of a page in a Uncyclopedia mirror. This is one of the few remaining copies of the language definition.
*Python interpreter
Category:Joke languages
Category:Languages
Category:Brainfuck derivatives
Category:Unknown year
Category:Languages
Diacritics

Diacritics is a Lambda calculus syntax that uses stacked Unicode diacritics to make seemingly tiny programs. A program will filter out everything other than diacritics when being parsed. In order for the diacritics to actually appear on screen, most programs use a seed letter (we'll use e in this article). Programs are impossible to read without a Unicode inspector due to the inability to distinguish diacritic positions.
== Operators/Syntax ==
 Operators/Syntax
Operator	Equivalent to	Description
e̱ 	λ or λ. 	Creates an function. Unlike normal lambda calculus, this does not use a dot ending.
ẹ 	Apply 	Applies a function to its argument.
e̮ 	( 	Starts a bracketed expression.
e̯ 	) 	Ends a bracketed expression.
There is also many diacritics you can use for variable names:
 è é ê ẽ ē e̅ ȇ ĕ ė ë ẻ e̊ ȅ e̋ ě e̍ e̎ e̐
== Examples ==
This is equivalent to (λx.x)(λx.x):
 ẽ̮̱̯̣̮̱̯̃̃̃
Y Combinator:
 ë̱̮̱̣̮̣̯̯̣̮̱̣̮̣̯̯̇̈̇̇̇̈̇̇
Category:Languages Category:Functional paradigm Category:2022 Category:Turing complete Category:No IO Category:Unimplemented Category:High-level
Dice Roll

Dice Roll is an esolang created by User:AnotherUser05.
==Commands==
Command	Description
1-99 	Constant number.
d 	Roll a die. The number can also be a command.
+ 	Adds the two most recent dice rolls.
- 	Subtracts the two most recent dice rolls.
! 	Get a input.
> 	Output the result of the next command as a value.
^ 	Output the result of the next command as an ASCII character.
[] 	Repeats the code inside a fixed number of times determined by the input before the repeat.
Category:Languages
Dick

Dick is an esoteric programming language created by User:Cybertelx on 5th December, 2020. It is a language with variables. A really bad interpreter made by me is on npm as "dicklang". 
Commands must be separated by \n (newline) or carriage return.
== Variables ==
You can create a variable like this:
 DICK <varname> <value>
An example of this would be:
 DICK dick 8===D
The only type of value in Dicklang is integers, as I am too lazy to implement strings or floats.
A value is represented like ASCII dicks:
 8======D
The amount of "=" (equal) signs there are in the ASCII dick, the higher the value. In this case, it is 6.
However, to use the variable, you must GRAB it. The dick is now in your hand and you are able to modify its value, then release it to change the variable's.
 GRAB dick -> The value of the hand is overwritten by the value of the variable "dick". In this scenario, it is 3.
 LONGDICK 8==D -> hand = hand + 2
 RELEASE dick -> The value of the hand does not change, however the "dick" variable's value has changed to the value of the hand. dick is now equal to 5.
== Arithmetic ==
Math is done using these commands:
 LONGDICK <value> (Addition)
 SMALLDICK <value> (Subtraction)
 HUGEDICK <value> (Multiplication)
 TINYDICK <value> (Division)
Each of these do their respective operations on the value of the hand and the value given.
Example: (hand is equal to 4)
 LONGDICK 8==D -> 4+2=6
The hand is now equal to 6. Alas, it is the same for all other operations.
== Console ==
Printing values to the console is simple.
 PEE
It prints out the value of the hand (e.g. 5) to the console.
However, what if you want to print it as a character?
 WEE
That prints it in its ASCII form (e.g. using the hand's value as a char code).
==See also==
* PenisScript
* LongDick
Category:Languages
Category:Total
Category:Output only
Category:Thematic
Category:Implemented
Category:Unusable for programming