daig / daig/intrinsic-superclasses
Handle `Forall` constraints
- Dominant language
- Haskell
- Stars
- 1
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
If we have a class like
`class ForallF Functor p => RFunctor p where rmap :: (a -> b) -> p x a -> p x b`
we want to detect `Functor` as a superclass of `RFunctor` and define the appropriate instances
There's some consideration about how to nicely handle a general solution, but simply special-casing `ForallF` will get a lot of benefit
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by locating the quasiquoter's handling of superclass constraints and inspect how it currently derives instances. Check existing tests or examples for intrinsic superclass detection, then verify that a class using ForallF detects Functor and produces the expected instances. The choice between a general solution and a ForallF special case remains open.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- haskell
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100