A Haskell library that simplifies access to remote data, such as databases or web-based services.
Go to file
Simon Marlow 56a738f65c Add new exception category: LogicBug
Summary:
There are some exceptions that are really bugs, such as passing
invalid parameters to functions, or violating invariants.  We want to
fix these bugs, but they are currently represented by exceptions in
LogicError, and are often caught.

Let's make a separate exception category, LogicBug, and start
migrating exceptions over.  This will expose bugs that need fixing, so
it will be a difficult migration.

This is step #1, introduce the new category.  Any new exceptions we
create that indicate client-coe bugs should be a child of LogicBug.

Reviewed By: xich

Differential Revision: D3201590

fbshipit-source-id: 4fd9ed688e8d327b8fe9543dd6998d7efbc46c27
2016-05-31 04:05:05 -07:00
example Remove TARGETS files 2016-05-27 08:22:40 -07:00
Haxl Add new exception category: LogicBug 2016-05-31 04:05:05 -07:00
tests Add (de)serialization functions to most datasources 2016-05-31 01:20:38 -07:00
.gitignore Initial open source import 2014-06-10 02:47:59 -07:00
.travis.yml Try to compile with GHC 8.0.1 2016-02-09 19:52:25 +02:00
changelog.md Overhaul docs; bump to 0.3.0.0; add changelog 2015-10-12 06:23:49 -07:00
haxl.cabal Merge branch 'master' of https://github.com/facebook/Haxl 2016-05-23 10:36:40 +01:00
LICENSE Update haxl copyright headers 2015-03-11 12:42:01 -07:00
logo.png Initial open source import 2014-06-10 02:47:59 -07:00
logo.svg Add SVG logo 2014-06-16 06:48:28 -07:00
PATENTS Update to PATENTS version 2 2015-04-15 09:07:41 -07:00
readme.md Merge pull request #1 from oreoshake/mixed_content_in_readme 2014-06-10 21:08:29 +01:00
Setup.hs Initial open source import 2014-06-10 02:47:59 -07:00

Haxl Logo

Haxl

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.

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:

  • haxl: The core Haxl framework
  • haxl-facebook (in example/facebook): An (incomplete) example data source for accessing the Facebook Graph API

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. 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?