[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: specializer-direct-xxx generic functions
- To: Moon@STONY-BROOK.SCRC.Symbolics.COM
- Subject: Re: specializer-direct-xxx generic functions
- From: Gregor Kiczales <gregor@parc.xerox.com>
- Date: Thu, 4 Oct 1990 10:26:48 PDT
- Cc: kab@charon.MIT.EDU, common-lisp-object-system@mcc.COM
- Fake-sender: gregor@parc.xerox.com
- In-reply-to: <Moon@STONY-BROOK.SCRC.Symbolics.COM>'s message of Thu, 4 Oct 1990 07:51:00 PDT <19901004145147.1.MOON@KENNETH-WILLIAMS.SCRC.Symbolics.COM>
- Line-fold: NO
- Sender: Gregor Kiczales <gregor@parc.xerox.com>
From: <Moon@STONY-BROOK.SCRC.Symbolics.COM>
Line-Fold: No
Another possibility that could be explored would be for
generic-flet/-labels/-function to have two kinds of metaobjects: for want of
a better name I'll call them template-generic-function/template-method, and
closure-generic-function/closure-method. A generic-flet form would create
the template metaobjects once when the form is processed, and would create a
new set of closure metaobjects each time it is executed.
This seems like a promising way out of this problem. A way out needs to
be found at some point since specializer-direct-methods is an important
part of the MOP.
I also concur with your comment that generic-flet/labels may not be that
critical. In general, I don't think we designed those well, although I
am not sure it would be possible to do them well in Common Lisp, it may
be they can only be done well in Scheme. One symptom of their failing:
we can create lexically scoped generic function definitions, but we
can't create lexically-scoped class definitions.