[r6rs-discuss] Proposed features for small Scheme, part 1: a stake in the ground
John Cowan
cowan at ccil.org
Fri Sep 4 19:18:18 EDT 2009
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 cowan at ccil.org
More information about the r6rs-discuss
mailing list