563 B
563 B
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
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))