nyuuzyou/wikis huggingface dataset:
Obfuscated Tiny C

Obfuscated Tiny C is a small subset of the C programming language created by Fabrice Bellard, published in 2001. The goal is to be able to compile the language with a small self-hosting compiler (the Obfuscated Tiny C Compiler, OTCC) written in Obfuscated Tiny C, so small that Bellard could submit it to the International Obfuscated C Contest (IOCCC) and win. 
Obfuscated Tiny C is compiled to x86_32 machine code. Obfuscated Tiny C has only one data type, a 32-bit word, which can also be dereferenced as a pointer to a word, to a byte, or to a function. Obfuscated Tiny C links to the native C library, and it doesn't come with any extra library. 
Bellard has later blown OTCC up to a full tiny compiler, TCC.
Another tiny variant of C is implemeted by Lennart Augustsson's 1996 IOCCC entry. The goal is similar to Bellard's goal.
That variant is compiled to an unknown bytecode that is interpreted by the same source file. It only has restricted operations available:
	OC grammar
	==========
	Terminals are in quotes, () is used for bracketing.
	program:	decl*
	decl:		vardecl
			fundecl
	vardecl:	type NAME ;
			type NAME "[" INT "]" ;
	fundecl:	type NAME "(" args ")" "{" body "}"
	args:		/*empty*/
			( arg "," )* arg
	arg:		type NAME
	body:		vardecl* stmt*
	stmt:		ifstmt
			whilestmt
			dowhilestmt
			"return" expr ";"
			expr ";"
			"{" stmt* "}"
			";"
	ifstmt:		"if" "(" expr ")" stmt
			"if" "(" expr ")" stmt "else" stmt
	whilestmt:	"while" "(" expr ")" stmt
	dowhilestmt:	"do" stmt "while" "(" expr ")" ";"
	expr:		expr binop expr
			unop expr
			expr "[" expr "]"
			"(" expr ")"
			expr "(" exprs ")"
			NAME
			INT
			CHAR
			STRING
	exprs:		/*empty*/
			(expr ",")* expr
	binop:		"+" | "-" | "*" | "/" | "%" |
			"=" |
			"<" | "==" | "!="
	unop:		"!" | "-" | "*"
	type:		"int" stars
			"char" stars
	stars:		"*"*
== Links ==
* 2001/bellard, the winning IOCCC entry
** The compiler source code
** The hint file describing the language
* Another entry by Lennart Augustsson
** source code
** Hint file
Category:2001
Category:1996
Category:Languages
Category:Implemented
Obj

Category:Unusable_for_programming
Category:Joke_languages
Category:2021
Category: Languages
Named after a typo posted in a Discord discussion, :obj is a joke language where there is only one Object.Prior to the conversation, this idea was thought up by Threesodas in 2021 and was named j-object-ke.
 import Object
 from Object import Object
 Object Object = Object.Object;
 Object:end();
There is no way that :obj could be programmed in because a compiler may get confused during compilation.
== Example Programs ==
=== What's your favorite number? ===
 from Object import *
 Object.Object("What's your favorite number?");
 Object object = Object.Object();
ObjectPar

