VeraScript
VeraScript describes a data workflow as a short list of steps. It has no control flow, no orchestration layer and no configuration file — a script is the pipeline.
Shape of a script
Every line is one step. Steps that produce a value bind it with let, and later steps refer to it by name:
// Comments start with two slashes.
let raw = load.csv("data/customers.csv")
let active = filter(raw, status, "active")
let report = select(active, [id, name, region])
export.csv(report, "data/active-customers.csv")Four statements, read top to bottom: load something, narrow it, shape it, write it out. There is no separate pipeline definition — this file is the whole thing.
Values and steps
A statement that produces data binds it to a name with let. That name is how the next step refers to it, which is what gives a script its order — active cannot exist before raw does.
Because each named value corresponds to a step, it also corresponds to a checkpoint. Naming things well is the whole of checkpoint management: there is no separate bookkeeping to maintain.
Where scripts live
Workflows are .verascript files inside a project folder. Paths in load.csv and export.csv are relative to that folder, so a project stays portable — move it, and the script still resolves.
What is in this section
- Statements — every statement available today, with its arguments.
- Conventions — quoting, comments, formatting, and how to validate a script.