blob: cad7c24fe5f4cb3abe3a257ea6a5000823801aa5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
(define-module (modules utils t-factory)
#:use-module (srfi srfi-9)
#:export (temporary?
temporary-name
temporary-register
set-temporary-register!
make-temporary
))
(define-record-type <temporary>
(make--temporary name register)
temporary?
(name temporary-name)
(register temporary-register set-temporary-register!))
(define make-temporary)
(let ((count 100))
(set! make-temporary
(lambda ()
(set! count (1+ count))
(make--temporary (string->symbol
(format #f "t.~a" count))
#f))))
|