[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Statice/CLOS integration.
Received: from THOMAS.kahuna.decnet.lockheed.com by ALAN.kahuna.decnet.lockheed.com via CHAOS with CHAOS-MAIL id 22015; 9 Feb 90 14:44:09 PST
Date: Fri, 9 Feb 90 14:44 PST
From: Robert D. Pfeiffer <RDP@ALAN.kahuna.decnet.lockheed.com>
Subject: Statice/CLOS integration.
To: SLUG@ALAN.kahuna.decnet.lockheed.com
In-Reply-To: <19900122174710.3.RDP@THOMAS.kahuna.decnet.lockheed.com>
Message-ID: <19900209224402.2.RDP@THOMAS.kahuna.decnet.lockheed.com>
[It seemed like others on the SLUG list might be interested in this conversation.
Symbolics developers are particularly invited to jump in. :-) ]
Date: Mon, 22 Jan 90 09:47 PST
From: Robert D. Pfeiffer <RDP@ALAN.kahuna.decnet.lockheed.com>
Date: Tue, 16 Jan 90 20:06:41 EST
From: aboulang@WILMA.BBN.COM
[...]
It is actually not that hard to do put a CLOS layer on top of statice
in a brute force way. We have done this for a project that is based on
CLOS.
OK, thanks for the advice. Off-hand, it wasn't clear to me how much
work I would be buying into to pursue this course. You convinced me to
give it a shot. Thanks again.
After a little poking around, it's not clear to me what the winning
approach is. The basic problem I want to solve is to write all my code
as if I'm using CLOS (particularly DEFMETHODs), but to also integrate
Statice functionality (particularly DEFINE-ENTITY-TYPEs). Furthermore,
I'd like to keep the option open of eventually maintaining my
application so that it could use either Statice or BIN files as a
database.
Here's a specific example:
I want to store objects of type 'FOO in a Statice database. One way or
another (typically with FOR-EACH), I'll retrieve these objects. What
I'll really get back are entity handles (which are Flavor instances
*not* CLOS instances). Thus, a CLOS method which takes an argument of
type 'FOO won't work. Additionally, the Statice-generated accessor
functions will be Flavor methods not CLOS methods. I'm not sure what
the implications of this are.
I can see two approaches to dealing with this:
1) Contrive to make Statice deal with CLOS rather than Flavors by
patching the Statice source. This seems possible (starting with the
DEFINE-ENTITY-TYPE macro), but I'm not anxious to try it.
2) Contrive to map each entity handle into a corresponding CLOS
instance at run-time. I think this is what the "put a CLOS layer on top of
Statice" suggestion means, but I don't really see a nice clean way to
go about it.
Help, anyone?