| Date: Sun, 13 Sep 2009 21:14:01 -0400 | From: "Aaron W. Hsu" <[email protected]> | | On Tue, 08 Sep 2009 14:18:29 -0400, Aubrey Jaffer <[email protected]> wrote: | | > 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. | | I'm not sure I understand something here. You seem to be | suggesting in this line of parallel Scheme thinking that somehow | the current Scheme standards explicitly exclude parallel | optimization of code, especially in areas where there is an | unspecified order of evaluation.
The RnRSs explicitly require serial, if unspecified, order of evaluation. Scheme is thus a serial language. | However, it seems that you or someone else has also brought up the | point that the standards actually do permit such optmizations | provided the serializability of the parts. To parallelize a serial program is in general an undecidable problem. | Are you saying that the standards now don't permit parallel | optimizations to take place? It appears to me that they do, and | that Scheme is, even now, welcome to lead the forefront in | parallelization. Without a change to the language, Scheme would be no more parallel than FORTRAN-77. Implicitly-Parallel-Scheme broadens "unspecified order" to allow concurrency. As the "random" example demonstrated, programs which would make concurrent calls to "random" in IPS are not portably repeatable in RnRS. For programmers, IPS's concurrency constraint is only slightly more difficult than RnRS's "unspecified order". In exchange, Scheme would gain the capacity for concurrent execution while requiring no explicit thread handling by the programmer. Furthermore, IPS programs obeying this constraint would execute identically on single thread and concurrent platforms. _______________________________________________ r6rs-discuss mailing list [email protected] http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss
