skevy/haxl — explained in plain English
Analysis updated 2026-07-17 · repo last pushed 2019-11-29
Fetch data from multiple sources like a database and an API in parallel instead of sequentially.
Solve the N+1 query problem by automatically batching duplicate or related requests.
Build a custom data source layer to connect Haxl to your own database or service.
Write simpler, more readable data-fetching code without manual caching logic.
| skevy/haxl | 0xkinno/neuralvault | 0xmayurrr/ai-contractauditor | |
|---|---|---|---|
| Stars | 1 | 1 | 1 |
| Language | — | TypeScript | TypeScript |
| Last pushed | 2019-11-29 | — | — |
| Maintenance | Dormant | — | — |
| Setup difficulty | moderate | hard | easy |
| Complexity | 3/5 | 4/5 | 2/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires writing a custom data source layer for your specific database or API before you get results.
Haxl is a Haskell library that makes it easier to fetch data from remote sources, like databases, APIs, or web services, without having to manually manage the complexity of doing so efficiently. When you write code to grab data, Haxl automatically handles tedious optimization work behind the scenes: it batches multiple requests together, fetches from different sources at the same time instead of one after another, remembers previous results so you don't ask twice, and caches intermediate calculations. This means you can write straightforward, readable data-fetching code instead of tangled logic full of performance workarounds. The way it works is by sitting between your application and whatever data source you want to talk to. You define what requests your app might make (like "fetch user 123" or "get all posts"), and Haxl takes those requests, groups identical ones together, fires them off in parallel where possible, and gives you back the results. For example, if your code asks for the same data twice in different places, Haxl notices and only fetches it once. If you ask for data from both a database and an external API, Haxl can request from both at the same time rather than waiting for one to finish before starting the other. To use this library in your own project, you'd build a thin layer, called a data source, that tells Haxl how to talk to your specific database or API. The project includes an example showing how to do this with Facebook's Graph API, and there are sample tutorials that walk through building data sources for SQLite databases and solving the classic "N+1 query problem" where a naive approach ends up making far more database queries than necessary. This library was originally built at Facebook to handle their particular performance challenges at scale. Haxl is written in Haskell, a statically-typed functional programming language, so it's aimed at teams using that ecosystem. If you're already working in Haskell and struggling with the performance and clarity of data-fetching code, Haxl offers a clean way to solve those problems without rewriting your entire approach.
A Haskell library that automatically batches, parallelizes, and caches data-fetching calls so you can write simple code without manual performance tricks.
Dormant — no commits in 2+ years (last push 2019-11-29).
Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.