Penis

From Esolang
Jump to navigation Jump to search
penis
Designed by User:Ultraslayyy (unknown)
Appeared in 2026
Computational class Finite-state machine (Turing-adjacent)
Major implementations Penis Compiler
File extension(s) .penis, .peen, .peenar
The original designer of Penis is currently unknown (as this was taken from the List of ideas). User:Ultraslayyy created the compiler so she's credited as designer until the original creator steps up.

Ever wanted to code by playing the penis game? Well Penis makes that possible.

Syntax

Penis is written as a binary sequence. Each bit prefixed with penis, and suffixed with a cumulative number of bangs (exclamation marks, !)

  • The first bit is either penis (0) or penis! (1)
  • Every bit following adds +1 ! for 0, and +2 ! for 1
  • Comments utilise bangs not prefixed by penis (e.g. ! comment !)

As an example:

penis!              ! 1  → initial bit !
penis!!             ! 0  → added 1     !
penis!!!            ! 0  → added 1     !
penis!!!!           ! 0  → added 1     !
penis!!!!!!         ! 1  → added 2     !
penis!!!!!!!        ! 0  → added 1     !
penis!!!!!!!!!      ! 1  → added 2     !
penis!!!!!!!!!!!    ! 1  → added 2     !

This does mean there is no fixed output format; it can be compiled to any format using the official compiler, and it will work as such (so long as it outputs the correct format). So yes, you could write assembly files, executables, Microsoft Word documents, and anything else using this language.

Example Program

Due to the sheer size of programs it isn't feasible to include an example executable here, as a basic unix hello world executable sits at 981,045 characters (bytes), with the base executable resting at 168 bytes. But, an example (specifically this one) can be found in the examples directory in compiler source (this one with this raw content).

But an example of the language can be writing out the word, "Hi":

penis penis!! penis!!! penis!!!! penis!!!!!! penis!!!!!!! penis!!!!!!!! penis!!!!!!!!!                                                                                          ! H  → 01001000 !
penis!!!!!!!!!! penis!!!!!!!!!!!! penis!!!!!!!!!!!!!! penis!!!!!!!!!!!!!!! penis!!!!!!!!!!!!!!!!! penis!!!!!!!!!!!!!!!!!! penis!!!!!!!!!!!!!!!!!!! penis!!!!!!!!!!!!!!!!!!!!!   ! i  → 01101001 !

This, when compiled to a text file reads Hi (or binary contents of 01001000 01101001)