[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Initialize-instance and Franz
- To: fxtv@zeta.ibp.FR, gregor@parc.xerox.com
- Subject: Re: Initialize-instance and Franz
- From: bsmith@postgres.Berkeley.EDU (Brian Smith)
- Date: Thu, 25 Oct 1990 15:28:21 PDT
- Cc: commonloops.PARC@xerox.com
- In-reply-to: "Mail from 'fxtv@zeta.ibp.FR (Francois-Xavier TESTARD-VAILLANT)' dated Thu, 25 Oct 1990 11:08:20 PDT"
Regarding Francois-Xavier's message of Oct 25:
From fxtv@zeta.ibp.FR Thu Oct 25 14:28:25 1990
Subject: Initialize-instance and Franz
To: Gregor Kiczales <gregor@parc.xerox.com>
Cc: commonloops.PARC@xerox.com, bsmith@postgres.Berkeley.EDU
Here is a short session of Picasso (Allegro+clx+pcl+picasso). It
seems that this works with lucid but not there. Why?
Francois-Xavier
----
<picasso> (defclass foo ()
((bar :reader get-bar
:writer set-bar)))
NIL
<picasso> (defmethod initialize-instance :after ((self foo) &rest args)
(format T "Initializing foo...~%"))
NIL
<picasso> (make-instance 'foo)
<FOO 71342326>
<picasso>
----
;using lucid 3.0 + pcl
> (defclass foo ()
((bar :reader get-bar
:writer set-bar)))
#<Standard-Class FOO 34420763>
> (defmethod initialize-instance :after ((self foo) &rest args)
(format T "Initializing foo...~%"))
#<Standard-Method INITIALIZE-INSTANCE :AFTER (FOO) 34745033>
> (make-instance 'foo)
Initializing foo...
#<FOO 34761633>
>
======================================================================
The problem is that picasso is based on the 12/88 pcl, which doesn't use
the CLOS initialization protocol. Hence, initialize-instance :after
method is never called.
Francois -- I'll mail you a seperate message how to get around this
problem. It'll be fixed in the next version of picasso, which will use the
newest pcl.
-----
Brian C. Smith arpa: bsmith@postgres.Berkeley.EDU
University of California, Berkeley uucp: uunet!ucbarpa!postgres!bsmith
Computer Sciences Department phone: (415)642-9585