Files

27 lines
563 B
Markdown

# delta
OCaml compiler for a small pure functional language of keyed collection
queries
Collections are unordered finite maps from signed machine integers to values.
`map` preserves keys; `filter` keeps the keys of the rows it retains. Results
are printed in key order, so presentation is deterministic
## Language
```ocaml
type order = {
customer : string;
total : int;
}
input orders : collection order
let tax n = n * 20 / 100
query expensive_orders =
orders
|> filter (fun o -> o.total > 1000)
|> map (fun o -> (o.customer, tax o.total))
```