haskell-servant / haskell-servant/servant
Making `(:>)` of kind `p -> q -> Type` instead of `k -> Type -> Type`
Open
- Dominant language
- Haskell
- Stars
- 2k
- Forks
- 427
- Avg merge
- 2d 23h
- Merged PRs (30d)
- 5
Description
When looking at layers of an API I need to store or match against `prefix :> (sym :: Symbol)` which is not possible due to:
```haskell
type (:>) :: k -> Type -> Type
```
whereas I would need
```haskell
type (:>) :: k -> p -> Type
```
Currently I rewrite all APIs wrapping every `Symbol` with `data Sym (sym :: Symbol)`.
Is there a reason why we cannot do `type (:>) :: k -> p -> Type`?
Contributor guide
Assessment
This issue has not been assessed yet.