On Tue, May 28, 2013 at 09:09:48PM +0200, Johannes Gerer wrote:
> What about these two very simple type classes. Are they equivalent?
[...]
> class Pointed f where
>   pure  :: a -> f a
> 
> class Unit f where
>   unit :: f a a
> 
> newtype UnitPointed f a = UnitPointed f a a
> instance Unit f => Pointed (UnitPointed f) where
>   pure f = UnitPointed unit
> 
> newtype Kleisli f a b = Kleisli (a -> f b)
> instance Pointed f => Unit (Kleisli f) where
>   unit = Kleisli pure

This is implausible, since "pure f" does not depend on "f".

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to