racket/collects/honu-module/private/util.ss
2005-05-27 18:56:37 +00:00

20 lines
424 B
Scheme

(module util mzscheme
(provide extract-until)
(require (lib "stx.ss" "syntax"))
(define (extract-until r ids)
(let loop ([r r][val-stxs null])
(cond
[(stx-null? r)
(values #f #f)]
[(and (identifier? (stx-car r))
(ormap (lambda (id)
(module-identifier=? id (stx-car r)))
ids))
(values (reverse val-stxs) r)]
[else
(loop (stx-cdr r) (cons (stx-car r) val-stxs))]))))