English

A formal specification of the jq language

Logic in Computer Science 2024-04-01 v1 Programming Languages

Abstract

jq is a widely used tool that provides a programming language to manipulate JSON data. However, the jq language is currently only specified by its implementation, making it difficult to reason about its behaviour. To this end, we provide a formal syntax and denotational semantics for a large subset of the jq language. Our most significant contribution is to provide a new way to interpret updates that allows for more predictable and performant execution.

Keywords

Cite

@article{arxiv.2403.20132,
  title  = {A formal specification of the jq language},
  author = {Michael Färber},
  journal= {arXiv preprint arXiv:2403.20132},
  year   = {2024}
}
R2 v1 2026-06-28T15:38:15.655Z