Marc, What is the lifetime/longevity of serial numbers as returned by ( object->serial-number)? Thanks, Mikael * *
Afficher les réponses par date
On 2010-04-21, at 3:56 AM, Mikael wrote:
Marc,
What is the lifetime/longevity of serial numbers as returned by (object->serial-number)?
Thanks, Mikael
If the object X has a serial number, that serial number is valid until the moment X is reclaimed by the garbage collector. After this moment, the serial number may be reused (i.e. the serial number is always a fixnum, and eventually the numbers are recycled). Here's an example: Gambit v4.6.0
(define x (cons 11 22)) (object->serial-number x) 2 #2 (11 . 22) (##gc) #2 (11 . 22) (set! x #f) 1 1 2 2 3 3 (##gc) #2 *** ERROR IN (console)@11.1 -- Unbound serial number (serial-number->object 2) 1>
Note that the assignment (set! x #f) and the dummy evaluations 1, 2, 3 were required to make the GC reclaim the pair (11 . 22). The dummy evaluations are to remove all references to the pair from the REPL result history (i.e. the table which gives meaning to #, ##, ###, ...). By default the REPL result history remembers the result of the last 3 evaluations. Marc
participants (2)
-
Marc Feeley -
Mikael