grpc / grpc/grpc-haskell

Remove Rpc monad

Open
#17 11 comments 0 reactions 0 assignees View on GitHub
Dominant language
Haskell
Stars
156
Forks
15
PR merge metrics
No merged PRs in 30d

Description

The Rpc monad is defined as
```haskell
type Rpc a = ExceptT RpcError IO a
```
which is problematic.
It doesn't compose well. Catching errors in the monad gives a false security that exceptions have been caught, since there are also IO exceptions and pure exceptions.
Currently no other feature are needed from the monad except for exceptions (no pun intended).

I'd like to remove the Rpc monad and just throw IO exceptions, and document properly what method will throw, and on best practices.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.