Mu (μ) is a purely functional framework for building micro services.
Go to file
Akshay Mankar 0f4942b1c4 [grpc-client] Handle bidirectional streams correctly (#314)
This is a breaking change: The handler for bidirectional streams is returns two
conduits now, instead of one. This enables the client to correctly tackle the
concurrent nature of the client to server stream and the server to client
stream.

Each response in the server-to-client stream is no longer wrapped in GRpcReply,
any error during parsing the stream is thrown in IO.

Other connection related errors are returned in the result value of the conduit
corresponding to the server-to-client Conduit.

Note: The client didn't and still doesn't handle any errors that the server
might indicate using headers or trailers, e.g. grpc-status or the HTTP status
code. This commit also adds TODO comments to handle these.
2021-06-01 13:32:17 +02:00
.github/workflows Try fixing deploy again 2021-04-30 13:50:27 +02:00
.vscode Use stylish-haskell from HLS (#271) 2020-12-04 10:37:43 +01:00
adapter Support unions of more than 2 elements correctly (#308) 2021-05-10 21:31:30 +02:00
compendium-client Update several versions 2020-11-19 09:04:24 +01:00
core Support unions of more than 2 elements correctly (#308) 2021-05-10 21:31:30 +02:00
docs New attempt at fixing deployment (#305) 2021-04-30 12:06:55 +02:00
examples Use and require default value 0 for enums in Protobuf (#285) 2021-01-29 08:35:54 +01:00
graphql Add support for new primitive types in GraphQL (#295) 2021-04-30 13:16:04 +02:00
grpc [grpc-client] Handle bidirectional streams correctly (#314) 2021-06-01 13:32:17 +02:00
instrumentation Unions in GraphQL (#270) 2021-01-07 14:55:32 +01:00
servant/server Unions in GraphQL (#270) 2021-01-07 14:55:32 +01:00
templates Update mu-protobuf version 2020-11-23 09:24:10 +01:00
.editorconfig Run stylish-haskell in all files! 💅🏼 (#23) 2019-11-21 13:25:53 +01:00
.gitignore Servant support (#217) 2020-09-25 09:36:56 +02:00
.gitmodules ♻️ Run cabal-fmt and extract library example (#264) 2020-11-20 10:24:15 +01:00
.stylish-haskell.yaml Run stylish-haskell in all files! 💅🏼 (#23) 2019-11-21 13:25:53 +01:00
cabal-fmt.sh New API to support GraphQL resolvers as services (#111) 2020-03-05 15:37:05 +01:00
cabal.project ♻️ Run cabal-fmt and extract library example (#264) 2020-11-20 10:24:15 +01:00
CODEOWNERS Fill all cabal files for Hackage! 🚀 (#72) 2020-01-13 11:05:25 +01:00
default.nix Update Nix expression 2021-04-01 17:07:52 +02:00
DEVELOPMENT.md Suggestion for contributing guide (#281) 2021-01-15 10:06:28 +01:00
generate-haddock-docs.sh Expose Swagger definition + documentation (#231) 2020-10-01 15:30:09 +02:00
LICENSE Add persistent client to example 👨🏼‍💻 (#44) 2019-12-16 12:29:13 +01:00
python-test.nix ❄️ Add gitignore.nix to prevent Nix cache invalidation for trivial changes (#265) 2020-11-20 11:15:47 +01:00
README.md Videos in docs (#235) 2020-10-15 09:57:19 +02:00
release-package.sh Prepare release 0.4 (#233) 2020-10-12 14:56:18 +02:00
RELEASE.md Prepare release 0.4 (#233) 2020-10-12 14:56:18 +02:00
run-docs.sh New attempt at fixing deployment (#305) 2021-04-30 12:06:55 +02:00
stack-14.yaml ♻️ Run cabal-fmt and extract library example (#264) 2020-11-20 10:24:15 +01:00
stack-nightly.yaml Bump to LTS-17.0 (#284) 2021-01-28 10:23:43 +01:00
stack.yaml Update stack.yaml 2021-04-01 17:01:47 +02:00
test-schema.sh [protobuf] Fix parsing of oneof fields (#302) 2021-04-30 13:17:11 +02:00
test-templates.sh Add HLint to CI and fix templates (#243) 2020-11-02 09:42:35 +01:00

Mu for Haskell

built with nix Actions Status

This repo defines a set of libraries to write microservices in a format- and protocol-independent way. It shares the same goals as Mu for Scala, but using idiomatic Haskell and more type-level techniques.

Documentation

Contributing

This set of libraries are thought to be built using Stack. Just jump into the folder and run stack build! The top-level stack.yaml defines a common resolver and set of dependencies for all the packages.

If you want to contribute, please be sure to read the development guidelines first.