Petr Pudlák | 20 Jun 09:02 2013
Picon

Why isn't ArrowChoice a parent of of ArrowApply?

In Control.Arrow we have:

leftApp :: ArrowApplyan> a => a b c -> a (Either b d) (Either c d)

Any instance of ArrowApply can be made into an instance of ArrowChoice by defining left = leftApp.

So why isn't ArrowChoice a parent of ArrowApply?

Best regards,
Petr

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe <at> haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
Ross Paterson | 20 Jun 12:16 2013
Picon

Re: Why isn't ArrowChoice a parent of of ArrowApply?

On Thu, Jun 20, 2013 at 09:02:48AM +0200, Petr Pudlák wrote:
> In Control.Arrow we have:
> 
>     leftApp :: ArrowApply a => a b c -> a (Either b d) (Either c d)
> 
>     Any instance of ArrowApply can be made into an instance of ArrowChoice by
>     defining left = leftApp.
> 
> So why isn't ArrowChoice a parent of ArrowApply?

Probably because it wasn't in John Hughes's original paper.
I agree that it would make sense.

Gmane