PUBERTY

From Esolang
Jump to navigation Jump to search

PUBERTY is a language created by User:Izumariu in 2018 with the intention to create a language that resembles a pubertal masturbation procedure. It is not intended to find use in public business. The language was written to explore a new way of programming.

Language overview

Functional priciple

The program begins by stating the date and the time, then the person is introduced, and the kinks are listed, arousement level strongest to weakest. After that short intro, the real code follows. There are 6 byte-sized registers(A,B,C,D,E,F), all starting with value 0, which are used to manipulate data, and a register pointer(called REGPTR), which is initialized with 0. After an instruction is executed, REGPTR is taken mod 6 and REGISTERS[REGPTR] is taken mod 256. This is done to prevent the values from a possible overflow.

Intro

First comes the date sentence. American date notation is used; the time zone is GMT. Example:

It is August 15, 2018, 04:32:06 PM.

This initializes $D to 1534350732(the Unix timestamp of the date)%256.

Second sentence uses the pattern [CHARACTER] is in (his|her|their) bed, bored. Example:

Izu is in his bed, bored.

This initializes $C to 3, the character count of the character's name.

Third sentence uses the pattern (His|Her|Their) secret (kink is|kinks are) <kink1>(, <kinks>). Example:

His secret kinks are fatfurs, inflation, growth and kitsunes.

Now the word "fatfur" equals 5, "inflation" equals 4, "growth" = 3 and "kitsunes" = 2. This'll come in handy soon.

Fourth sentence(optional) uses the pattern (Suddenly|Then) ((he|she) spots|they spot) <kink>. The matching personal pronoun from sentence 3 MUST be used here! Example:

Suddenly he spots fatfurs.

This initializes $A to 2^<kink>; so in this case $A=2^5=32. If this sentence is left out, $A=0.

Fifth sentence is (Suddenly|Then|Soon) the following sounds become audible. !This sentence needs to conclude the introduction! After that, the program code follows.

Commands

Command Description
fap Increments the register pointed to by REGPTR by 1
ugh Zeroes the value of the current register
[KINK],fuck Increments the register pointed to by REGPTR by the value of [LINK]. IF USED ONCE, IT HAS A COOLDOWN OF 2^[KINK-2] FAPS.
[KINK],hnng Increments the register pointed to by REGPTR by 2^[LINK]. IF USED ONCE, IT HAS A COOLDOWN OF 2^[KINK-1] FAPS.
yeah Increments REGPTR by 1
yes Print the ASCII char corresponding to the value of the current register
oh Input an ASCII char and store its value into the current register
sigh or OMGMOMGETOUTTAHERE Immediately halts the program
squirt Equivalent to yes yeah yes yeah yes yeah yes yeah yes yeah yes yeah
ngh [COMMENT] hhh Comment, will not be evaluated. There must be no comments in the Intro section.
hrg [LOOP] mmf Loop until current register is zero

Examples

Hello, world!

It is June 12, 2018, 03:02:04 PM. Izu is in his bed, bored.
His secret kinks are vore, fatfurs, inflation, growth and kitsunes. Then he spots
fatfurs. Soon the following sounds become audible.

fap fap fap fap fap fap fap fap fap fap fap fap fap fap fap fap fap fap fap
fap fap fap fap fap fap fap fap fap
fap fap fap fap fap fap fap fap fap fap fap fap yes     ngh Print 'H' hhh

fap fap fap fap fap fap fap fap fap
fap fap fap fap fap fap fap fap fap fap fap fap fap fap fap fap fap fap fap fap yes   ngh Print 'e' hhh

yeah yeah yeah yes yes          ngh Go to register D, which has the ASCII value of 'l' stored(due to date&time), and print it twice. hhh
fap fap fap yes                 ngh Increment $D three times, which results in 'o', and print it. hhh
yEAH YeaH fAtfURs,hNNg yEAH     ngh Zero $F, then set it to 32 and go to $A. (also demonstration of case-insensitive commands here!) hhh
fap fap inflation,hnng          ngh Increment $A by 1+1+16=18, so it becomes 'w' hhh

yeah fap fap fap fap fap fap fap fap fap fap fap
fap fap fap fap fap fap fap fap vore,hnng
fap fap fap fap fap fap fap fap fap fap fap
fap fap fap fap fap fap fap fap fap fap
fap fap fap fap fap fap fap                       ngh This paragraph adds 47 faps and a "vore,hnng"(64), so $B=111(='o') hhh

yeah fap fap fap fap fap fap fap fap fap fap fap
fap fap fap fap fap fap fap fap vore,hnng
fap fap fap fap fap fap fap fap fap fap fap
fap fap fap fap fap fap fap fap fap fap
fap fap fap fap fap fap fap                       ngh Using the previous paragraph again, but because $C was initialized with 3, it is now 114(='r') hhh

yeah ugh fap fap fap fap fap fap fap
fap fap fap fap fap fap fap fap fap fap fap
fap fap fap fap fap fap fap fap
fap fap fap fap fap fap fap fap fap fap
fap fap fap fap fap fap fap fap fap fap fap fap
fap fap fap fap fap fap fap fap fap fap fap
fap fap fap fap fap fap fap fap fap fap fap fap fap fap
fap fap fap fatfurs,hnng yeah                              ngh $D is set to 'l' again hhh

fap fap fap fap fap fap fap fap
fap fap fap fap fap fap fap fap fap fap fap
fap fap fap fap fap fap fap fap fap
fap fap fap fap fap fap fap fap vore,hnng     ngh Increment $E by 36+64; $E is now 100(='d') hhh

yeah squirt      ngh Goes to $F and prints $F+$A+$B+$C+$D+$E = " world" hhh

ugh growth,hnng kitsunes,fuck yes    ngh Print a newline hhh

sigh ngh Not actually needed; just to conclude this program nicely hhh

Cat program

It is January 1st, 1970, 12:00:10 AM. Ganymede is in his bed, bored. His secret kinks are vore, 
fatfurs, inflation and growth. Soon the following sounds become audible.
fap hrg yeah oh yes ugh yeah yeah yes yeah yeah yeah mmf

Truth-machine

It is June 13th, 2018, 08:42:40 AM. Izu is in his bed, bored. His secret
kinks are balloons, rubber, fat, thighs, butts and moobs. Suddenly the following sounds become audible.

oh balloons,hnng rubber,hnng thighs,hnng

hrg
  fat,hnng fap fap fap fap fap fap fap fap fap fap fap fap fap fap fap fap 
  hrg
    yes
  mmf
mmf

fat,hnng fap fap fap fap fap fap fap fap fap fap fap fap fap fap fap fap yes sigh

External resources

The official PUBERTY GitHub Repo, complete with examples and an interpreter written in Ruby.