add `#%declare', require declaration of cross-phase persistent modules

original commit: 9e2cf2ab376a3461a1db943dfb35f6a152b70470
This commit is contained in:
Matthew Flatt 2013-07-22 10:34:39 -06:00
parent 6c624d531e
commit 0170b0a672
2 changed files with 4 additions and 5 deletions

View File

@ -40,9 +40,7 @@
#'body1 'module #'body1 'module
(append (kernel-form-identifier-list) (append (kernel-form-identifier-list)
(syntax->list #'(provide (syntax->list #'(provide
require require))))])
#%provide
#%require))))])
(syntax-case expanded (begin) (syntax-case expanded (begin)
[(begin body1 ...) [(begin body1 ...)
#`(doc-begin m-id post-process exprs body1 ... . body)] #`(doc-begin m-id post-process exprs body1 ... . body)]
@ -57,7 +55,8 @@
module module
module* module*
#%require #%require
#%provide)))) #%provide
#%declare))))
#`(begin #,expanded (doc-begin m-id post-process exprs . body))] #`(begin #,expanded (doc-begin m-id post-process exprs . body))]
[_else [_else
#`(doc-begin m-id post-process #`(doc-begin m-id post-process

View File

@ -8,7 +8,7 @@
(begin-for-syntax (begin-for-syntax
(define definition-ids ; ids that don't require forcing (define definition-ids ; ids that don't require forcing
(syntax->list #'(define-values define-syntaxes begin-for-syntax (syntax->list #'(define-values define-syntaxes begin-for-syntax
require provide #%require #%provide))) require provide #%require #%provide #%declare)))
(define stoplist (append definition-ids (kernel-form-identifier-list))) (define stoplist (append definition-ids (kernel-form-identifier-list)))
(define (definition-id? id) (define (definition-id? id)
(and (identifier? id) (and (identifier? id)