Facebook announced the open-sourcing of Haxl in a post on its engineering blog:
Today we’re open-sourcing Haxl, a Haskell library that simplifies access to remote data, such as databases or Web-based services. Haxl is a layer that sits between the application code and one or more “data sources” — application-programming interfaces for fetching remote data. Haxl can automatically:
- Batch multiple requests to the same data source into a single request.
- Request data from multiple data sources concurrently.
- Cache previous requests.
Having all of this handled for you means that your data-fetching code can be much cleaner and clearer than it would otherwise be if it had to worry about optimizing data-fetching. Head over to the Github repo to check out the code, documentation, and examples.
Facebook also provided a chart featuring potential uses for Haxl (above), and much more detail is included in the blog post.