Use *parameter-id* in make-parameter

This commit is contained in:
Justin Ethier 2017-03-02 23:40:44 -05:00
parent 69468b1480
commit 0c4be522e5

View file

@ -948,12 +948,18 @@
() ()
((param value) ...) ((param value) ...)
body)))) body))))
(define *parameter-id* 0)
(define (make-parameter init . o) (define (make-parameter init . o)
;; TODO: need to store/set value in the thread data parameter (param_objs), to make it thread-specific ;; TODO: need to store/set value in the thread data parameter (param_objs), to make it thread-specific
;; TODO: what will the key be? how do we look up the thread's value for this parameter object????
(let* ((converter (let* ((converter
(if (pair? o) (car o) (lambda (x) x))) (if (pair? o) (car o) (lambda (x) x)))
(value (converter init))) (value (converter init))
(key #f))
;; TODO: this is not thread safe!
(set! key *parameter-id*)
(set! *parameter-id* (+ *parameter-id* 1))
;;
(lambda args (lambda args
(cond (cond
((null? args) ((null? args)