seq -> force

Max Bolingbroke batterseapower at hotmail.com
Sun Jun 5 16:59:02 CEST 2011


On 5 June 2011 12:01, Henning Thielemann <lemming at henning-thielemann.de> wrote:
> 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



More information about the Libraries mailing list