Gen Alpha

From Esolang
Jump to navigation Jump to search

Gen Alpha is a programming language created by User:Purah126. Programs in it are lists of things that gen alpha people would say. They are run in a simulated community of gen alpha children. The main file extensions are .gart (gen alpha recording transcription) and .yap.

Gen Alpha
Paradigm(s) declarative, imperative
Designed by User:Purah126
Appeared in 2024
Type system n/a
Memory system variable-based
Dimensions program defined
Computational class Turing-complete
Reference implementation Unimplemented
File extension(s) .gart, .yap

Data types and structures

There are 2 basic data types. Booleans are rizz. L rizz is false, and W rizz is true. Gyatts are integers. The level of a gyatt is its value, this is unbounded.

The only basic data structure is a person. They have either L or W rizz and a gyatt. They also have a namespace consisting of their opinions. If someone is cooking, their properties cannot be changed, and statements done by them are not executed.

People have a list of people who they think are rizzlers. These people believe their rizzler's opinions. If rizzlers contradict on rizz, then L rizz prevails. If rizzlers contradict on a gyatt level, then the level is the sum of the contradictions.

Names, except for Kai Cenat, cannot have whitespace. They may have any other characters.

Statements

Statement Meaning
name has L/W rizz Sets the rizz value of that person.
name has a level x gyatt Sets the gyatt level of that person.
name's gyatt gets fanum taxed Decrements their gyatt level by 1.
name1's gyatt gets fanum taxed by name2 Decrements name1's gyatt level by 1 and increments name2's gyatt level by 1.
name's gyatt doubles in size Doubles their gyatt level.
name1 has name2's rizz/gyatt Sets name1's quality to name2's.
name yaps about their rizz/gyatt Prints either "L rizz", "W rizz", or "level x gyatt".
name prints their gyatt Prints the Unicode character corresponding to their gyatt level.
name asks chat what they think their rizz is Prompts the user for either L or W, this becomes name's new rizz.
name asks chat what size gyatt they have Prompts the user for a number, this becomes name's new gyatt.
name asks chat what size gyatt they have, but there's a size limit Prompts the user for a character, this becomes name's new gyatt size when converted to its Unicode value.
name is like statement Executes that statement within name's namespace.
name1 thinks name2 has ("L/W rizz" or "a level x gyatt") Changes a value in name1's namespace.
name is like:\nindented statements (4 spaces, 1 tab = 4 spaces) Executes statements in that person's namespace.
Kai Cenat The person representing the global namespace.
name is the rizzler Adds name to everyone's rizzler list.
name1 thinks name2 is the rizzler Adds name2 to name1's rizzler list.
name1 thinks name2 isn't the rizzler Removes name2 from name1's rizzler list.
name is cooking Name is cooking.
name isn't cooking Name isn't cooking.
name is cooking if <conditional> Name is cooking if the conditional is true.
name isn't cooking if <conditional> Name isn't cooking if the conditional is true.
name woke up from a dream Completely resets name.
name woke up from a dream if <conditional> Completely resets name if the conditional is true.
Kai Cenat woke up from a dream Goes to the first instruction.
Kai Cenat woke up from a dream if <conditional> Goes to the first instruction if the conditional is true.
Conditional Meaning
name's rizz Name's rizz.
reverse of name's rizz The inverse of name's rizz.
name's gyatt is (level x/name2's gyatt) Whether name's gyatt is it (==).
name's gyatt isn't (level x/name2's gyatt) Whether name's gyatt isn't it (!=).
name's gyatt is above (level x/name2's gyatt) Whether name's gyatt is greater than it (>).
name's gyatt isn't above (level x/name2's gyatt) Whether name's gyatt isn't greater than it (<=).
name's gyatt is below (level x/name2's gyatt) Whether name's gyatt is less than it (<).
name's gyatt isn't below (level x/name2's gyatt) Whether name's gyatt isn't less than it (>=).