Add instrumentation to sequence/c.
This commit is contained in:
parent
451ef1d37e
commit
d5ae7125e5
|
@ -583,4 +583,18 @@
|
||||||
marked?)
|
marked?)
|
||||||
#t)
|
#t)
|
||||||
|
|
||||||
|
(test/spec-passed
|
||||||
|
'contract-marks63
|
||||||
|
'(let ()
|
||||||
|
(eval '(require racket/sequence))
|
||||||
|
(eval '(sequence->list (contract (sequence/c pos-blame?) (in-range 3) 'pos 'neg)))))
|
||||||
|
|
||||||
|
(test/spec-passed
|
||||||
|
'contract-marks64
|
||||||
|
'(let ()
|
||||||
|
(eval '(require racket/sequence racket/dict))
|
||||||
|
(eval '(sequence-ref (contract (sequence/c pos-blame? pos-blame?)
|
||||||
|
(in-dict '((1 . 2) (3 . 4))) 'pos 'neg)
|
||||||
|
0))))
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
|
@ -218,6 +218,7 @@
|
||||||
orig-blame #:missing-party neg-party seq
|
orig-blame #:missing-party neg-party seq
|
||||||
'(expected: "a sequence" given: "~e")
|
'(expected: "a sequence" given: "~e")
|
||||||
seq))
|
seq))
|
||||||
|
(define blame+neg-party (cons orig-blame neg-party))
|
||||||
(define result-seq
|
(define result-seq
|
||||||
(make-do-sequence
|
(make-do-sequence
|
||||||
(lambda ()
|
(lambda ()
|
||||||
|
@ -228,7 +229,9 @@
|
||||||
next
|
next
|
||||||
(case-lambda
|
(case-lambda
|
||||||
[(elem)
|
[(elem)
|
||||||
(p elem neg-party)]
|
(with-contract-continuation-mark
|
||||||
|
blame+neg-party
|
||||||
|
(p elem neg-party))]
|
||||||
[elems
|
[elems
|
||||||
(define n-elems (length elems))
|
(define n-elems (length elems))
|
||||||
(raise-blame-error
|
(raise-blame-error
|
||||||
|
@ -251,6 +254,7 @@
|
||||||
orig-blame #:missing-party neg-party seq
|
orig-blame #:missing-party neg-party seq
|
||||||
'(expected: "a sequence" given: "~e")
|
'(expected: "a sequence" given: "~e")
|
||||||
seq))
|
seq))
|
||||||
|
(define blame+neg-party (cons orig-blame neg-party))
|
||||||
(define result-seq
|
(define result-seq
|
||||||
(make-do-sequence
|
(make-do-sequence
|
||||||
(lambda ()
|
(lambda ()
|
||||||
|
@ -260,6 +264,8 @@
|
||||||
(call-with-values
|
(call-with-values
|
||||||
next
|
next
|
||||||
(lambda elems
|
(lambda elems
|
||||||
|
(with-contract-continuation-mark
|
||||||
|
blame+neg-party
|
||||||
(define n-elems (length elems))
|
(define n-elems (length elems))
|
||||||
(unless (= n-elems n-cs)
|
(unless (= n-elems n-cs)
|
||||||
(raise-blame-error
|
(raise-blame-error
|
||||||
|
@ -270,7 +276,7 @@
|
||||||
values
|
values
|
||||||
(for/list ([elem (in-list elems)]
|
(for/list ([elem (in-list elems)]
|
||||||
[p (in-list ps)])
|
[p (in-list ps)])
|
||||||
(p elem neg-party))))))
|
(p elem neg-party)))))))
|
||||||
add1
|
add1
|
||||||
0
|
0
|
||||||
(lambda (idx)
|
(lambda (idx)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user