Generic1 deriving: Can we replace Rec1 f with f :.: Par1?
It seems like Rec1 f is isomorphic to f :.: Par1. Is it possible and beneficial to replace the former with the latter and deprecate/remove Rec1?
- Currently, a parameter type is found in
Par1orRec1. By removingRec1, there would be only one place for parameters. This simplifies generic functions. - It is in the interest of reducing redundancy in the representation, something that appears to be consistent with the design of the representation types (e.g. using the same type for multiple meanings).
Trac metadata
| Trac field | Value |
|---|---|
| Version | 7.7 |
| Type | FeatureRequest |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | leather@cs.uu.nl |
| Operating system | |
| Architecture |