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.
CHOOSE
Intro
Alright, imagine an alien computer. Everyone is really excited to use it, but the only thing it can do is search for programs that matches with an output, and also those programs also search for programs that do the exact same thing. Is it possible to even do anything with this highly theorical programing language? This was a thought experiment by User: A()
Rules
The translated instruction manual says as follows:
⦁ Every program can be described by a string of numbers
⦁ Every program searches for programs that match with a statement (Ex: ¬a=b)
⦁ Every program written must search other programs
Syntax
[program 1 / program 2] : (statement) [[program 1a / program 2a] : (statement) / [program 1b / program 2b] : (statement) ] : (statement) Ect.
Commands
| Cmd | Effect | number |
|---|---|---|
| & | if a and b are true, return true | 2 |
| v | if a or b are true, return true | 3 |
| ¬ | not a | 5 |
| ∅ | null | 7 |
| [ | begin search | 11 |
| ] | Bracket | 13 |
| / | Separation | 17 |
| : | beginning of statement | |
| (, ) | parenthesis | 19 and 23 |
| = | if a equals b, return true | 29 |
| t | true | 31 |
| f | false | 37 |
Programs
True
This program returns true. Now you may think that this will work:
[ t / f ] : ( t )
But every program must search for other programs, even the programs we are searching for. So it's more like this:
[ [ [ t ... / ∅ ] : ( t ) / [ [∅... / ...∅ ] / ... : ( f ) ] : ( f ) ] : ( t )
Even if it takes an countably infinite amount of time to reduce to any solution, it works!