Deriving Functor

Ross Paterson ross at
Sun Mar 11 08:10:39 EDT 2007

On Thu, Mar 08, 2007 at 09:00:51PM +0100, Twan van Laarhoven wrote:
> I would like to propose to add a way to automatically derive instances 
> of Functor. From looking at existing code, it seems that almost all 
> Functor instances I see are derivable using the algorithm presented 
> here, resulting in less boilerplate code. This proposal is compatible 
> with Haskell98 (and therefore also with Haskell').

I don't know if you've seen Ralf Hinze's "Polytypic values possess
polykinded types", but the map example there is relevant.  (Also to the
semantics of newtype deriving that you posted a while ago.)

Even if you handle contrapositive arguments (like the first argument
of ->), there will still be things like

	newtype Endo a = Endo (a -> a)

More information about the Haskell-prime mailing list