It uses only objects. Each data is an object, including one object for each integer number.
 + Push pointer to '+' object.
 - Push pointer to '-' object.
 # Push pointer to number zero object.
 [...] Makes a new blank object containing this code, pushes onto stack.
 ? Push pointer to self.
 = Pop A,B if both point to same thing, skip to next = sign in current object code.
 @ Pop A. Copy object A, and execute its code.
 ) Pop A,B. Push value of variable called B of object A.
 ( Pop A,B,C. Set value of variable called B of object A to value C.
 $ Pop A,B. Push object called (A,B). Is blank (first time), but code is concatenation of codes A and B.
 / Swap top 2 of stack.
 : Discard top of stack.
 ;... If ... is a digit 0 to 9, swap top of stack with items (n) spaces down.
I think it would be Turing-Complete.. If not, post on it and see what need to be fix.
==See also==
* SuperPar
Category:Languages
Category:Unknown year
Category:Object-oriented paradigm
Object (programming language)

Object is the real object-oriented programming language, where everything is an Object, even YOU, created in 2007 by User:Pegasus (Erick Atencio).
There is a main object, the Program Code, and all the programming occurs around it.
==Hello World Program==
 code.uses:iostudio ...IoStudio is the main I/O Library
 code.writeline.params:"Hello World!"
 code.writeline.execute
==Adds 2 integers and prints the result ==
 code.uses:iostudio
 code.create.integer:i
 code.i.assign:5
 code.create.integer:j
 code.j.assign:6
 code.i.open ....loads i to memory
 code.j.add ...adds j
 code.writeline.params.save ...saves result to the parameters
 code.writeline.execute ...prints 11
==Interpreter==
* Not available yet
 
Category:LanguagesCategory:2007Category:UnimplementedCategory:Object-oriented paradigm
Object oriented Lambda Calculus

Object-oriented Lambda Calculus is an esolang created by User:Joaozin003 which extends Lambda-calculus by adding classes.
== Classes ==
Just like functions, classes are anonymous, but their members are referred to by name. To define a class, use ~(body).
The body is a list of names and function definitions, in this format: ival:if;name1(att1):f1;name2(att2):f2;...
Functions can refer to a this variable, which gets the object's instance.
All functions set a specific attribute. For example, if you want to use foo to change the attribute bar, you would do:
 ~(ival:baz;foo(bar):body;bar:qux;)
The return value is what bar would get set to.
To access an attribute, put the attribute's name in single quotes after the instance. Example:
 ~(ival:\f.\x.x;succ(val):\f.\x.f (this'val' f x))'succ'
See the val attribute? If an instance gets evaluated by itself, it's as it did instance'val'.
ival is the initial value.
Category:Languages Category:Object-oriented paradigm
Objectd

== About ==
Objectd is an object-oriented programming language. It is based on C++, Java, JS, Forth and Minim.
== Semantics ==
=== Data types ===
==== Variable ====
In Objectd, variables can only store double-precision floating point numbers.
 Literals and constants
Type 	Example
Decimal 	-123.12
Hexadecimal 	0xFB.43
Octal 	0o12
Scientific 	1E+14
Charcode 	'A', ' ', '\n'
Special constants	INF, NAN, PI, E
 Escape codes
Escape	Description
\\ 	\
\' 	'
\" 	"
\n 	Newline
\r 	Carriage Return
\t 	Horizontal tab
\v 	Vertical tab
\#----	Hexadecimal 4-digit Unicode
Objects

Objects is a programming language made by Europe2048, designed to create real-life objects near the viewer, or somewhere far-far away (only on Earth though).
== Syntax ==
 obj("https://example.com/duck.rlo")
This gets the object from a specified URL, which contains the .rlo extension used for real-life objects.
 duck = obj("https://example.com/duck.rlo")
You can make the object usable by putting it into a variable.
 create(duck)
This creates an object near the device that's running it.
 create(rabbit,34.3089766,132.9833074)
This creates an object in the specified latitude and longitude.
 print("Hello, World!")
This language can print, too!
== Examples ==
=== Hello World ===
 print("Hello, World!")
=== Spawn a duck ===
 duck = obj("https://example.com/duck.rlo")
 create(duck)
== Computability ==
Since this can create real-life objects from nowhere, this language is uncomputable.
Category:Joke languages Category:Uncomputable Category:Unusable for programming Category:2024
Obscure

Obscure is an esoteric programming language designed to operate as fully functional & Turing-complete language, yet with unconventional coding practices. Obscure was made to have a very simple and short list of functions that developers can use to create complex and large projects.
== History ==
The Obscure programming language was originally published on the Scratch Forums on the 1st of September, 2024. It quickly became one of the fastest-growing discussion topics on the Advanced Topics forum, gaining over 200 posts in less than 5 days and 6,000 views in its first 2 weeks of release.The language was originally released as a beta version that quickly evolved with feedback from the community. Users have created impressive projects with Obscure, such as a fully working brainf interpreter, pushing the limits of the programming language.
== Example Programs ==
=== 99 Bottles of Beer ===
 set bottles to 99
 while {bottles} > 0
 out {bottles} bottles of beer on the wall, {bottles} bottles of beer.
 subtract {bottles} 1 as bottles
 out Take one down and pass it around, {bottles} bottles of beer on the wall.
 end
 out No more bottles of beer on the wall, no more bottles of beer.
 out Go to the store and buy some more, 99 bottles of beer on the wall.
=== Working Clock ===
 date hour as hour
 date minute as minute
 date second as second
 
 if {hour} < 10
 set hour to 0{hour}
 end
 
 if {minute} < 10
 set minute to 0{minute}
 end
 
 if {second} < 10
 set second to 0{second}
 end
 
 out The time is {hour}:{minute}:{second}
Category:LanguagesCategory:2024 Category:Turing complete Category:Implemented
Octive

Octive is an esolang created by CreeperBomb in 2023. It has eight unique operations compacted into 72 characters, and has an accumulator which can either be a natural number (incl. 0) or infinity. The eight operations are:
Name 	Description
Even 	Multiplies accumulator by 2, mapping infinity to 0
Odd 	Multiplies accumulator by 2 and then adds 1, mapping infinity to 1
Invert 	Infinity goes to 0, 0 goes to infinity, and every other number n goes through \sum_{i=0}^{\log_{2}(n)}\left(2^{\left \lfloor \log_{2}(n)\right \rfloor-i}\left \lfloor \frac{n}{2^{i}}\right \rfloor-2^{\left \lfloor \log_{2}(n)\right \rfloor+1-i}\left \lfloor \frac{n}{2^{i+1}}\right \rfloor\right)
Small 	Divides by 2, flooring the result and mapping infinity to infinity
Beginner 	Starts a loop between it and the matching Terminator
Terminator	Marks the end of a loop and goes back to the matching Beginner
Antinull 	Exits the loop if the accumulator is even
Interact 	If the accumulator is even, the next Even will additionally output 1 or the next Odd will additionally output 0, depending on whichever is run first. If the accumulator is odd, then the user can choose to either do nothing, run an Even, or run a Small
These are then compacted as such:
↓ First \ Second →	-	- Even 	- Terminator	- Odd	- Small 	- Interact	- Beginner	- Invert 	- Antinull
Invert - 	q	1 	u 	v 	c 	h 	> 	e 	9
Even - 	y	" 	] 	j 	@ 	^ 	x 	; 	t
Beginner - 	}	i 	a 	w 	8 	$ 	7 	( 	%
Antinull 	[	g 	. 	' 	~ 	` 	f 	d 	,
Odd - 	=	+ 	6 	m 	: 	4 	p 	? 	n
Terminator - 	5	r 	/ 	{ 	< 	* 	k 	[newline]	b
Interact - 	0	- 	! 	# 	[horiz. tab]	o 	z 	№ 	)
Small - 	&	[space]	3 	l 	2 	s 	ü 	_ 	\
The accumulator starts at 0.
== Example programs ==
Cat, where even -> 0 and small -> 1:
4%s:a*=
Truth machine, where even -> 1 and small -> 0:
4ü~-6#
Category:Languages Category:2023
Octo

OCTO is designed to be as different from any other language (including esoteric language) present. Most programming languages (even esolangs) automatically know which order to execute instructions: left-to-right, top-to-bottom. Instead, this one has each command have a counterpart which tells the pointer where to go. The data itself is the code and it modifies over. "X" is the previous instruction (with wrapping) if the code-pointer direction is right-to-left, otherwise it is the next direction Each instruction goes as follows:
Command	Description
0 	subtract 1 and branch if X is less than 8, go move code/IP back 1
1 	add 1 and branch if X is less than 8, go move code/IP back 1
2 	subtract 1 and branch if X is greater than 8, go move code/IP back 1
3 	add 1 and branch if X is greater than 8, go move code/IP back 1
4 	subtract 1 and branch if X is less than 8, go move code/IP forward 1
5 	add 1 and branch if X is less than 8, go move code/IP forward 1
6 	subtract 1 and branch if X is greater than 8, go move code/IP forward 1
7 	add 1 and branch if X is greater than 8, go move code/IP forward 1
8 	move data pointer to the right
9 	move data pointer to the left
A 	increment cell underneath data pointer
B 	decrement cell underneath data pointer
C 	output cell under data pointer
D 	take an input, insert input data to the left or right of data pointer depending on which direction the code is moving
E 	jump to matching F and set code direction to right-to-left if cell under data pointer is less than 128, else skip (if equal to 128, go to furthest left in code, set direction left-to-right)
F 	jump to matching E and set code direction to left-to-right if cell under data pointer is more than 128, else skip (if equal to 128, go to furthest right in code, set direction right-to-left)
The code is represented as hex data.
Category:Low-level 
Category:Cell-based 
Category:Languages
Category:2020
Category:Turing complete
Category:Unimplemented
Category:Turing tarpits
Category:OISC
Odasjoi

Odasjoi (/əʊˈdæsdʒɔɪ/) is an esolang invented by User:None1. Its name is chosen by smashing random keys, its commands are, too.
==Commands==
Commands must be separated by line feeds and are case insensitive.
fowdif Increase the accumulator
wekeww Decrease the accumulator
woiejd Input the accumulator (as decimal)
doqije Output the accumulator (as decimal)
iwejdo If the accumulator is 0, halt
oweijw Execute the remaining commands infinitely
The accumulator can store signed decimal integers.
==Examples==
===Truth Machine===
 woiejd
 doqije
 iwejdo
 oweijw
 doqije
===Decimal cat===
 oweijw
 woiejd
 doqije
======
 fowdif
 fowdif
 fowdif
 fowdif
 doqije
===Infinite loop===
 oweijw
==Python interpreter==
By User:None1, enter stop to stop reading the program:
import sysc=[]while 1:    d=input()    if d=='stop':        break    c.append(d)def odasjoi(c,x):    while c:        k=c.pop(0)        if k=='fowdif':            x+=1        elif k=='wekeww':            x-=1        elif k=='woiejd':            x=int(input())        elif k=='doqije':            print(x)        elif k=='iwejdo':            if not x:                sys.exit(0)        elif k=='oweijw':            while 1:                odasjoi(c[:],x)            odasjoi(c,0)
Category:Languages
Category:Unusable for programming
Category:2023
Category:Implemented
Oddy

== Oddy! ==
Oddy is a:
* Totally random scripting language 
* A confusing one
* Oddy was built in scratch, making it easy to reverse-engineer.
Commands:
 * No commands cause its random!
1 command: VAR = sets the variable to the input
 Error codes:
* Infinite: happens due to a bug
* Nan: variable failure
link: https://scratch.mit.edu/projects/651159122/
LOL
Category:Languages
Odtizuda

This is a esoteric programming language invented by User:Zzo38. It is similar to Waduzitdo but has more commands.
==Examples==
This is a example of a cyclic tag machine.
 .A
 .F*
 .R
 NG-4
 @=.*.
 @R
 @R
 @R
 @T
 .F*
 .R
 NG-4
 @=**.
 @R
 @R
 @R
 @T
 .G17
This program will remove the vowels from the input.
 .A
 @=~
 .FA
 NFa
 NFE
 NFe
 NFI
 NFi
 NFO
 NFo
 NFU
 NFu
 YG-2
 @R
 .G-1
 .R
 .F~
 @T
 NG17
 .R
 @T
 .S
Category:Languages
Category:2004
Ogú

Ogú is a dynamic programming language. Ogú is a comic character created by chilean illustrator Themo Lobos.
==Examples==
===Hello World===
 main () =
 println! "hello world"
===Fizzbuzz===
 fizz-buzz! i
 | i % 3 == 0 = println! f"${i} FIZZ"
 | i % 5 == 0 = println! f"${i} BUZZ"
 | otherwise = println! i
 main () =
 [0..1000] |> fizz-buzz!
===Quicksort===
 quicksort [] = []
 quicksort (x :: xs) = smallerSorted ++ (x :: biggerSorted)
 where
 smallerSorted = quicksort [a | a <- xs, a <= x]
 biggerSorted = quicksort [a | a <- xs, a > x]
==External Resources==
* Offical github repository 
* Official Website
Category:Implemented 
Category:Languages
Category:2011
Oh, fuck!

Oh, Fuck! is a Esolang based on Brainfuck but more commands.
It is full of onomatopoeias.
== Commands ==
 Commands
Oh, Fuck! 	Mean
啊 	Increment the data at the pointer.
呃 	Decrement the data at the pointer.
哦 	Increment the pointer.
吁 	Decrement the pointer.
咦 	Output the data at the pointer as a character.
唉 	Input a character and store its Unicode in the data at the pointer.
吔 	Input a integer and store it in the data at the pointer.
嘘 	Output the data at the pointer as a integer.
唵 	Jump forward past the matching 喔 if the data at the pointer is zero.
喔 	Jump backward to the matching 唵 until the data at the pointer is zero.
哟(value) 	Set pointer to value-th cell.
噫(value) 	Set the data at the pointer to the value.
吽 	Kill Program.
哎{block} 	If the data at the pointer is not zero, do block.
唔(label name) 	Define a label.
呀 	End of a label.
咻(label) 	Jump to label.
哈 	Multiply the data at the pointer by 2.
呜 	Divide the data at the pointer by 2.
嘶 	Clear the data at the pointer.
咚 	Reset all data.
咕 	Reset pointer.
叽[DWORD] 	Wait for DWORD seconds.
== Programs ==
=== Hello, world ===
噫(72)咦噫(101)咦噫(108)咦噫(108)咦噫(111)咦噫(44)咦噫(32)咦
噫(119)咦噫(111)咦噫(114)咦噫(108)咦噫(100)咦噫(33)咦噫(10)咦
吽
=== Truth Machine ===
吔哎{咻(inf)}
噫(48)咦吽
唔(inf)
啊唵哦噫(48)咦吁喔
呀
=== A+B Problem ===
吔啊吔唵呃哦啊吁喔呃嘘吽
== Categories ==
Category:Languages
Category:Brainfuck derivatives
Category:Turing complete
Category:Turing tarpits
Category:2024
Okayako

OkayakO is object-oriented language by User:ChuckEsoteric08. It is Schwa, but more useful.
==Commands==
Command	State 1 	State 2
@ 	Switch state 	Switch state
! 	Set accumulator to 0 	Increment accumulator
# 	Change state to state 2 	Decrement accumulator
` 	Execute object secified by accumulator	Change state to state 1
" 	Output accumulator 	Output accumulator
Making object looks like this:
 <object number>:
 <your code><next object that will be executed>
==Examples==
===Counter===
 0:
 @!"@`
 1:
 @!"@`
 2:
 @!"`
 3:
 @!"
 Output:
 1234
=== Countdown ===
A program which counts down from four (4) to one (1) is implemented below:
 0:
 @!!!!"@`
 
 1:
 
 2:
 @#"@`
 3:
 @#"@`
 4:
 @#"@`
==Interpreter==
* Common Lisp implementation of the OkayakO programming language.
Category:Languages Category:Object-oriented paradigm Category:2022 Category:Output only Category:Implemented
Old Branjunk

Old Branjunk (or Brainuck) is an esolang depicting an early version of branjunk created by User:Ractangle
==Syntax==
 + - adds 
 - - subtracts
 U - Prints value
 K - Stops program
 ; - Gets user input
 : - Resets the memory
 ~ - 
as you can see. this version of branjunk is more unusable
Category:LanguagesCategory:2024Category:Unusable for programmingCategory:TotalCategory:Unimplemented
Old GammaScript

Old GammaScript is a revival of Gammascript 0.2 made by Unname4798.
== Commands ==
Command 	Description
create var <varname> is <varval>	Makes a variable.
write <string> 	Outputs a string.
if <condition> then: 	A condition command. If you try to nest it, the command rejects it.
wait <duration in seconds> 	A wait command.
ask 	User input. Reserved variable name.
show 	Outputs a variable.
don't execute <string> 	A comment.
<value1> = <value2> 	Equality operator. Should only be used in a condition command.
== Examples ==
=== Hello, World! ===
 write Hello, World!
=== Cat ===
 show ask
== See also ==
* Gammascript
Category:Languages
Category:2024
OlleH

olleH is a language created by User:SnakeyKing.
It is the opposite of Hello.
== Commands ==
olleH has only one command:
 Hello World!
which will print h.
== Implementations ==
=== Python 3 ===
Implementation by User:SnakeyKing
code = input('olleH > ')
if code == 'Hello World!': print('h')
else: print(f"Error! Unavailable command '{code}'!")
Category:Languages
Category:Joke languages
Category:Unusable for programming
Category:Total
Category:Output only
Category:2023
Category:Implemented
Category:Pseudonatural
Omniglot

an omniglot is a hypothetical polyglot that does the same thing in every language. omniglots are impossible, due to the conflicting nature of the following languages:
== omniglot d1 ==
commands:
 a - print hello world
 e - end
every other symbol throws an error, and the script has to end with an e for end
== omniglot d2 ==
commands:
 a - end
 e - print hello world
every other symbol throws an error, and the script has to end with an a for end
== disproof ==
omniglot d1s hello world program is ae
omniglot d2s hello world program is ea
now you may be asking "this omniglot is simple! just use aeae!"
that wouldnt work because omniglot d1 programs need to end with an a, so this wouldnt work.
even if omniglot d1 allowed things after the end, it would still end immediately.
there are many languages like omniglot d1 and d2, i didnt just come up with it on the stop to disprove this.
consider or and text
there is no possible omniglot you could possibly make with these two coexisting.
Omnis Clocha Clochabilis in Clocherio Clochando Clochans Clochativo Clochare facit Clochabiliter Clochantes/refimpl

:
:Note: there may be errors in the reference implementation. It's still young.
#!/bin/python3 
import sys, re, string, os.path as op
_regex = re.compile('[' + re.escape(string.punctuation) + ']')
bf2oc9 = {
 '>': 'clochans',
 '<': 'clochare',
 '+': 'clochando',
 '-': 'clocherio',
 ',': 'clochantes',
 '.': 'clochativo',
 '[': 'clochabilis',
 ']': 'clochabiliter',
}
oc92bf = {v: n for n, v in bf2oc9.items()}
class ClochaClochareClochansError(Exception): pass
usage_msg = Usage: {} PROG1 [ PROG2, ... ] 
Executes one or more programs written in Omnis Clocha Clochabilis in Clocherio 
Clochando Clochans Clochativo Clochare facit Clochabiliter Clochantes. 
'''
def remove_punctuation(s):
 return _regex.sub(' ', s).lower()
def brainfuck_to_OC9(bf):
 'You have to add the `clocha` yourself.'
 return ' '.join(bf2oc9[c] for c in bf if c in bf2oc9)
def OC9_to_brainfuck(oc9):
 oc9 = remove_punctuation(oc9).split()
 since_last_clocha = 0
 ret = []
 for s in oc9:
 if not s: continue
 since_last_clocha += 1
 if s == 'clocha':
 since_last_clocha = 0
 elif s in oc92bf:
 ret.append(oc92bf[s])
 if since_last_clocha >= 10:
 raise ClochaClochareClochansError('Needs more clocha!')
 return .join(ret)
def _exec_bf(code, tape = None):
 if tape is None: tape = {}
 call_stack = []
 head = 0
 i = 0
 while i < len(code):
 c = code[i]
 i += 1
 if c == '>':
 head += 1
 elif c == '<':
 head -= 1
 elif c == '+':
 tape[head] = tape.get(head, 0) + 1
 elif c == '-':
 tape[head] = tape.get(head, 0) - 1
 elif c == ',':
 tape[head] = ord(sys.stdin.read(1))
 elif c == '.':
 sys.stdout.write(chr(tape.get(head, 0)))
 elif c == '[':
 call_stack.append(i)
 elif c == ']':
 if tape.get(head, 0): i = call_stack[-1]
 else: call_stack.pop()
def exec_file(path):
 with open(path, 'r') as f:
 code = f.read()
 exec_code(code)
def exec_code(code):
 try:
 bf = OC9_to_brainfuck(code)
 except ClochaClochareClochansError as e:
 sys.stderr.write(e + '\n')
 _exec_bf(bf)
def usage(prog_name):
 sys.stdout.write(usage_msg.format(prog_name))
def main():
 if len(sys.argv) <= 1 or '--help' in sys.argv:
 usage(sys.argv[0])
 return
 for arg in sys.argv[1:]:
 if op.exists(arg):
 exec_file(arg)
 else:
 sys.stderr.write('File \'{}\' does not exist\n'.format(arg))
if __name__ == '__main__': main()
Category:Implementations
On/Off

On/Off is a zero-dimensional esoteric programming language with only two instructions, namely On and Off.
== Syntax ==
A valid program in On/Off has only one instruction, reflecting the state of the program.
== Example programs ==
Set program state to On:
 On
Set program state to Off:
 Off
Truth machine:
 <input goes here>
For 1, replace with On, for 0, replace with Off.
Category:Languages
Category:No IO
Category:2021
Category:Joke languages
Category:Zero-dimensional