[Haskell-cafe] Splitting off many/some from Alternative

Ivan Lazar Miljenovic ivan.miljenovic at gmail.com
Wed Dec 14 12:28:35 CET 2011


On 14 December 2011 20:21, Gregory Crosswhite <gcrosswhite at gmail.com> wrote:
>
> On Dec 14, 2011, at 4:40 PM, Ivan Lazar Miljenovic wrote:
>
> [...] Apart from some
>
> basic combinators in Control.Monad or the definitions of monad
> transformers, how much of what you write in do-blocks is applicable to
> some generic Monad instance as opposed to a specific Monad?
>
>
> Well, if my *only* constraint on a type is that it be an instance of Monad,
> then *all* of the code written in do-blocks will be applicable to a generic
> Monad instance.  That's the whole point.  :-)
>
> Furthermore, you make it sound like this generic case scenario is incredibly
> rare, but in fact it is very common:  it occurs whenever someone writes a
> monadic transformer, which happens all the time.  Imagine what writing
> monadic transformers would be like if you couldn't always trust that, say,
> (>>=) was a well-defined operation?

What I was trying to reference was times when I use the list monad as
a pseudo-prolog, or the Maybe monad as a "stop when failed" case,
etc.: trying to use one for the other doesn't always work.

-- 
Ivan Lazar Miljenovic
Ivan.Miljenovic at gmail.com
IvanMiljenovic.wordpress.com



More information about the Haskell-Cafe mailing list