Title | Weakness is not well documented. |
Status | closed |
Priority | essential |
Assigned user | Gareth Rees |
Organization | Ravenbrook |
Description | Weakness is not well documented. The documentation has precious little to say about weakness. Even basic things like what the semantics of a weak reference are are missing. We need documentation for: - description of weak reference semantics, and in particular that all weak references get splatted together*. - how weakness interacts with finalization - different sorts of weakness (if we implement them) - what is weakness good for? - implementing part-weak part-strong hash tables (because its a common requirement) Possible we need subjobs for these things as we decide to do them. That's okay. |
Analysis | Decide what we want the behaviour to be, document it. * See [1]. It turns out that there is a defect in the MPS that can cause it to not splat all weak references to some object atomically (job001666). I believe lack of documentation may have contributed to the defect. GDR 2012-11-01: For now, I've documented that weak references may die at different times. |
How found | unknown |
Evidence | [1] <http://info.ravenbrook.com/mail/2007/06/26/11-48-09/0/ > |
Observed in | 1.107.0 |
Created by | David Jones |
Created on | 2007-06-27 12:30:02 |
Last modified by | Gareth Rees |
Last modified on | 2012-11-03 14:49:04 |
History | 2007-06-27 DRJ Created. 2012-10-17 GDR Assigned to GDR. |
Change | Effect | Date | User | Description |
---|---|---|---|---|
180202 | closed | 2012-10-31 17:45:35 | Gareth Rees | Write weak references chapter. |
180165 | open | 2012-10-30 17:03:29 | Gareth Rees | Write pool reference. |