fix parametric->/c for the keyword case

This commit is contained in:
Robby Findler 2015-12-21 10:32:08 -06:00
parent 261a5cb1f4
commit 3a4ba9a1ca
2 changed files with 12 additions and 2 deletions

View File

@ -70,4 +70,14 @@
(λ (x) (unless c (set! c x)) c)
'pos 'neg)])
(f 1)
(f 2))))
(f 2)))
(test/spec-passed/result
'parametric->/c8
'((contract
(parametric->/c (x) (-> #:x x x))
(λ (#:x x) x)
'pos 'neg)
#:x 11)
11))

View File

@ -76,7 +76,7 @@
(raise-blame-error blame #:missing-party neg-party
p '(expected "a procedure" given: "~e") p))
(make-keyword-procedure
(lambda (keys vals . args) (keyword-apply (wrap p) keys vals args))
(lambda (keys vals . args) (keyword-apply (wrap p neg-party) keys vals args))
(case-lambda
[() ((wrap p neg-party))]
[(a) ((wrap p neg-party) a)]