Thanks all, 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. I also noticed Maybe has a list of "Instances" Monad Maybe Functor Maybe Typeable1 Maybe MonadFix Maybe MonadPlus Maybe etc. while List has none, at least I don't see any in Data.List. Same reason?
From "Learn You A Haskell:"
"If a type is a part of a typeclass, that means it supports and implements the behavior the typeclass describes." 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 instance Monad Maybe where return = ... -- return for Maybe >>= = ... -- bind for Maybe etc. 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? Michael --- On Fri, 7/30/10, Edward Z. Yang <ezyang@MIT.EDU> wrote: From: Edward Z. Yang <ezyang@MIT.EDU> Subject: Re: [Haskell-cafe] Definition of List type? To: "michael rice" <nowgate@yahoo.com>, "haskell-cafe" <haskell-cafe@haskell.org> Date: Friday, July 30, 2010, 3:01 PM Excerpts from Edward Z. Yang's message of Fri Jul 30 14:48:34 -0400 2010:
Const x xs is x:xs (constructor)
That should be a Cons, not Const. :o) Cheers, Edward