Chef

Chef is a stack-based language where programs look like cooking recipes. Chef was designed by David Morgan-Mar in 2002.
==Design principles==
According to the Chef Home Page, the design principles for Chef are:
* Program recipes should not only generate valid output, but be easy to prepare and delicious. 
* Recipes may appeal to cooks with different budgets. 
* Recipes will be metric, but may use traditional cooking measures such as cups and tablespoons.
==Hello, world! in Chef==
David Morgan-Mar wrote the example program Hello World Souffle; it does generate valid output, however falls short of the design goals of being "easy to prepare and delicious". Later, Mike Worth wrote a hello world program that can be followed as a functional (if slightly odd) recipe for a chocolate cake:
 Hello World Cake with Chocolate sauce.
 
 This prints hello world, while being tastier than Hello World Souffle. The main
 chef makes a " world!" cake, which he puts in the baking dish. When he gets the
 sous chef to make the "Hello" chocolate sauce, it gets put into the baking dish
 and then the whole thing is printed when he refrigerates the sauce. When
 actually cooking, I'm interpreting the chocolate sauce baking dish to be
 separate from the cake one and Liquify to mean either melt or blend depending on
 context.
 
 Ingredients.
 33 g chocolate chips
 100 g butter
 54 ml double cream
 2 pinches baking powder
 114 g sugar
 111 ml beaten eggs
 119 g flour
 32 g cocoa powder
 0 g cake mixture
 
 Cooking time: 25 minutes.
 
 Pre-heat oven to 180 degrees Celsius.
 
 Method.
 Put chocolate chips into the mixing bowl.
 Put butter into the mixing bowl.
 Put sugar into the mixing bowl.
 Put beaten eggs into the mixing bowl.
 Put flour into the mixing bowl.
 Put baking powder into the mixing bowl.
 Put cocoa powder into the mixing bowl.
 Stir the mixing bowl for 1 minute.
 Combine double cream into the mixing bowl.
 Stir the mixing bowl for 4 minutes.
 Liquefy the contents of the mixing bowl.
 Pour contents of the mixing bowl into the baking dish.
 bake the cake mixture.
 Wait until baked.
 Serve with chocolate sauce.
 
 chocolate sauce.
 
 Ingredients.
 111 g sugar
 108 ml hot water
 108 ml heated double cream
 101 g dark chocolate
 72 g milk chocolate
 
 Method.
 Clean the mixing bowl.
 Put sugar into the mixing bowl.
 Put hot water into the mixing bowl.
 Put heated double cream into the mixing bowl.
 dissolve the sugar.
 agitate the sugar until dissolved.
 Liquefy the dark chocolate.
 Put dark chocolate into the mixing bowl.
 Liquefy the milk chocolate.
 Put milk chocolate into the mixing bowl.
 Liquefy contents of the mixing bowl.
 Pour contents of the mixing bowl into the baking dish.
 Refrigerate for 1 hour.
==External resources==
*Chef Home Page
*Perl interpreter - Note: is not completely in accordance with the specification.
*Python interpreter - In development, No error handling yet.
*Hello world cake with chocolate sauce (Internet Archive) More details of actually cooking this as a recipe.
*Java interpreter - An interpreter written in Java, several Chef programs.
*Rust interpreter - rchef, a Chef interpreter written in Rust.
Category:Stack-based
Category:Implemented
Category:Languages
Category:Turing complete
Category:Low-level
Category:Thematic
Category:2002
Category:Pseudonatural