Boring and Idiotic milk supper

From Esolang
Jump to navigation Jump to search

Boring and Idiotic milk supper (or BAIMS if you want to say it that way) is an Esolang about a totally casual day of drinking milk. There exists an arbitrary tally of accumulators which can be increased and decremented by varying amounts.

Architecture

The program memory is composed of a theoretically infinite number of cells, known as accumulators, that each store a single integer datum, representative of the contained milk, in the range [0, 500].

The accumulator is also measured in Liters. so outputting a number automatically adds an " L" to it (so outputting 5 becomes 5 L), This doesn't happen for ASCII character output.

At any instant in the program, a pointer marks the active accumulator.

Terminology

Also, the Esolang refers to everything with weird names to be cool. So:

  1. The accumulator is called the "stomach"
  2. Commands are referred to as "action"
  3. Functions are referred to as "consequence"
  4. Syntax is called "curfew"

For actual understanding of section names, these are only used in the body paragraph/section/whatever.

Syntax

Curfew
Action Consequence
sip +1L to stomach
drink +6L to stomach
chug +33L to stomach
fart -1L to stomach
replacement Go to the accumulator on the right
revert Go to the accumulator on the left
toilet -6L to stomach
diarrhea -33L to stomach
scream Output accumulator as ASCII character
examination Output accumulator as a number (plus a label)
insulin Go to corresponding glucagon if value in stomach is 0L.
glucagon Go to corresponding insulin if value in stomach isn't 0L.
thought Start a comment
nevermind End a comment
hunger Get input as a character
quantity Get input as a number

You can also end the program in multiple ways as listed here, or just dont include any:
overdose dehydrated diabetes full bye constipation homework bored studying

Example programs

Truth machine

quantity
insulin
  replacement
  chug drink drink drink fart fart scream
  diarrhea sip sip toilet toilet toilet
  revert
glucagon
replacement 
chug drink drink drink fart fart fart scream

Cat

hunger insulin scream hunger glucagon overdose

Hello World

Outputs in all lowercase

chug chug chug drink fart scream fart fart fart scream drink sip scream scream sip sip sip scream
diarrhea diarrhea diarrhea drink drink drink sip sip scream toilet toilet toilet fart fart chug
chug chug drink sip sip scream toilet fart fart scream sip sip sip scream toilet scream toilet
fart fart scream overdose

Adder

quantity replacement quantity revert insulin replacement sip revert fart glucagon replacement examination 
bored

Errors

If an error happens, yea deal with it. The program requires the current accumulator be greater than or equal to zero and less that or equal to 500.

Accumulator Errors

Negative amount of milk in stomach:

Problem achieved: Your stomach was so empty your cells gave you up.
You died.

Over 500L of milk in stomach:

Problem achieved: Your stomach was so filled with milk you exploded.
You died.

Syntax errors

Mismatched brackets:

Problem achieved: Your hormones were screwed up and you were diagnosed for diabetes type 2.
You died.

Screaming with a stomach value of 350+

Problem achieved: The amplitudes your larynx made were so fat your ears shattered to injure your brain.
You died.

Screaming over 10000 times (or any stack overflow error for that matter)

Problem achieved: You screamed so much you forgot how to breath.
You died.

Incorrectly closed comments

Problem achieved: Your brain stumbled on a paradox and you fell into a logical black hole.
You died.

No input given/EOF given

Problem achieved: You didnt get the milk that dad promised he was getting.
You died.

Others

A nasty runtime error would be treated like this:

Problem achieved: Your curfew was so messed up you forgot how to drink milk.
You died.

Running out of memory:

Problem achieved: The local hospital ran out of donors for you.
You died.

Compiler errors:

Problem achieved: I actually dont know how that happened.
You died.

Interpreter

  • Common Lisp implementation of the Boring and Idiotic milk supper programming language.