parent
074202bdd2
commit
e5c5feca6d
|
@ -86,4 +86,11 @@
|
|||
#'(time body ...)
|
||||
|#
|
||||
]))
|
||||
|
||||
(module place-test-submod racket/base
|
||||
(require racket/place)
|
||||
(provide p)
|
||||
(define (p x)
|
||||
(place-channel-get (place/context ch
|
||||
(place-channel-put ch x)))))
|
||||
|
||||
|
|
|
@ -102,4 +102,8 @@
|
|||
(test (not (place-enabled?)) place-message-allowed? (cons v 1))
|
||||
(test (not (place-enabled?)) place-message-allowed? (vector v)))
|
||||
|
||||
|
||||
(require (submod "place-utils.rkt" place-test-submod))
|
||||
(test 0 p 0)
|
||||
|
||||
(report-errs)
|
||||
|
|
|
@ -238,7 +238,7 @@
|
|||
(define-syntax (place/context stx)
|
||||
(syntax-parse stx
|
||||
[(_ ch:id body:expr ...)
|
||||
(define b #'(let () body ...))
|
||||
(define b #'(lambda (ch) body ...))
|
||||
(define/with-syntax b* (local-expand b 'expression null))
|
||||
(define/with-syntax (fvs ...) (free-vars #'b*))
|
||||
(define/with-syntax (i ...) (for/list ([(v i) (in-indexed (syntax->list #'(fvs ...)))]) i))
|
||||
|
@ -246,7 +246,7 @@
|
|||
#'(let ()
|
||||
(define p (place ch (let* ([v (place-channel-get ch)]
|
||||
[fvs (vector-ref v i)] ...)
|
||||
b*)))
|
||||
(b* ch))))
|
||||
(define vec (vector fvs ...))
|
||||
(for ([e (in-vector vec)]
|
||||
[n (in-list (syntax->list (quote-syntax (fvs ...))))])
|
||||
|
|
Loading…
Reference in New Issue
Block a user