Boring Chef

From Esolang
Jump to navigation Jump to search

Boring Chef is a stack-based language where programs don't look like cooking recipes. Boring Chef was "designed" by user:GluonVelvet in 2025. It resembles Chef but with no cooking themes and a python like syntax. Currently it is unimplemented but Velvet is working on that!

Design Principal

Programs should only generate valid output, not be easy to prepare and delicious.

Hello, world! in Boring Chef (no proper indentation)

# hello world!

function HelloWorld{
variables{
int h = 72
int e = 101
int l = 108
int o = 111
int space = 32
int w = 119
int r = 114
int d = 100
int other = 33
}

methods{
place other on stack
place d on stack
place l on stack
place r on stack
place o on stack
place w on stack
place space on stack
place o on stack
place l on stack
place l on stack
place e on stack
place h on stack
characterize stack
place stack in output

output(1)
}
}


Below is a list of operations and commands in Boring Chef, each doing mostly the same thing that their Chef counterpart does

Comments: the same as python, using # and any following text on the line will make a comment

function: Defines the start of a function which can produce output and do methods and contain variables and include the operations of other functions

variables: creates variables in the defined curly braces

int: an integer value

char: a number with an ascii value

flex: a variable that can be either of the aforementioned 2 types

method: creates the program method in the defined curly braces

input: asks for user input and assigns it to something

place: places a variable inside of something like the stack or output

pop: removes the top value from the selected stack and stores it in a variable

add: adds the value of a variable to the top value on the selected stack

subtract: subtracts the value of a variable from the top value on the selected stack

multiply: multiplies the value of a variable with the top value on the selected stack

divide: divides the value of a variable from the top value on the selected stack

combineInts: adds the values of all the integers together and places the result on the selected stack

characterize: turns the selected variable or the selected stack into chars

bury: moves the top value on the selected stack down by a number or until it reaches the bottom, can also take ints as an argument

shuffle: randomizes the positions of the values on the selected stack

clear: clears the selected stack of its values

loop: creates a loop with a variable as a condition which terminates once the variable reaches 0

break: breaks a loop

include: include another function and its method into the method, where the method only continues once the included function’s method finishes

stop: stops the ongoing method, if a function is included and running it will stop that function, if a number is specified it will print the output corresponding to the number assigned to the output

output: outputs the contents of the first number of outputs filled. It begins with the 1st output, removing values from the top one by one and printing them until the output is empty, then progresses to the next output, until all the outputs have been printed. Optional, but is required if the function is to output anything.

External Resources

Google doc with more code examples