racket/collects/scheme/modspec-forms.ss
Eli Barzilay 3c29bbda9d * Moved the srfi-4 functionality back into the foreign library, so its
available from there instead of only from srfi/4
* Added scheme/modspec-forms with `matching-identifiers-in' for a
  generic regexp-based selection of identifiers
* Used this new form to get make srfi/4 reprovide the relevant stuff
  from foreign
* Did the same for srfi/66 (and added the missing renames etc to
  foreign)

svn: r8944
2008-03-11 13:06:29 +00:00

20 lines
620 B
Scheme

#lang scheme/base
(require (for-syntax scheme/base scheme/require-transform))
(provide matching-identifiers-in)
(define-syntax matching-identifiers-in
(make-require-transformer
(lambda (stx)
(syntax-case stx ()
[(_ rx spec)
(regexp? (syntax-e #'rx))
(let*-values ([(rx) (syntax-e #'rx)]
[(imports sources) (expand-import #'spec)])
(values
(filter (lambda (i)
(regexp-match? rx (symbol->string
(syntax-e (import-local-id i)))))
imports)
sources))]))))