
On Wed, Jan 13, 2010 at 4:59 AM, Brandon S. Allbery KF8NH
On Jan 13, 2010, at 05:54 , David Virebayre wrote:
On Wed, Jan 13, 2010 at 12:29 AM, Evan Laforge
wrote: Occasionally I have a function with an unused argument, whose type I don't want to restrict. Thus:
f :: _unused -> A -> B f _ a = b
I probably misunderstood the problem, why not f:: a -> A -> B
He's looking for the self-documentation aspect of "this argument is completely irrelevant". Neither rolling a random unused type variable nor "forall"ing it (my first idea) really accomplishes that.
Isn't that what we have here? a function of type (a -> A -> B) cannot use the first argument in any meaningful way. But once you start throwing in higher ranked types you might have to think a bit to come to that conclusion. Antoine