#lang scribble/doc @(require scribble/manual scribble/eval "../planet.ss" "eval.ss") @(require (for-label scheme "../require-provide.ss")) @title[#:style 'quiet #:tag "require-provide"]{Module Imports and Exports} @defmodule/this-package[require-provide] This module provides tools for managing the imports and exports of modules. @defform[(require/provide module-path ...)]{ Re-exports all bindings provided by each @scheme[module-path]. Equivalent to: @schemeblock[ (require module-path ...) (provide (all-from-out module-path ...)) ] } @defform[(define-planet-package name package)]{ Defines a shortcut @scheme[name] for importing modules from planet package @scheme[package]. Subsequently, @scheme[(name module)] is equivalent to @scheme[(planet package/module)] as a require path. For instance, to import the @scheme[text] and @scheme[web] modules from this package: @schemeblock[ (define-planet-package my-package cce/scheme) (require (my-package web) (my-package text)) ] The above @scheme[require] is equivalent to: @schemeblock[ (require (planet cce/scheme/web) (planet cce/scheme/text)) ] } @defform[(quote-require require-spec ...)]{ Produces the names exported by the @scheme[require-spec]s as a list of symbols. @examples[ #:eval (evaluator) (quote-require scheme/bool scheme/function) ] }