On Mon, 2009-09-07 at 10:43 +0100, David Rush wrote:

> The ML approach is really the only correct way to do it, but you need
> a new form (or two) from which you can then implement
> LAMBDA-as-we-know-it.

I reached essentially the same conclusion.  Functions in multiple
arguments (with multiple returns) take and return environments 
(or at least tuples).  That isn't what lambda in its current form 
allows us to write.

And it isn't what any lambda form will allow until we have first-class
environments and/or transparent tuples.  The first is beyond scope 
for scheme standardization right now, but we'll probably get there 
eventually. The second breaks the clean semantics distinguishing 
between what is a (returned) list and what is the (primary return 
value or) first element of that list.  

So, yes, the functions are clean and clear and symmetric but the
language we have to express them is not. Further, the minimal 
changes necessary to cleanly and clearly express them would result
in a language so different that it would no longer be scheme.

                                Bear



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

Reply via email to