To propose a language to be featured, edit the list of candidates, adding the language as a list item consisting of a link to the language's article. The entry should be added in alphabetical order, symbols first, like the language list.
Any user (whether registered or anonymous) can suggest one language to be featured by listing it on this page; however, suggesting your own languages is forbidden. Every so often (we're not sure of the exact time span yet), an administrator will choose a language from the available candidates, roughly according to the following criteria:
- The language's article should be well-written and formatted, with all the relevant details. If you want to suggest a language with a rough article, improve the article first! In particular, a language's article must contain at least a brief specification for it to be considered.
- Languages with examples on the page are given preference to those without, unless no examples can be provided.
- Languages with linked implementations are given preference to those without, again unless an implementation is impossible.
- Languages with more novel concepts and themes are given preference. That is, languages with obscure paradigms are given preference to those that have many siblings and, for example, two stack-based languages are unlikely to be featured consecutively.
- Languages that have not already been featured are strongly preferred, unless it has been a long time since it was previously featured, or significant new developments have occurred that warrant a second featuring.
Beyond those criteria, the choice of language is up to the discretion of the administrator. Once the language is selected, the administrator will write a blurb for the main page, feature the language, and remove it from the list of candidates. If none of the candidates meet the criteria, then the current language will likely stay until more are proposed; if a significant amount of time has passed since the featured language change, then the administrator can select a language per their own whims (and this process should be reviewed!).
Periodically, the list of candidates will be blanked, and people will be allowed to submit candidate languages once again, with the caveat that the same person cannot submit the same language twice in a row. This will be done infrequently, so make your suggestion count.
List of candidates
- Befunge is an esoteric programming language invented by Chris Pressey in 1993 where code is stored in a two-dimensional grid of instructions, each encoded by an ASCII character. The instruction pointer can travel through the grid in any of the four cardinal directions. Control flow instructions change the direction of execution. Data is stored on a Forth-like stack, as well as in the same grid that store the instructions. Befunge is popular in the esoteric programming community: there are several interpreters and compilers, there is at least one IRC bot written in Befunge, and at some point new users on this wiki were required to solve a befunge captcha. (more…)
- – b_jonas 19:24, 3 March 2019 (UTC)
- bitch is a minimalistic esoteric programming language created by User:Helen in 2019 inspired by Arphimigon's BITCHWISE. Data is stored on only one accumulator. Only bitwise operations, input and output, and basic control flow(executing a non-nestable infinite loop, one-instruction conditional statements, and halting the program) can be performed using it. Bitwise limitations of the commands in bitch significantly increases the difficulty of creating a useful algorithm using it. Even an adding algorithm is very complicated and barely compresensible. It is not Turing-complete, due to the lack of nested loops. It would be if that limitation is ignored.(more…)
- - A 12:24, 5 March 2019 (UTC)
- Underload is an esoteric programming language invented by User:ais523 that is only Turing complete using the self-interpret command. It uses a stack to store values and the only value that can be stored there is the code block. It has 8 commands, but only 3 of them are actually needed: make a new block
(), duplicate the top of the stack
:, and run the block on top of the stack
^. This very restricted yet Turing complete instruction set makes Underload very useful for proving other esoteric programming languages with self-interpretation Turing complete. For example, a previously featured language Emmental was proved Turing complete by writing an Underload interpreter in it. (more…) Camto 21:06, 13 March 2019 (UTC)