Things I Learned from ACCU 2010

Clemens eriatarka84 at gmail.com
Fri Apr 23 05:00:32 PDT 2010


Walter Bright Wrote:

> * Not all functional programming languages do concurrency well. Haskell and 
> OCaml in particular have severe fundamental problems with it such that 
> parallelizing your code makes it slower.

Do you have a reference on that? I'll produce one to the contrary:
http://cgi.cse.unsw.edu.au/~dons/blog/2007/11/29#smoking-4core

> * Monads have nothing in particular to with I/O.

Right.

> All monads are are a way to 
> insert code to pre-process arguments going to a function, and insert code to 
> post-process the result coming out of that function.

That's a much too narrow view. While it may apply roughly to some uses of monads, even something as simple as the Maybe monad doesn't fit into this mental model anymore.

I'd really recommend spending a few days with Haskell. Even if it may not be the language you'll want to spend the rest of your life with, there's no denying that a lot of interesting ideas and research is going into Haskell. (As an aside, I'm generally a bit put off by the hostility towards programming language research and theory in the D community. "We don't need no stinking theory, we'll just roll our own ad-hoc solution which will work much better because ivory-tower academics are completely out of touch with reality anyway." Bleh.) If you try to put ideas of pure functional programming into D, I think it would be a good idea to at least be somewhat familiar with the way the reigning king of that particular niche does it.

-- Clemens



More information about the Digitalmars-d mailing list