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
