preserves/implementations/racket/preserves/preserves/object-id.rkt

10 lines
187 B
Racket
Raw Normal View History

2021-01-29 11:03:28 +00:00
#lang racket/base
(provide object-id)
(define table (make-weak-hasheq))
(define next 0)
(define (object-id x)
(hash-ref! table x (lambda () (let ((v next)) (set! next (+ v 1)) v))))