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

Re: [Scheme-reports] Fwd: Comments on draft 6 about call/cc

John Cowan writes:
> Jussi Piitulainen scripsit:
> > Such things should be considered for the large language now. If
> > they can be implemented in terms of the small language, great, let
> > us have them as a library, and implementations may be able to do
> > them more efficiently. If not, then there are weaknesses in the
> > small language that need to be understood and removed.
> Let me just comment on your last sentence here.  It is *not* the
> case that everything in the large language can or will be
> implementable in terms of the small language.  Examples include
> non-syntax-rules macros, socket operations and other Posix stuff,
> procedural records, and weak references.  Some things in the small
> language reflect the Facade pattern: they may be implemented in
> fundamentally different ways in different implementations.

No disagreement in general, and your particular examples do not bother
me so much. Call-with-current-continuation, however, is in the core of
the language, right there with lambda, if, set!, and the proper
implementation of procedure calls (tail recursion), said to be
sufficient to synthesize all known sequential control structures.
(Not an exact quote.)

So my vague understanding of the situation is that call/cc is somehow
very special, yet recent research seems to indicate that some of the
alternatives might be better - maybe less confusing without essential
loss of power, or something along those lines.

(I'm dreaming about removing the fundamental weaknesses that make the
piling of feature upon feature seem necessary, that's all.)

> In any case, WG2 has voted to include a delimited-continuations
> package. Proposals for such a package (one or more libraries, as
> required) would be welcome.


Scheme-reports mailing list