<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">Thanks all,<br><br>Now that I have a (very) rudimentary understanding of Haskell, I figured I'd back up and have a closer (conceptual) look at type definitions to see what they have in common, and just happen to pick Maybe and List.<br><br>I also noticed Maybe has a list of "Instances"<br><br>Monad Maybe<br>Functor Maybe<br>Typeable1 Maybe<br>MonadFix Maybe<br>MonadPlus Maybe<br>etc.<br><br>while List has none, at least I don't see any in Data.List. Same reason?<br><br>From "Learn You A Haskell:"<br><br>"If a type is a part of a typeclass, that means it supports and implements the behavior the typeclass describes."<br><br>I'm way out on a limb here, but isn't Monad a typeclass? and if, as we say above, that Maybe is an instance of Monad, wouldn't there have to be<br><br>instance Monad Maybe where<br> return = ... -- return for
Maybe<br> >>= = ... -- bind for Maybe<br> etc.<br><br>somewhere? Where? It's not in Data.Maybe. Is there some kind of scheme for defining this stuff, i.e., this goes here, that goes there?<br><br>Michael<br><br><br><br>--- On <b>Fri, 7/30/10, Edward Z. Yang <i><ezyang@MIT.EDU></i></b> wrote:<br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"><br>From: Edward Z. Yang <ezyang@MIT.EDU><br>Subject: Re: [Haskell-cafe] Definition of List type?<br>To: "michael rice" <firstname.lastname@example.org>, "haskell-cafe" <email@example.com><br>Date: Friday, July 30, 2010, 3:01 PM<br><br><div class="plainMail">Excerpts from Edward Z. Yang's message of Fri Jul 30 14:48:34 -0400 2010:<br>> Const x xs is x:xs (constructor)<br><br>That should be a Cons, not Const.