[FoRK] Chef programming language
<ejw at soe.ucsc.edu> on
Tue Apr 3 12:14:31 PDT 2007
Chef is a programming language in which programs look like recipes.
* 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.
All recipes have ingredients! The ingredients hold individual data
values. All ingredients are numerical, though they can be interpreted
as Unicode for I/O purposes. Liquid ingredients will be output as
Unicode characters, while dry or unspecified ingredients will be
output as numbers.
Mixing Bowls and Baking Dishes
Chef has access to an unlimited supply of mixing bowls and baking
dishes. These can contain ingredient values. The ingredients in a
mixing bowl or baking dish are ordered, like a stack of pancakes. New
ingredients are placed on top, and if values are removed they are
removed from the top. Note that if the value of an ingredient
changes, the value in the mixing bowl or baking dish does not. The
values in the mixing bowls and baking dishes also retain their dry or
Multiple mixing bowls and baking dishes are referred to by an ordinal
identifier - "the 2nd mixing bowl". If no identifier is used, the
recipe only has one of the relevant utensil. Ordinal identifiers must
be digits followed by "st", "nd", "rd" or "th", not words.
More information about the FoRK