Technique

This is the Technique procedure language, a programming language for describing procedures in a structured but human-readable form. You can consider it a domain-specific language (DSL) for everything from writing simple checklists and running operations procedures to formulating complex plans and documenting larger processes.

Procedures are for Everything

Even making a cup of tea. Here's the procedure, written in Technique:

% technique v1
! CC-BY 4.0; © 1979 The Great Publishing Corporations of Ursa Minor
& recipe

making_tea :

# Make a Cup of Tea

The Nutri-Matic's best efforts to analyse Arthur's brainwave patterns
invariably resulted in a liquid that is almost, but not quite, entirely
unlike tea. Instead we can just make tea.

    1.  Assemble ingredients <ingredients> ~ i
    2.  Prepare drink <prepare_tea>(i)

ingredients :
{
    [
        "Dried tea leaves" = 1 teaspoon
        "Fresh water" = 200 mL
        "Full cream milk" = 15 mL
    ]
}

prepare_tea : Ingredients -> Tea

The secret — which has so far eluded every synthetic intelligence
yet built — is that the water must actually be boiling when it hits
the leaves.

    1.  Fill the kettle and boil the water { kettle(100 °C) ~ hot }
    2.  Warm the teapot
    3.  Add tea leaves to pot
    4.  Steep { timer("about four minutes") }
    5.  Add a dash of milk
    6.  Serve

EntirelyUnlikeTea.tq

Write it. Read it. Run it.

The same human-readable programming language can be used to organize tasks, coordinate teams, run programs, or automate processes.

Procedural Clarity

Describe what to do, step by step, in a form that is readable by both humans and machines.

Simple, Powerful, Expressive

A small, complete language you can learn in minutes. Write procedures ranging from simple checklists to complex processes.

Build Big from Small

Write small, focused procedures and combine them into bigger ones. Optional types help ensure pieces compose together correctly.

Shaped by Experience

Technique has grown out of years of writing deployment plans, running operations procedures, and documenting complex processes.

Orchestrate Concurrent Tasks

Group tasks by the role that will perform them. Do work in parallel while keeping the overall plan visible.

Many Applications

Suitable for domains ranging from children's bedtime routines to operations procedures to recipes for cooking to flight plans for NASA.

Learn More

Browse examples, read the tutorial, or look through the language reference. This site also has a resource section with background material and links. The Technique language itself is open source, with the specification, compiler, and runtime being available under The MIT License.

© 2004-2026 Athae Eredh Siniath, and Others. Technique is open source and MIT licensed.