From: Simon Beaumont
Subject: Weak binding: Summary to date.
Date: 
Message-ID: <421jhg$bsg@xenon.bt-sys.bt.co.uk>
Summary of weak pointer and finalization features available in 
some popular Common Lisp implementations:

This summary was generated from information kindly 
supplied by members of lisp user community and vendor
organisations during August '95. This information
is undoubtably incomplete but is posted however 
as perhaps a starting point from which to urge some 
standardisation but more importantly promote discussion
of this topic and also the broader issue of standard programmatic
interfaces to "under the bonnet" implementation details
particulary in the area of common-lisp storage management.

All errors stand to be corrected and it is not my purpose
to comment upon any common lisp implementation either 
by inclusion or omission from this summary.

Many thanks to all that replied by posting in comp.lang.{lisp,clos}
or by email. Simon Beaumont, BT Labs, 30 August 1995.

Implementation			Has
----------------------------------------------------------------------
Allegro CL 4.2			weak-vectors, finalize
Allegro CL Windows 2.0		finalize (1)
CLISP				finalize
CMU CL				weak-pointers
Harlequin CL (LispWorks 3.2.2)	weak-vectors (2), weak-hash-tables (3)
ILOG Talk			weak-hash-tables (4)
Lucid CL 4.1.1 (Harlequin LCL)	weak-sets, weak-hash-tables (5)
Macintosh CL 3.0		weak-sets, weak-hash-tables (6)
Poplog CL			weak-hash-tables (7)

_________	
Notes.
(1) Weak vectors promised in a future release
(2) (array t *)
(3) :value
(4) Not known which of :key :value or :both
(5) :key :value & :both
(6) :key or :value not :both
(7) :key or :value, not known if :both

From: LMayka
Subject: Re: Weak binding: Summary to date.
Date: 
Message-ID: <426pic$7p2@newsbf02.news.aol.com>
Harlequin LispWorks also offers finalization, via the functions

FLAG-SPECIAL-FREE-ACTION
FLAG-NOT-SPECIAL-FREE-ACTION
ADD-SPECIAL-FREE-ACTION
REMOVE-SPECIAL-FREE-ACTION


Lawrence G. Mayka
From: Simon Beaumont
Subject: Re: Weak Binding Summary (update)
Date: 
Message-ID: <42mdnm$dsl@xenon.bt-sys.bt.co.uk>
Summary of weak pointer and finalization functionality
available in some popular Common Lisp implementations.

(2nd. ed. of September 1995)
Many thanks for the time taken to point out errors and 
omissions.


CL Implementation		Has
----------------------------------------------------------------------
Allegro CL 4.2			weak vector, finalize
Allegro CL Windows 2.0		finalize (1)
CLISP				finalize
CMU CL				weak-pointers, weak hash-table (8)
Harlequin CL (LispWorks 3.2.2)	finalize, weak array (2), weak hash-table (3)
ILOG Talk			finalize, weak hash-table (4)
Lucid CL 4.1.1 (Harlequin LCL)	weak set, weak hash-table (5)
Macintosh CL 3.0		population (9), weak hash-table (6)
Poplog CL			weak hash-table (7)

Other Lisp Implementations
----------------------------------------------------------------------
MIT Scheme			weak pair, weak hash-table

_________	
Notes.
(1) Weak vectors promised in a future release
(2) set-array-weak (array t *) 
(3) set-hash-table-weak -> weak value 
(4) :key
(5) :key :value & :both
(6) :key or :value not :both
(7) :key or :value not known if both
(8) Keyword :weak-p t -> weak values
(9) A weak list