haskell-servant / haskell-servant/servant

Port type-level combinators from servant-auth

Open
#765 1 comment 0 reactions 0 assignees View on GitHub
ZuriHac17
Dominant language
Haskell
Stars
2k
Forks
427
Avg merge
2d 23h
Merged PRs (30d)
5

Description

**ZuriHac note**: this is advanced task.
- `servant-auth` has [`ThrowAll`](https://github.com/plow-technologies/servant-auth/blob/a74cc320b43e791d941a3ed54d5fb29ac1e16511/servant-auth-server/src/Servant/Auth/Server/Internal/ThrowAll.hs) functionality, but would be nice to have more generic:
- See `Enter` implementation, maybe it could help
```haskell
-- |
phantom
:: Proxy api
-> (forall a. m a)
-> ServerT m a
```
- **expert** how to handle `Raw` there, i.e. `Tagged m a`, should we collect there be a type family collecting `Tagged` leafs into a list, so we can ask for `NP I (TaggedLeafs api)`?
- Separate but related: Variant of `Enter` which let's map `Tagged m a -> Tagged n a`, and not only `retag`.

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.