| Date: Tue, 8 Sep 2009 13:41:56 -0400 | From: John Cowan <[email protected]> | | Antonio Vieiro scripsit: | | > Finally, explicit parallel Scheme is, in my opinion, the *wrong* | > way to go (as explicit memory management is, for instance). | > Understanding explicit parallel programs (either in Scheme or any | > other language) is usually difficult. Debugging and maintaining | > them is usually the worst nightmare of a developer. (I can't | > imagine debugging a Scheme program with threads, semaphores, | > locks, and continuations all messed up). | | I entirely agree, but there are ways around that problem: see | Erlang. The difficulty with implicit parallelism is that it takes | more brains than our tools have (possibly more brains than *we* | have) to figure out exactly which instances of parallelism should | result in actual concurrent execution, and which ones are not worth | the considerable extra overhead.
That is why concurrency is entirely optional in Implicitly-Parallel-Scheme. At soon as compilers are smart enough, or threads are lightweight enough, IPS programs will reap the benefits. There have been several posters concerned that threads aren't lightweight enough to be practical. Back in the 1970s the conventional wisdom about programming was that procedure calls should be avoided because they were expensive. Compilers and CPUs have advanced; such a claim would be grossly wrong now because of L1/L2 cache locality and bandwidth considerations. The next Scheme Report is months or years away. CPU clocks aren't getting much faster in successive generations, but the number of cores is climbing. The Computer Science visionaries are clear that concurrency is the future; lets take the lead. _______________________________________________ r6rs-discuss mailing list [email protected] http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss
