Broccosprout

From Esolang
Jump to navigation Jump to search

Broccosprout was User:BoundedBeans first ever true esolang. (Well, I made esolangs before then, but their specifications were not well-defined, and like this one, they were all thematic). It is a Trivial brainfuck substitution. The latest (and only) surviving specification (which according to the Date Modified column in File Explorer was last edited on January 30, 2022 at 7:05 PM) is preserved below. Note that neither the Hello World program nor the Cat program actually works since they are missing some dollar signs, but it might give you an idea of what programs look like.

Format:
It's brainf*** but the symbols are replaced.
Symbols are terminated with $.
The period is omitted from the comma to make it easier to find and replace.

> "Plant some broccoli seeds. $"
< "Plant some brussels sprouts seeds. $"
+ "Water the broccoli and brussels sprouts. $"
- "Vernalize the broccoli and brussels sprouts. $"
. "Pollinate the broccoli and brussels sprouts. Take the male flower, rub it lightly with a paintbrush, and move the pollen to the female flower. $"
, "Wait for the broccoli and brussels sprouts to form the seed pods $"
[ "Separate the seed from the chaff. $"
] "Plant the broccosprout seeds and jump with excitement! $"


Order to find and replace: ,.><+-[]

Hello world:
Water the broccoli and brussels sprouts. $Water the broccoli and brussels sprouts. $Water the broccoli and brussels sprouts. $Water the broccoli and brussels sprouts. $Water the broccoli and brussels sprouts. $Water the broccoli and brussels sprouts. $Water the broccoli and brussels sprouts. $Water the broccoli and brussels sprouts. $Separate the seed from the chaff. $Plant some broccoli seeds. $Water the broccoli and brussels sprouts. $Water the broccoli and brussels sprouts. $Water the broccoli and brussels sprouts. $Water the broccoli and brussels sprouts. $Separate the seed from the chaff. $Plant some broccoli seeds. $Water the broccoli and brussels sprouts. $Water the broccoli and brussels sprouts. $Plant some broccoli seeds. $Water the broccoli and brussels sprouts. $Water the broccoli and brussels sprouts. $Water the broccoli and brussels sprouts. $Plant some broccoli seeds. $Water the broccoli and brussels sprouts. $Water the broccoli and brussels sprouts. $Water the broccoli and brussels sprouts. $Plant some broccoli seeds. $Water the broccoli and brussels sprouts. $Plant some brussels sprouts seeds. $Plant some brussels sprouts seeds. $Plant some brussels sprouts seeds. $Plant some brussels sprouts seeds. $Vernalize the broccoli and brussels sprouts. $Plant the broccosprout seeds and jump with excitement! $Plant some broccoli seeds. $Water the broccoli and brussels sprouts. $Plant some broccoli seeds. $Water the broccoli and brussels sprouts. $Plant some broccoli seeds. $Vernalize the broccoli and brussels sprouts. $Plant some broccoli seeds. $Plant some broccoli seeds. $Water the broccoli and brussels sprouts. $Separate the seed from the chaff. $Plant some brussels sprouts seeds. $Plant the broccosprout seeds and jump with excitement! $Plant some brussels sprouts seeds. $Vernalize the broccoli and brussels sprouts. $Plant the broccosprout seeds and jump with excitement! $Plant some broccoli seeds. $Plant some broccoli seeds. $Pollinate the broccoli and brussels sprouts. Take the male flower, rub it lightly with a paintbrush, and move the pollen to the female flower. $Plant some broccoli seeds. $Vernalize the broccoli and brussels sprouts. $Vernalize the broccoli and brussels sprouts. $Vernalize the broccoli and brussels sprouts. $Pollinate the broccoli and brussels sprouts. Take the male flower, rub it lightly with a paintbrush, and move the pollen to the female flower. $Water the broccoli and brussels sprouts. $Water the broccoli and brussels sprouts. $Water the broccoli and brussels sprouts. $Water the broccoli and brussels sprouts. $Water the broccoli and brussels sprouts. $Water the broccoli and brussels sprouts. $Water the broccoli and brussels sprouts. $Pollinate the broccoli and brussels sprouts. Take the male flower, rub it lightly with a paintbrush, and move the pollen to the female flower. $Pollinate the broccoli and brussels sprouts. Take the male flower, rub it lightly with a paintbrush, and move the pollen to the female flower. $Water the broccoli and brussels sprouts. $Water the broccoli and brussels sprouts. $Water the broccoli and brussels sprouts. $Pollinate the broccoli and brussels sprouts. Take the male flower, rub it lightly with a paintbrush, and move the pollen to the female flower. $Plant some broccoli seeds. $Plant some broccoli seeds. $Pollinate the broccoli and brussels sprouts. Take the male flower, rub it lightly with a paintbrush, and move the pollen to the female flower. $Plant some brussels sprouts seeds. $Vernalize the broccoli and brussels sprouts. $Pollinate the broccoli and brussels sprouts. Take the male flower, rub it lightly with a paintbrush, and move the pollen to the female flower. $Plant some brussels sprouts seeds. $Pollinate the broccoli and brussels sprouts. Take the male flower, rub it lightly with a paintbrush, and move the pollen to the female flower. $Water the broccoli and brussels sprouts. $Water the broccoli and brussels sprouts. $Water the broccoli and brussels sprouts. $Pollinate the broccoli and brussels sprouts. Take the male flower, rub it lightly with a paintbrush, and move the pollen to the female flower. $Vernalize the broccoli and brussels sprouts. $Vernalize the broccoli and brussels sprouts. $Vernalize the broccoli and brussels sprouts. $Vernalize the broccoli and brussels sprouts. $Vernalize the broccoli and brussels sprouts. $Vernalize the broccoli and brussels sprouts. $Pollinate the broccoli and brussels sprouts. Take the male flower, rub it lightly with a paintbrush, and move the pollen to the female flower. $Vernalize the broccoli and brussels sprouts. $Vernalize the broccoli and brussels sprouts. $Vernalize the broccoli and brussels sprouts. $Vernalize the broccoli and brussels sprouts. $Vernalize the broccoli and brussels sprouts. $Vernalize the broccoli and brussels sprouts. $Vernalize the broccoli and brussels sprouts. $Vernalize the broccoli and brussels sprouts. $Pollinate the broccoli and brussels sprouts. Take the male flower, rub it lightly with a paintbrush, and move the pollen to the female flower. $Plant some broccoli seeds. $Plant some broccoli seeds. $Water the broccoli and brussels sprouts. $Pollinate the broccoli and brussels sprouts. Take the male flower, rub it lightly with a paintbrush, and move the pollen to the female flower. $Plant some broccoli seeds. $Water the broccoli and brussels sprouts. $Water the broccoli and brussels sprouts. $Pollinate the broccoli and brussels sprouts. Take the male flower, rub it lightly with a paintbrush, and move the pollen to the female flower. $


