A formal specification of the jq language

Michael Färber
2024-03-29
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.
Logic in Computer Science,Programming Languages
What problem does this paper attempt to address?