input-output-hk / input-output-hk/agda-sets
Improve level polymorphism
- Dominant language
- Agda
- Stars
- 5
- Forks
- 2
- PR merge metrics
- No merged PRs in 30d
Description
We could upgrade `Set` to be of type `Type a → Type b`. The downside is that we'd have to reformulate `unions` to look more like the monadic `bind` operation.
The main benefit of this would be that the `Predicates` model would then not require `--type-in-type` anymore. I don't know if there are any downsides.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by locating the definitions of Set, unions, and the Predicates model, then inspect how --type-in-type is currently required. Evaluate the proposed Type a → Type b formulation and the corresponding unions redesign. Done means the polymorphic level change is implemented, unions remain usable, and Predicates no longer requires the flag without introducing regressions.
Written by the indexing model from the issue text.
Assessment
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100