🍳 Foodlang

Compiler Targets

Foodlang v0.1 ships eleven compiler targets. Each declares a fidelity so you always know whether the output is directly usable, a mapping, or illustrative.

Target Fidelity Output Layer
cooklang illustrative Cooklang text (lossy) Human
schema-org executable Schema.org Recipe JSON-LD Web
orf executable ORF-style YAML (X-foodlang stripped) Interop
opcua mapping OPC UA parameter mapping (YAML) Appliance
mqtt mapping MQTT topic + payload (JSON) Appliance
home-connect illustrative Home Connect-style program (JSON) Appliance
matter illustrative Matter device/command mapping (JSON) Appliance
robot-action-graph mapping Action DAG (JSON) Robot
pddl illustrative PDDL domain + problem Robot
foon illustrative FOON functional units (JSON) Robot
s88 mapping ISA-88/S88 procedure (YAML) Industrial

1. Cooklang

Human-friendly export. Lossy by design — emits frontmatter then annotates the first textual occurrence of each ingredient with @name{amount%unit}.

2. Schema.org JSON-LD

Web publishing. Produces a Recipe with recipeIngredient and recipeInstructions.

3. ORF-clean

The base recipe YAML with the X-foodlang block removed, for tools that only understand ORF-style YAML.

4. OPC UA

A parameter-write mapping plus a StartRecipe method call. Mapping only — node IDs are not specified and no session is opened.

5. MQTT

A { topic, payload } command mapping the appliance can subscribe to.

6. Home Connect

An illustrative appliance / program / options mapping. Program keys vary by appliance.

7. Robot action graph

The authored X-foodlang.robot.action_graph, or one derived linearly from the transformations.

8. PDDL

An illustrative (define (domain …)) + (define (problem …)) with available pre-/post-conditions over ingredient symbols. Shows Foodlang can become planner-compatible.

9. FOON

One functional unit per transformation: input object-state nodes → motion node → output object-state nodes.

10. S88

An ISA-88-inspired procedure of operations and phases. Industrial inspiration, not a certified S88 recipe.

Try them all

The Playground runs every target in your browser.