[Haskell-cafe] Abuse of the monad [was: monadic logo]

Andrew Wagner wagner.andrew at gmail.com
Thu Mar 12 11:29:01 EDT 2009


Conal,Do you think imperative Haskell can be a sort of "gateway drug" to
"real" haskell?

On Thu, Mar 12, 2009 at 11:25 AM, Conal Elliott <conal at conal.net> wrote:

> Thank you Bob!  I'll throw in another 2 cents:
>
> Yes, *one* aspect of Haskell is that it's a power tool for imperative
> programming -- a clever way to keep plugging away at the old sequential von
> Neumann paradigm.  C++++.
>
> I'd rather we strongly encourage Haskell-newbies toward shifting out of the
> imperative paradigm to thinking and programming *functionally*.  It's a big
> shift, to make, and imperative-Haskell is a relatively easy substitute.
>
>    - Conal
>
> On Thu, Mar 12, 2009 at 7:28 AM, Thomas Davie <tom.davie at gmail.com> wrote:
>
>>
>> On 12 Mar 2009, at 15:16, Andrew Wagner wrote:
>>
>>  Can you expand on this a bit? I'm curious why you think this.
>>>
>>
>> For two reasons:
>>
>> Firstly, I often find that people use the Monadic interface when one of
>> the less powerful ones is both powerful enough and more convenient, parsec
>> is a wonderful example of this.  When the applicative instance is used
>> instead of the monadic one, programs rapidly become more readable, because
>> they stop describing the order in which things should be parsed, and start
>> describing the grammar of the language being parsed instead.
>>
>> Secondly, It seems relatively common now for beginners to be told about
>> the IO monad, and start writing imperative code in it, and thinking that
>> this is what Haskell programming is.  I have no problem with people writing
>> imperative code in Haskell, it's an excellent imperative language.  However,
>> beginners seeing this, and picking it up is usually counter productive –
>> they never learn how to write things in a functional way, and miss out on
>> most of the benefits of doing so.
>>
>> Hope that clarifies what I meant :)
>>
>>
>> Bob_______________________________________________
>> Haskell-Cafe mailing list
>> Haskell-Cafe at haskell.org
>> http://www.haskell.org/mailman/listinfo/haskell-cafe
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/haskell-cafe/attachments/20090312/f29ea2f4/attachment.htm


More information about the Haskell-Cafe mailing list