TWFUNSETDCMFIU
- This is still a work in progress. It may be changed in the future.
TWFUNSETDCMFIU (commonly abbreviated as TWFUN) stands for The World's First "Usability Not Set" Esolang That Doesn't Charge Money From Its Users. As the name suggests, its design reflects a certain lack of "usability," though this characteristic is also somewhat tongue-in-cheek.
Interestingly, TWFUNSETDCMFIU contains the terms "FUN" and "SET" within its acronym. However, contrary to what the name implies, testing your program across all 35 official interpreters is anything but fun. This task can become even more tedious when considering the potentially infinite number of unofficial interpreters.
Adding to the irony, the acronym is also partly a recursive acronym, with the "Set Esolang That" portion conveniently forming "SET."
More Detailed Explanation
The two previous esolangs in the Usability Not Set category were based on the amount of money invested by the user. However, TWFUNSETDCMFIU follows a system similar to TMMLPTEALPAITAFNFAL, with the key difference being that it revolves around different hypothetical interpreters rather than specific days.
There are 35 official interpreters for TWFUNSETDCMFIU: 26 named after letters of the alphabet and 9 after single-digit numbers. Each interpreter comes with its own unique set of specifications, making it impractical to list every command for each one. Instead, I will focus on commands that are common across all interpreters (those that ensure Turing Completeness) and provide the most widely accepted descriptions of their functions.
Meet the Interpreters
The different official interpreters of TWFUNSETDCMFIU have varying specifications. For example, TWFUN interpreter might possess features that are absent or significantly altered in TWFUN interpreter , and vice versa. This level of variation is already challenging when comparing just two interpreters, but imagine trying to manage this with 35 distinct interpreters.
- is the base interpreter. Most TWFUN programs should be based on this interpreter. While all base commands function correctly in , there are no extra commands included. In other words, only provides the minimal set of commands necessary for writing a TWFUN program.
- Interpreters through differ in their explanations of the base commands, and each interpreter introduces its own unique extra commands. Some have several additional commands, while others may have only one.
Commands
Base Commands
Due to the impracticality of listing every possible variation of a command, each command will be explained as though it is being run under interpreter .
Command | |
---|---|
PRINT "{string}" | Prints a string. Variables are also allowed. |
INPUT "{message}" | Prompts the user for input via a message. Variables are also allowed. |
SET {name} TO {content} | Assigns a value to a variable. |
START LOOP | Initiates a loop. |
END LOOP | Terminates a loop. |
IF {condition} THEN {code} ELSE {code} | (single-line, as multi-line is not supported yet) Executes conditional code. |
EXIT | Terminates the program. |
Each base command must be followed by a newline, except for EXIT
and code inside IF
conditionals, where a semi-colon is allowed.