[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

DYNAMIC-WIND vs. multi-processing

    CWCC is the marrow of processes.  DYNAMIC-WIND, by acting on CWCC,
    does not distinguish between escapes, co-routine calls and other
    control transfers.  

That's because CALL/CC doesn't distinguish these things. It's too damn
powerful. I do not like CALL/CC. It messes up my foundations for reasoning
about programs. And if it interferes with human reasoning, that goes
double for compiler analysis.

    I think we will lose a lot of succinctness in the
    language if we start distinguishing these.

Jeez. The language doesn't even have a standardised record data structure,
exception mechanism, or a really finished macro system.  Doesn't have a module
system of any kind, barring for the under-construction one Jonathan has in
S48. And we are worrying about concurrency primitives? Modula-3 is so far out
in front of Scheme as a real systems language it's staggering.

Scheme is the world's most powerful toy language.

When it comes to concurrency in Scheme, I think we are definitely in a "let a
hundred flowers bloom" stage. (The dictatorship of the proletariat can
re-assert itself at a later stage, after the intellectuals have had their

Let people play around, see what emerges.