[Haskell] Re: Proposal: unification of style of
function/data/type/class definitions
Jón Fairbairn
jon.fairbairn at cl.cam.ac.uk
Sun Sep 10 06:43:30 EDT 2006
"Neil Mitchell" <ndmitchell at gmail.com> writes:
> Hi,
>
> > class Monad m | Functor m, Monoid m where ...
>
> Nice - I was having exactly this problem in Hoogle, if you list all
> the class dependancies first, you can't really see the actual class.
> It also makes grep'ing easier.
>
> > data EncodedStream m h | Monad m, Stream m h = ...
>
> Ditto
>
> > sequence :: [m a] -> m [a] | Monad m
>
> I don't like this. In the other two instances you are moving the most
> important information (the name of the thing) to the front. In this
> the name is at the front, but the instances move to the end, which
> isn't really where they should be.
I don't see the problem. You can read all of Bulat's
examples as "'thing being declared' 'relationship' 'value'
given that 'context'", so this one is "“sequence” has type
“[m a] -> m [a]” given that “m” is a “Monad”". So viewed
that way, they're all consistent with each other.
[Hmm. I think I need to restrain myself a bit on the
use of different types of quotation mark :-)]
Isn't the etiquette to discuss postings here in the café?
--
Jón Fairbairn Jon.Fairbairn at cl.cam.ac.uk
More information about the Haskell
mailing list