[Haskell-cafe] Abuse of the monad [was: monadic logo]
Conal Elliott
conal at conal.net
Thu Mar 12 11:25:10 EDT 2009
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/10488bc5/attachment.htm
More information about the Haskell-Cafe
mailing list