Cat:

Wait for the broccoli and brussels sprouts to form the seed pods $Separate the seed from the chaff. $Pollinate the broccoli and brussels sprouts. Take the male flower, rub it lightly with a paintbrush, and move the pollen to the female flower. $Wait for the broccoli and brussels sprouts to form the seed pods $Plant the broccosprout seeds and jump with excitement! $

Explanation for the command names [OFF-TOPIC]

I made this esolang when I was really obsessed with breeding my own, new vegetable. (I'm still interested, but I've shifted to just making a new variety of an existing vegetable, which is currently peppers). I found out that broccoli and brussels sprouts, along with many other vegetables, are actually the same species, Brassica oleracea. I was going to try to cross-pollinate broccoli and brussels sprouts to create a new hybrid vegetable.

Anyway, while making this esolang I decided for some reason to theme it around that project. All of the commands end with dollar signs (and don't have them anywhere else) to guarantee absolutely that the borders of commands would be unambiguous (I ended up using BrainSoup as an implementation). The period is intentionally absent from the Wait for the broccoli and brussels sprouts to form the seed pods $ command so that a simple find-and-replace could be used to convert it to brainfuck by starting with ,, then ., then the other six commands in any order.

Implementation

Here is a sed program to compile Broccosprout to brainfuck (it accepts it when you miss dollar signs, curly braces are used instead of question marks to make it run on sed implementations other than GNU):

s/Plant some broccoli seeds\. \$\{0,1\}/>/g
s/Plant some brussels sprouts seeds\. \$\{0,1\}/</g
s/Water the broccoli and brussels sprouts\. \$\{0,1\}/+/g
s/Vernalize the broccoli and brussels sprouts\. \$\{0,1\}/-/g
s/Pollinate the broccoli and brussels sprouts\. Take the male flower, rub it lightly with a paintbrush, and move the pollen to the female flower\. \$\{0,1\}/./g
s/Wait for the broccoli and brussels sprouts to form the seed pods \$\{0,1\}/,/g
s/Separate the seed from the chaff\. \$\{0,1\}/[/g
s/Plant the broccosprout seeds and jump with excitement! \$\{0,1\}/]/g

You can also run this in BrainSoup, though it won't accept your programs without the dollar signs.