On this page:
8.1 Require and Provide
require/ provide
8.2 PLane T Packages

8 Modules

8.1 Require and Provide

 (require (planet cce/scheme:6:0/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)

  (false true symbol=? false? boolean=? negate 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))

This require transformer imports the file at path in the current planet package. For instance, in this package (cce/scheme:6:0), writing:
  (require (this-package-in function))
... is equivalent to writing:
  (require (planet cce/scheme:6:0/function))

8.2 PLaneT Packages

 (require (planet cce/scheme:6:0/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:6:0/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:6:0/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.