On Sun, 21 Jun 2009 14:39:37 +0100, Jon Harrop <j...@ffconsultancy.com>
wrote:
> 
> I had not looked at Intel's offering because it does not (AFAIK) support 
> accurate garbage collection. Also, it is worth noting that there is no 
> difference between data and task parallelism in a genuine functional 
> language.
> 

Well, I meant task parallelism vs. data parallelism in the design
intent, rather than the implementation. I find that calling
computational fluid dynamics "data parallel", and a telecom switch "task
parallel" is useful even if happens that solutions to both sorts of
problems in "genuine FP" are somehow isomorphic. I feel that's because
the problem domains, and the ways a typical programmer thinks about the
solutions, are different enough that the isomorphism isn't likely to be
astonishingly useful in practice. Well, maybe except for programming in
the small.

For instance, I don't see overwhelming practical applications of proving
one could implement a telecom switch as parallel maps and reductions
over a bunch of functions, unless (perhaps) you're a compiler writer
and/or designing a DSL for the purpose. It's fun as a thought
experiment, but I think that it would stray too far from the language of
the problem without lots of sugar that would (it seems to me) just sort
of take you back to where you started in terms of expressiveness.

But then again, those sorts of visions aren't my forte :)

> Right. If you hand-roll your C++ very carefully then you can get decent 
> performance but I was disappointed with the performance of the template 
> libraries and quality of g++ back in 2004 and have never used C++ since.

Yeah, g++ 4.1 and 4.2 seemed to have a reputation for being especially
bad at optimizing away abstraction penalties of heavy template usage. I
understand this is much better in recent releases, but I haven't
measured it myself.

For all it's warts, C++ (like Java) has interesting things happen to it
here and there, if only by sheer volume and chance. And every so often a
problem comes along that feels like a good fit.

Maybe I'm just perverse, and I bet *nobody* here will agree with me, but
sometimes I feel "wrong" when I use a language like a Lisp, with its
symbolic and meta-everything sweet spot, to do something as brutish and
mundane as picking apart awful binary formats and chewing through
vectors of integers and floats. It feels like ruining expensive top
shelf bourbon by pouring it in Coke :)

-Kyle


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to