Simple addition to Control.Arrow

Merijn Verstraaten merijn at
Fri Jan 18 16:31:44 CET 2013

> Message: 2
> Date: Thu, 17 Jan 2013 22:32:14 +0100
> From: "dag.odenhall at" <dag.odenhall at>
> Subject: Re: Simple addition to Control.Arrow
> To: Daniel D?az Casanueva <dhelta.diaz at>
> Cc: Haskell-Libs <libraries at>
> Message-ID:
> 	<CACsGukkRF4FhvSs-o0UrLiN29AK8Ru=LjoV94euhExm05ZMD3w at>
> Content-Type: text/plain; charset="iso-8859-1"
> Should perhaps be noted that this exists in the lens package as "over both"
> and also for up to 9-tuples as "over each".

This was also said by #haskell, but it's simply not true, unless you claim (->) is the only Arrow people use.

over both :: (a -> b) -> (a, a) -> (b, b)

whereas my suggestion:

both :: Arrow a => a b c -> a (b, b) (c, c)

Anyway, judging by the response from the list there (unfortunately) doesn't seem to be that much interest.

Kind regards,

More information about the Libraries mailing list