
5 Jun
2011
5 Jun
'11
10:59 a.m.
On 5 June 2011 12:01, Henning Thielemann
Is there a type class for generating the constructor independently from the input, as in: force ~(Cons x) = Cons x
This is related to eta expansion. I don't think there is a type class for this in the standard libraries. As John pointed out it only makes sense for unary data types, functions and newtypes over those things. An interesting restriction is that you apparently cannot define "force" (what I would call "eta") for unary data constructors with *existential* type variables without using unsafeCoerce. Max