Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <https://esolangs.org/>. (for the other find of esoterica, try #esoteric in Fnet or ALnet.) -- Hackeso A funny Chef program:
Baking dish plus mixing bowl. This serves the baking dish and the mixing bowl to the customer on a baking dish. Ingredients. 1 mixing bowl 1 baking dish Method. Put the mixing bowl into the mixing bowl. Put the baking dish into the mixing bowl. Pour contents of the mixing bowl into the baking dish. Serves 1.
My favorite language is bitch; it can astonishingly be Turing-complete using just a few bitwise commands and simple control flow!
My favorite non-esoteric language is H, just because it is simple yet very powerful.
There is github.com, and there is bithug.com.
- 1 Write some nonsense here
- 2 Adding if statements and functions without adding any keywords
- 3 Quick reference of a nice little golfing language
- 3.1 Command reference
- 3.2 IF(¶)/THEN(…)/ELSE(‡)/END(†)
- 3.3 IFT(₮)/IFTE(°)
- 3.4 Looping statements
- 4 Hey stack!
- 5 Blocked
Write some nonsense here
ehird was a genius! They have put two languages into the featured languages, and both of them has got featured!
I see the trend of the extended descriptions on Esolang:Featured languages; the first description was 3 lines, and the last description is 4 lines; that is why I decided to write 5 lines.
I hate brainfuck; it makes this wiki full of its derivatives and many of them are just trivial replaces or extensions of them. This makes the wiki monotonous. I suggest the page and its derivatives to be removed from this wiki.
Challenge: Write a Hello, world! program with the following time complexity:
O(O(O(n^(n^n)+O(nlogn)))/(n+nlogn)). Spoiler of the joke: you will soon discover this as trivial, as it will eventually return a contant. You only have to devise an algorithm that is constant time.
~~~~1This will try to set the signature to 1 repeating forever until it breaks. Then, it sets the signature to
1and then stops the loop.
You know, the first FORTRAN compiler that was ever made was probably the best FORTRAN compiler in terms of producing the fewest instructions per FORTRAN statement. Because they spent so much effort to get it all just right. For example, the reason FORTRAN has a three-way branch – IF (ABC) 1,2,3 – is because the machine had a three-way branch, and that way they could generate that in a single instruction. It’s like CAR and CDR; they worked very hard on performance, from the very beginning.
A sentence without using 'e'
- An IRC bot is an analog program that was built for satisfaction for human control.
A sentence without using 't'
- An esolang is a programming language made because of odd desires of a language-maker; esolangs could be made weird or as a joke, as opposing a normal programming language.
A sentence without using 'a'
- In the nondeterministic set, things don't commit the same result in the same event.
Adding if statements and functions without adding any keywordsIf statements:
If the previous object mentioned (e.g. indexed by
def, or the last constant used by
"asdf", then there will result in a state transition; if transition is a value, that object will be set to that value; if transition is a function, that function will be executed.
This is simply setting a variable to an executable content. To call it, it is:
In order to define parameters for functions, one can do:
def func="(param;param) func-contents" Then, one can normally call the function with parameters.
Quick reference of a nice little golfing language
→ Output to STDOUT
← Input from STDIN
String comparison operators(if failed, they are compared as numbers)
= Check if two top of stacks are equal when both operands are converted to strings
< Check if two top of stacks are less than when both operands are converted to strings
> Check if two top of stacks are greater than when both operands are converted to strings
× Multiply the second-to-top string by the number represented by the top of the string
+ Combine the two top-of-stack strings
+ Add two top of stacks
- Subtract two top of stacks
× Multiply two top of stacks
÷ Divide two top of stacks
% Modulo two top of stacks
Stack manipulation operators
$ swap two top of stacks
: Duplicate top of stack
! Delete top of stack
@... One-line comments
RPL supports basic conditional testing through the IF/THEN/ELSE structure.
The syntax of this block is:
The following example tests to see if the number at the bottom of the stack is "1" and, if so, replaces it with "Equal to one":
¶1=…"Equal to one"†
¶ construct evaluates the condition then tests the bottom of the stack for the result. As a result RPL can optionally support FORTH-style IF blocks, allowing the condition to be determined before the block. By leaving the condition empty, the
¶ statement will not make any changes to the stack during the condition execution and will use the existing result at the bottom of the stack for the test:
1=¶…"Equal to one"†
Postfix conditional testing may be accomplished by using the IFT ("if-then") and IFTE ("if-then-else") functions.
IFT and IFTE pop two or three commands off the stack, respectively. The topmost value is evaluated as a boolean and, if true, the second topmost value is pushed back on the stack. IFTE allows a third "else" value that will be pushed back on the stack if the boolean is false.
The following example uses the IFT function to pop an object from the bottom of the stack and, if it is equal to 1, replaces it with "One":
The following example uses the IFTE function to pop an object from the bottom of the stack and, if it is equal to 1, replaces it with "One". If it does not equal 1, it replaces it with the string "Not one":
IFT and IFTE will evaluate a program block given as one of its arguments, allowing a more compact form of conditional logic than an IF/THEN/ELSE/END structure. The following example pops an object from the bottom of the stack, and replaces it with "One", "Less", or "More", depending on whether it is equal to, less than, or greater than 1.
:1= «!"One"» «1<"Less""More"°» °
RPL provides a FOR/NEXT statement for looping from one index to another. The index for the loop is stored in a temporary local variable that can be accessed in the loop. The syntax of the FOR/NEXT block is:
index_from index_to ₪ variable_name loop_statement №
The following example uses the FOR loop to sum the numbers from 1 to 10. The index variable of the FOR loop is "I":
« 0 @ Start with zero on the stack 1 10 @ Loop from 1 to 10 ₪I @ "I" is the local variable I + @ Add "I" to the running total № @ Repeat... »
The WHILE/REPEAT/END block in RPL supports an indefinite loop with the condition test at the start of the loop. The syntax of the WHILE/REPEAT/END block is:
User:Areallycoolusername, I think you have missed the
p() command in the Char language, which is pop an item from the Arch. I suggest you to add that instruction to the Char page. --A (talk) 04:20, 18 July 2019 (UTC)
- Edit: I discovered that you made it impossible to understand by modifying it... you have mentioned "stack" when Char is only based on one Arch, and you have changed the commands without modifying the computational class proof. --A (talk) 04:27, 18 July 2019 (UTC)
Hey stack! is a 4th-generation language where you have to declare everything before you use these things. It is a meta-language that can be used to describe anything physical other than physical data structures. It was said to have so much syntactic sugar that it "rots your teeth". It has notably more syntactic sugar than any other meta-language.
You are in an alternate universe where all data structure components are angry at you because you accidentally set a fire and burnt every computer. So (, unfortunately), you have to greet all of the data structures to use them normally.
Ways of greeting
Hey stack! has tons of syntactic sugars. However, these are simply for greetig these data structures' components (these eclipsis represent the names of the components of data structures):
Hey ...! Hi ...! Hello ...! Howdy ...! Salutations ...! Nice to meet you ...! Greetings ...! Good morning ...! Good evening ...! How are you ...? What's up ...? What's good ...? What's new ...? What's going on ...? How are you ...? How are you doing ...? How is it going ...? How are things ...? How is life ...? How do you do ...? How is life treating you ...? How's everything ...? What have you been up to ...? Long time no see ...! I am glad to meet you ...! I haven't seen you in ages ...! Long time no see ...! How are you going ...?
You should change the punctuation marks to colons if there are sub-components of this component and add a 4-space indentation. You can of course still use exclamation marks or question marks.
Example: Greeting an array-based stack(simply an array+cursor) with length 5 with a finite length with minimalist defined operations before you use it
Hey stack: Hey array: Hey item1! Hey item2! Hey item3! Hey item4! Hey item5! Hey cursor: Hey integer: Hey digit1! Hey digit2! Hey digit3! Hey digit4! Hey automation: Hey pushStack: Hey copyValue! Hey triggerCursorIncrement! Hey popStack: Hey triggerCursorDecrement!
Now the user should be able to use this stack normally.
Description of Conway's Cellular Automaton in Hey stack!
Hey ConwayGrid: Hey stateDead, Alias " ": Hey ConditionToAlive: Hey FullfillEither: Hey 3Alive! Hey 5Dead! Hey stateAlive, Alias "*": Hey ConditionToDead: Hey FullfillEither: Hey 4Alive! Hey 7Dead!
It can be argued that it is a bounded-storage machine, as it can describe Turing-complete systems plus defining finite input.
I've blocked you temporarily for impersonating other users. Using a signature with the same name as another user, and linking to their talk page rather than your own, is likely to confuse people and may accidentally cause the wrong person to be blamed from an action of your own.
On a side note, you shouldn't be trying to direct people away from your user talk page if they want to contact you; the whole point of the page is to allow for discussions to take place, and a wiki relies on discussions between editors to resolve disputes. Being unwilling to collaborate with others (or seeking to test people's boundaries, antagonise them, etc.) is behaviour that is likely to cause a longer ban if it keeps up into the future. --ais523 04:31, 16 July 2019 (UTC)
I also just noticed your pagemove vandalism in userspace. That's another good reason for the temporary block, and if you do something like that it may become permanent. --ais523 04:52, 16 July 2019 (UTC)