[plt-scheme] define/public doesn't like my macro

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Thu Jun 8 09:32:54 EDT 2006

At Thu, 8 Jun 2006 11:59:19 +0100, "Paulo J. Matos" wrote:
> Why can't I use foo method in place of for-each procedure argument?

The `class' form could automatically convert a method name to a
procedure by wrapping non-application uses of method names with
`lambda'.

But I think it's important to distinguish methods from procedures. The
implicit passing of `this' in a method call obscures the difference;
requiring an explicit `lambda' helps bring the difference back. Also,
it makes slightly more explicit the allocation that closes over `this'.

I probably wouldn't think it's so important if I had not, in earlier
version of the class system, confused methods and procedures closed
over `this' --- with very bad performance as a result.

Matthew



Posted on the users mailing list.