Jq (programming language)
| jq | |
|---|---|
| Official jq logo | |
| Paradigms | Purely functional, JSON-oriented processing, tacit programming | 
| Designed by | Stephen Dolan | 
| First appeared | August 21, 2012 | 
| Stable release | 1.8.0 
   / 1 June 2025 | 
| Typing discipline | dynamic | 
| Memory management | automatic | 
| Scope | lexical | 
| Implementation language | jq: C gojq: Go jaq: Rust jqjq: jq | 
| Platform | Cross-platform | 
| OS | Cross-platform | 
| License | MIT | 
| Website | jqlang | 
jq is a very high-level lexically scoped functional programming language in which every JavaScript Object Notation (JSON) value is a constant. jq supports backtracking and managing indefinitely long streams of JSON data. It is related to two programming languages—Icon and Haskell. The language supports a namespace-based module system and has some support for closures. functions and functional expressions can be used as parameters of other functions.
The original implementation of jq was in Haskell before being quickly ported to C.