fix make-parameter for SRFI-39
svn: r13684
This commit is contained in:
parent
c7809e5838
commit
ee32e728bc
|
@ -1,3 +1,18 @@
|
|||
;; Supported by core PLT:
|
||||
;; Supported by core PLT, with a slight difference in how a guard is used:
|
||||
#lang scheme/base
|
||||
(provide make-parameter parameterize)
|
||||
|
||||
(define make-parameter*
|
||||
(let ([make-parameter
|
||||
(case-lambda
|
||||
[(v) (make-parameter v)]
|
||||
[(v guard) (make-parameter (if (and (procedure? guard)
|
||||
(procedure-arity-includes? guard 1))
|
||||
;; apply guard to initial value:
|
||||
(guard v)
|
||||
;; let `make-parameter' complain:
|
||||
v)
|
||||
guard)])])
|
||||
make-parameter))
|
||||
|
||||
(provide (rename-out [make-parameter* make-parameter])
|
||||
parameterize)
|
||||
|
|
Loading…
Reference in New Issue
Block a user