jq Clone - Haskell Library
A lightweight Haskell library that mimics core jq cli functionalities for processing JSON data.
Tech Stack
Overview
This project is a lightweight Haskell library that mimics core functionalities of the popular jq command-line tool for processing JSON data.
Key Features
- JSON Parsing: Parses JSON input and represents it using Haskell data types.
- Core jq Functionalities: Implements essential jq operations such as filtering, mapping, and transforming JSON data.
- Composability: Allows users to compose multiple jq-like operations in a functional manner.
- Error Handling: Provides robust error handling for invalid JSON input and unsupported operations.
There are, of course, some limitations to this library compared to the full jq tool. The focus here was not to implement a fully-fledged jq clone, but rather to explore how some of its core functionalities could be represented in Haskell. In short, this was an educational project.
Outcome
Thanks to this project, and the functional programming course I was taking at the time, this motivated me to further purse a thesis for my Bachelor's degree which involved Haskell and property-based testing (you can read more about that in the Input Expression Generators project).