Skip to content
A Haskell library that simplifies access to remote data, such as databases or web-based services.
Haskell
Branch: master
Clone or download

Latest commit

josefs and facebook-github-bot Add Monoid instance for GenHaxl (#122)
Summary:
Pull Request resolved: #122

As the title says.

Reviewed By: simonmar

Differential Revision: D21250680

fbshipit-source-id: f3f2151443c5e2c78fb7953580ca6f32f0e771a9
Latest commit aaced5d May 14, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Haxl Add Monoid instance for GenHaxl (#122) May 14, 2020
example Remove FutureFetch from Haxl (#109) Jan 16, 2020
tests Track fetches/memos accurately in profiling (#120) Apr 24, 2020
.gitignore Make haxl compile cleanly with stack build --pedantic Oct 5, 2016
.travis.yml update travis config to remove unsupported ghc versions (#106) Jan 10, 2020
CODE_OF_CONDUCT.md Adopt Contributor Covenant Aug 30, 2019
CONTRIBUTING.md Fix code of conduct link. Aug 7, 2018
LICENSE Update haxl copyright headers Mar 11, 2015
Setup.hs Initial open source import Jun 10, 2014
changelog.md Track fetches/memos accurately in profiling (#120) Apr 24, 2020
haxl.cabal clean up monadbench a bit (#118) Apr 24, 2020
logo.png Initial open source import Jun 10, 2014
logo.svg Add SVG logo Jun 16, 2014
readme.md Also run travis CI against ghc-8.4.4 and ghc-8.6.2 Dec 7, 2018
stack.yaml Bump stackage-lts version in stack.yaml Jun 15, 2017

readme.md

Haxl Logo

Haxl

Build Status

Haxl is a Haskell library that simplifies access to remote data, such as databases or web-based services. Haxl can automatically

  • batch multiple requests to the same data source,
  • request data from multiple data sources concurrently,
  • cache previous requests,
  • memoize computations.

Having all this handled for you behind the scenes 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. We'll give some examples of how this works in the pages linked below.

There are two Haskell packages here:

To use Haxl in your own application, you will likely need to build one or more data sources: the thin layer between Haxl and the data that you want to fetch, be it a database, a web API, a cloud service, or whatever.

There is a generic datasource in "Haxl.DataSource.ConcurrentIO" that can be used for performing arbitrary IO operations concurrently, given a bit of boilerplate to define the IO operations you want to perform.

The haxl-facebook package shows how we might build a Haxl data source based on the existing fb package for talking to the Facebook Graph API.

Where to go next?

You can’t perform that action at this time.