GraphQL implementation in Haskell
Go to file
Eugen Wissner 417ff5da7d Propagate Maybe in the transform tree
Since the transform tree can already find some errors, it may fail here
and there. Almost all functions return a Maybe to signalize an error.
Will be replaced with an Either of course.
2019-11-02 06:24:21 +01:00
docs/tutorial Release 0.5.0.1 2019-09-10 10:20:40 +02:00
src/Language Propagate Maybe in the transform tree 2019-11-02 06:24:21 +01:00
tests Handle top-level fragments 2019-10-19 10:00:25 +02:00
.gitignore Ignore graphql.cabal 2019-09-29 07:39:18 +02:00
CHANGELOG.md Release 0.5.1.0 2019-10-22 07:07:54 +02:00
LICENSE Add licence badge 2019-07-06 07:57:18 +02:00
package.yaml Release 0.5.1.0 2019-10-22 07:07:54 +02:00
README.md Provide more documentation on functions and types 2019-08-26 10:14:46 +02:00
semaphoreci.sh Set STACK_ROOT to cache dependencies in the CI 2019-09-30 07:09:58 +02:00
Setup.hs Initial commit 2015-09-12 12:54:05 +02:00
stack.yaml Save fragments in a hash map 2019-10-31 07:32:51 +01:00

Haskell GraphQL

Hackage Version Build Status License

GraphQL implementation in Haskell.

This implementation is relatively low-level by design, it doesn't provide any mappings between the GraphQL types and Haskell's type system and avoids compile-time magic. It focuses on flexibility instead, so other solutions can be built on top of it.

State of the work

For now this only provides a parser and a printer for the GraphQL query language and allows to execute queries and mutations without the schema validation step. But the idea is to be a Haskell port of graphql-js.

For the list of currently missing features see issues marked as "not implemented".

Documentation

API documentation is available through hackage.

You'll also find a small tutorial with some examples under docs/tutorial.

Contact

Suggestions, contributions and bug reports are welcome.

Should you have questions on usage, please open an issue and ask this helps to write useful documentation.

Feel free to contact on Slack in #haskell on GraphQL. You can obtain an invitation here.