Article View: comp.lang.clos
Article #166Re: Beginner's Question - CLOS
From: Piercarlo Grandi
Date: Sun, 23 Aug 1992 19:58
Date: Sun, 23 Aug 1992 19:58
48 lines
2987 bytes
2987 bytes
On 21 Aug 92 19:42:01 GMT, sm86+@andrew.cmu.edu (Stefan Monnier) said: pcg> A system builder can create a complete list of all the types in an pcg> application (unless they can be defined at run time), and can do pcg> such overload resolution at system building time, statically. I pcg> think a 'system building' tool is something that is quite useful in pcg> general, especially if it can be used more or less incrementally. sm86> Such a system builder is only useful in non-OO operating systems sm86> or environments: Ahhhh, capability OSes tend to be a big interest of mine... sm86> In such OO-environments (like Smalltalk), each class is shared sm86> among all applications (and even used by the system itself) and I think we can do better here, even if I have seen nothing like what I am going to describe. A lot of optimization can be done only by more or less early reduction; for example, the system builder reduces statically the overloading info for an entire application. You are right that in traditional OO environments this cannot be done, but this is only because it is assumed that the entire application can be modified after system building: sm86> which means that you can't adapt a class to a particular situation sm86> as it is dynamically used and loaded. More precisely use and load don't give problems, it's modification that might cause problems. It might be entirely possible, combining ideas from Reid's versioning and Bishop's ORSLA and Baker's collector and Hewitt's variation of it, to have the system builder generate systems from 'frozen' originals or sources, and maintain dependency links. If the originals are modified, a new version is generated, and the system builder reruns and produces a new version of the reduced/optimized application. Clients active at the time the new version is created just ignore it. I think that something like this is actually needed to support *mutable typing* systems, in which it is possible to change data formats at run time. -- Piercarlo Grandi | JNET: pcg@uk.ac.aber Dept of CS, University of Wales | UUCP: ...!mcsun!ukc!aber-cs!pcg Penglais, Aberystwyth SY23 3BZ, UK | INET: pcg@aber.ac.uk
Technical Details
Message-ID:
<PCG.92Aug23195818@aberdb.aber.ac.uk>Path:
arc1-ca.pugleaf.net!sparky!uunet!mcsun!uknet!gdt!aber!aberfa!pcgReferences:
<16u2tpINN9ad@early-bird.think.com> <1992Aug19.213818.21709@tfs.com> <DCMARTIN.92Aug19151550@fascet.msi.com> <170fu1INNmfh@early-bird.think.com> <PCG.92Aug21005641@aberdb.aber.ac.uk> <AeZPS9m00awK897kVo@andrew.cmu.edu>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!mcsun!uknet!gdt!aber!aberfa!pcg From: pcg@aber.ac.uk (Piercarlo Grandi) Newsgroups: comp.lang.clos,comp.object Subject: Re: Beginner's Question - CLOS Message-ID: <PCG.92Aug23195818@aberdb.aber.ac.uk> Date: 23 Aug 92 19:58:18 GMT References: <16u2tpINN9ad@early-bird.think.com> <1992Aug19.213818.21709@tfs.com> <DCMARTIN.92Aug19151550@fascet.msi.com> <170fu1INNmfh@early-bird.think.com> <PCG.92Aug21005641@aberdb.aber.ac.uk> <AeZPS9m00awK897kVo@andrew.cmu.edu> Sender: news@aber.ac.uk (USENET news service) Reply-To: pcg@aber.ac.uk (Piercarlo Grandi) Organization: Prifysgol Cymru, Aberystwyth Lines: 48 In-Reply-To: sm86+@andrew.cmu.edu's message of 21 Aug 92 19: 42:01 GMT Nntp-Posting-Host: aberdb