-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
...regardless of the utility of a contravariant functor
type-class, I
strongly advocate for calling it Contrafunctor and not Cofunctor.
I
have seen numerous examples of confusion over this, particularly
in
other languages.
On 24/12/10 12:16, Mario Blažević wrote:
>
> On Thu, Dec 23, 2010 at 5:25 PM, Stephen Tetley
> <stephen.tetley@gmail.com
<mailto:stephen.tetley@gmail.com>>
> wrote:
>
> On 23 December 2010 21:43, Mario Blažević
<mblazevic@stilo.com
> <mailto:mblazevic@stilo.com>> wrote:
>> Why are Cofunctor and Comonad classes not a part of the
base
> library? [SNIP]
>> Later on I found that this question has been raised
before by
> Conal Elliott,
>> nearly four years ago.
>>
>>
>
http://www.haskell.org/pipermail/libraries/2007-January/006740.html
>
>
>
>
- From a somewhat "philistine" persepective, that Conal's question
> went unanswered says
something:
>
> "Does anyone have useful functionality to go into a
Cofunctor
> module (beyond the class declaration)?"
>
> Successful post-H98 additions to Base (Applicative, Arrows,
...)
> brought a compelling programming style with them. For
Comonads,
> Category-extras does define some extra combinators but
otherwise
> they have perhaps seemed uncompelling.
>
>
>
> There are plenty of potential Cofunctor instances on
Hackage, as
> I've pointed out. The other side of the proof of the
utility of
> the class would be to find existing libraries that could be
> parameterized by an arbitrary functor: in other words, some
> examples in Hackage of
>
>> class Cofunctor c => ... instance Cofunctor c =>
... f ::
>> Cofunctor c => ...
>
> This would be rather difficult to prove - such signatures
cannot
> be declared today, and deciding if existing declarations
could be
> generalized in this way would require a pretty deep
analysis. The
> only thing I can say is "build it and they will come".
>
> To turn the proof obligation around, what could possibly be
the
> downside of adding a puny Cofunctor class to the base
library?
>
>
>
> _______________________________________________
Haskell-Cafe
> mailing list Haskell-Cafe@haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
- --
Tony Morris
http://tmorris.net/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAk0UIJ0ACgkQmnpgrYe6r62kWgCeNwZnYLetOFevK6bpCBE/joKO
2QQAniaX4IGzAmdjEC8kdDV27upUTsBw
=NP27
-----END PGP SIGNATURE-----