[r6rs-discuss] Implicitly Concurrent Scheme
Aubrey Jaffer
agj at alum.mit.edu
Sat Nov 14 15:51:16 EST 2009
| Date: Thu, 12 Nov 2009 16:40:35 -0500
| From: John Cowan <cowan at ccil.org>
|
| Aubrey Jaffer scripsit:
|
| [snip]
|
| > Removing a restriction would seem to be justified solely on the
| > basis of:
| >
| > Programming languages should be designed not by piling
| > feature on top of feature, but by removing the weaknesses and
| > restrictions that make additional features appear necessary.
|
| This is a fine example of the rhetorical fallacy of equivocation.
I stand corrected. Fortunately, the rest of my comments are not
predicated on that justification.
| ...
|
| Like all contracts, a spec specifies the agreements between
| implementers and users. Each accepts some restrictions.
Looking through R4RS, R5RS, and R6RS, the only mention of concurrency
(the word "concurrent") in each is contained in the description of
"Procedure calls".
So it would appear that my assumption that RnRS constrained "map" to
have an unspecified-but-serial evaluation order was groundless, and
that R4RS, R5RS, and R6RS already have Implicitly Concurrent "map"!
This has some interesting implications. If a metacircular-interpreter
uses a concurrent "map" to evaluate arguments to a procedure call,
then that interpreter's procedure calls will also be concurrent.
More information about the r6rs-discuss
mailing list