On this page:
9.1 Require and Provide
require/ provide
9.2 PLane T Packages
Version: 5.1.3

9 Modules

9.1 Require and Provide

 (require (planet cce/scheme:7:5/require-provide))

This module provides tools for managing the imports and exports of modules.

(require/provide module-path ...)
Re-exports all bindings provided by each module-path. Equivalent to:

(require module-path ...)
(provide (all-from-out module-path ...))

(quote-require require-spec ...)
Produces the names exported by the require-specs as a list of symbols.


> (quote-require scheme/bool scheme/function)

'(true false symbol=? false? boolean=? thunk* thunk negate identity curryr curry const)

(local-require require-spec ...)
This form performs a require into a local definition context. It achieves this by lifting a #%require form to the top level and introducing the bindings locally with rename transformers. For many purposes this is the same as a regular 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.

(do-local-require rename require-spec ...)
This form generalizes do-local-require to use an arbitrary macro rename (of the same syntactic form as define-renamings) to introduce local bindings.

(define-planet-package name package)
Defines a shortcut name for importing modules from planet package package. Subsequently, (name module) is equivalent to (planet package/module) as a require path. For instance, to import the text and web modules from this package:

(define-planet-package my-package cce/scheme)
(require (my-package web) (my-package text))

The above require is equivalent to:

(require (planet cce/scheme/web) (planet cce/scheme/text))

(define-collection name collect)
Defines a shortcut name for importing modules from collect and its subcollections. Subsequently, (name) is equivalent to collect as a require path, and (name path) is equivalent to collect/path.

(define-collection macro syntax)
(require (macro parse))

The above require is equivalent to the below:

(require syntax/parse)

This require transformer imports the file at path in the current planet package. For instance, in this package (cce/scheme:7:5), writing:

(require (this-package-in function))

... is equivalent to writing:

(require (planet cce/scheme:7:5/function))

9.2 PLaneT Packages

 (require (planet cce/scheme:7:5/planet))

This module provides tools relating to PLaneT packages. In addition to the binding described below, it provides define-planet-package and this-package-in from (planet cce/scheme:7:5/require-provide), and make-planet-path, syntax-source-planet-package, syntax-source-planet-package-owner, syntax-source-planet-package-name, syntax-source-planet-package-major, syntax-source-planet-package-minor, and syntax-source-planet-package-symbol from (planet cce/scheme:7:5/syntax).

Produces a symbol corresponding to a planet module path for the current planet package, possibly with a ‹path› (from the grammar of planet module specs) into the package. This is similar to this-package-version and similar tools from planet/util.