Brian Harvey scripsit:

> It certainly wouldn't be my ideal choice, because it has multiple
> return values, a blasphemy.

If you don't have a problem passing multiple arguments to a function,
why do you have a problem passing multiple arguments to a continuation?
I concede that there's a respectable case for procedures having only
one argument, as in ML, Haskell, and Pure, but that's not the Lisp Way.
A lesson dating back to the first Scheme interpreter is that procedures
and continuations the same thing conceptually, and in Chicken they're
implemented identically.

(Almost.  A continuation has to check how many arguments it expects
at run time, because there's no way in Scheme to declare the number
of values that a procedure returns.  I argued for (lambda 2 (a b c)
(values a b)), but Felix said it was too ugly.)

> P.S.  I apologize, I've been super busy, and there have been several
> days when I just deleted all the Scheme mail without reading it... but
> there are one or two things not in any Scheme standard, and not
> implementable on top of any Scheme standard afaik, that I keep missing,
> e.g., ARITY.

Procedure introspection is something that historically Scheme has lacked.
It's an interesting idea, but would need to be worked out further before
it was ripe for standardization.  Consider writing a SRFI.  I'm told
that Chez, MIT Scheme, and Scheme48 are relevant prior art.

-- 
An observable characteristic is not necessarily         John Cowan
a functional requirement.  --John Hudson                [email protected]

_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss

Reply via email to