Moved unstable/cce/require-provide to unstable/require.
This commit is contained in:
parent
7131198974
commit
f6a190d3f3
|
@ -2,7 +2,7 @@
|
|||
|
||||
(require (for-syntax unstable/planet-syntax)
|
||||
unstable/planet-syntax
|
||||
"require-provide.ss")
|
||||
unstable/require)
|
||||
|
||||
(define-syntax (this-package-version-symbol stx)
|
||||
(syntax-case stx ()
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
|
||||
@include-section["set.scrbl"]
|
||||
|
||||
@include-section["require-provide.scrbl"]
|
||||
@include-section["planet.scrbl"]
|
||||
|
||||
@include-section["debug.scrbl"]
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
This module provides tools relating to @|PLaneT| packages. In addition to the
|
||||
binding described below, it provides @scheme[define-planet-package] and
|
||||
@scheme[this-package-in] from @schememodname[unstable/cce/require-provide], and
|
||||
@scheme[this-package-in] from @schememodname[unstable/require], and
|
||||
@scheme[make-planet-path], @scheme[syntax-source-planet-package],
|
||||
@scheme[syntax-source-planet-package-owner],
|
||||
@scheme[syntax-source-planet-package-name],
|
||||
|
|
|
@ -13,7 +13,7 @@ This module provides tools for Scribble documentation; specifically, of
|
|||
@|PLaneT| packages. In addition to the bindings described below, this module
|
||||
provides @scheme[this-package-version-symbol] from
|
||||
@schememodname[unstable/cce/planet], @scheme[this-package-in] from
|
||||
@schememodname[unstable/cce/require-provide], and
|
||||
@schememodname[unstable/require], and
|
||||
@scheme[make-scribble-evaluator] and @scheme[make-scribble-module-evaluator]
|
||||
from @schememodname[unstable/sandbox].
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
(require scheme/pretty
|
||||
srfi/67
|
||||
"../require-provide.ss")
|
||||
unstable/require)
|
||||
|
||||
(require/provide schemeunit schemeunit/text-ui)
|
||||
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
(require "checks.ss"
|
||||
"test-debug.ss"
|
||||
"test-planet.ss"
|
||||
"test-require-provide.ss"
|
||||
"test-scribble.ss"
|
||||
"test-set.ss")
|
||||
|
||||
|
@ -11,6 +10,5 @@
|
|||
(test-suite "scheme.plt"
|
||||
debug-suite
|
||||
planet-suite
|
||||
require-provide-suite
|
||||
scribble-suite
|
||||
set-suite))
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
#lang scheme
|
||||
|
||||
(require "checks.ss"
|
||||
"../require-provide.ss")
|
||||
|
||||
(provide require-provide-suite)
|
||||
|
||||
(define require-provide-suite
|
||||
(test-suite "require-provide.ss"))
|
|
@ -1,8 +1,8 @@
|
|||
#lang scheme
|
||||
#lang racket
|
||||
|
||||
(require (for-syntax scheme/match
|
||||
scheme/require-transform
|
||||
scheme/provide-transform
|
||||
(require (for-syntax racket/match
|
||||
racket/require-transform
|
||||
racket/provide-transform
|
||||
syntax/parse
|
||||
unstable/planet-syntax)
|
||||
unstable/define)
|
||||
|
@ -125,35 +125,7 @@
|
|||
src-sym)))
|
||||
orig-stx)]))
|
||||
|
||||
;; (do-local-require rename spec ...)
|
||||
;; Lifts (require spec ...) to the (module) top level, and makes the imported
|
||||
;; bindings available in the current context via a renaming macro.
|
||||
(define-syntax (do-local-require stx)
|
||||
(syntax-parse stx
|
||||
[(_ rename:id spec:expr ...)
|
||||
(let*-values ([(imports sources)
|
||||
(expand-import
|
||||
(datum->syntax
|
||||
stx
|
||||
(list* #'only-meta-in 0 (syntax->list #'(spec ...)))
|
||||
stx))]
|
||||
[(names) (map import-local-id imports)]
|
||||
[(reqd-names)
|
||||
(let ([ctx (syntax-local-get-shadower (datum->syntax #f (gensym)))])
|
||||
(map (lambda (n) (datum->syntax ctx (syntax-e n) n)) names))]
|
||||
[(renamed-imports) (map rename-import imports reqd-names)]
|
||||
[(raw-specs) (map import->raw-require-spec renamed-imports)]
|
||||
[(lifts) (map syntax-local-lift-require raw-specs reqd-names)])
|
||||
(with-syntax ([(name ...) names]
|
||||
[(lifted ...) lifts])
|
||||
(syntax/loc stx (rename [name lifted] ...))))]))
|
||||
|
||||
(define-syntax-rule (local-require spec ...)
|
||||
(do-local-require define-renamings spec ...))
|
||||
|
||||
(provide require/provide
|
||||
do-local-require
|
||||
local-require
|
||||
quote-require
|
||||
define-planet-package
|
||||
define-collection
|
|
@ -1,15 +1,11 @@
|
|||
#lang scribble/doc
|
||||
@(require scribble/manual
|
||||
scribble/eval
|
||||
"../scribble.ss"
|
||||
"eval.ss")
|
||||
@(require (for-label scheme unstable/cce/require-provide))
|
||||
#lang scribble/manual
|
||||
@(require scribble/eval "utils.rkt" (for-label racket unstable/require))
|
||||
|
||||
@title[#:style 'quiet #:tag "cce-require-provide"]{Require and Provide}
|
||||
@title{Requiring Modules}
|
||||
|
||||
@defmodule[unstable/cce/require-provide]
|
||||
@defmodule[unstable/require]
|
||||
|
||||
This module provides tools for managing the imports and exports of modules.
|
||||
This module provides tools for importing from modules.
|
||||
|
||||
@defform[(require/provide module-path ...)]{
|
||||
|
||||
|
@ -27,31 +23,12 @@ Re-exports all bindings provided by each @scheme[module-path]. Equivalent to:
|
|||
Produces the names exported by the @scheme[require-spec]s as a list of symbols.
|
||||
|
||||
@examples[
|
||||
#:eval (evaluator 'unstable/cce/require-provide)
|
||||
(quote-require scheme/bool scheme/function)
|
||||
#:eval (eval/require 'unstable/require)
|
||||
(quote-require racket/bool racket/function)
|
||||
]
|
||||
|
||||
}
|
||||
|
||||
@defform[(local-require require-spec ...)]{
|
||||
|
||||
This form performs a require into a local definition context. It achieves this
|
||||
by lifting a @scheme[#%require] form to the top level and introducing the
|
||||
bindings locally with rename transformers. For many purposes this is the same
|
||||
as a regular @scheme[require]; however, only bindings for the current phase are
|
||||
made available, and all names are introduced as syntax bindings even if the
|
||||
exported identifiers included value bindings.
|
||||
|
||||
}
|
||||
|
||||
@defform[(do-local-require rename require-spec ...)]{
|
||||
|
||||
This form generalizes @scheme[do-local-require] to use an arbitrary macro
|
||||
@scheme[rename] (of the same syntactic form as @scheme[define-renamings]) to
|
||||
introduce local bindings.
|
||||
|
||||
}
|
||||
|
||||
@defform[(define-planet-package name package)]{
|
||||
|
||||
Defines a shortcut @scheme[name] for importing modules from planet package
|
|
@ -87,6 +87,7 @@ Keep documentation and tests up to date.
|
|||
@include-section["pretty.scrbl"]
|
||||
@include-section["queue.scrbl"]
|
||||
@include-section["regexp.scrbl"]
|
||||
@include-section["require.scrbl"]
|
||||
@include-section["sandbox.scrbl"]
|
||||
@include-section["srcloc.scrbl"]
|
||||
@include-section["string.scrbl"]
|
||||
|
|
Loading…
Reference in New Issue
Block a user