Mailman
Jump to navigation
Jump to search
This language is about mail; the program runs until all houses have been delivered to. It was created by User:Xanman12321 and User:Andrew3335 in 2019, based on a Google Docs idea.
Documentation
Lines are just paths.
-, /, |, and \: Paths.
<, >, v, and ^: Forks: if this side of the road has any houses with mail to be sent (“deliveries”), go there first. If neither do, stop the program. If both have equally close
deliveries, choose randomly (CHK)
Houses act like functions.
House | "Action" | Equivalent |
---|---|---|
House A | Recieves mail and puts it in the post office immediately. | PUSH |
House B | Recieves mail, adds a stamp, and gives it back. | INC |
House C | Recieves mail, tears off a stamp, and gives it back. | DEC |
House D | Doesn’t recieve mail, advises you go get some more mail. | POP |
House E | Recieves mail, opens the package. | OUT |
House F | Your own house; go grab a package. | INP |
House G | Slaps the package out of your hands and gives you an empty one. | SET 0 |
There are also extra symbols.
Symbol | "Action" | Equivalent |
---|---|---|
0 | Makes you drop your package; pass by houses without interacting until you get a new one. | Set pointer value to nil, house functions temporarily disabled. |
1-9 | Add that number to your package. (or sets it to your package if you have none) | Adds number to pointer value, sets if value is nil. |
M | The mailman. Starts with an empty package. | The starting point of the IP.. |
! | If you’re holding an empty package, you realize your mistake and move back to the start. | Move to M if 0. |
Examples
Print “HI”:
M99999999E1E
Infinite loop:
MG!
Truth machine:
[to be programmed]