racket/collects/scribblings/reference/init.scrbl
Matthew Flatt 899a3279c2 add experimental support for "phaseless" modules
The intent is to support phase-crossing data such as the `exn:fail:syntax'
structure type that is instantiaed by macros and recognized by contexts
that use `eval' or `expand'. Phaseless modules are highly constrained,
however, to avoid new cross-phase channels, and a module is inferred to
be phaseless when it fits syntactic constraints.

I've adjusted `racket/kernel' and improved its documentation a little
so that it can be used to implement a phaseless module (which can
import only from other phaseless modules).

This change also adds a `flags' field to the `mod' structure type
from `compiler/zo-structs'.
2013-02-26 14:55:28 -07:00

43 lines
1.9 KiB
Racket

#lang scribble/doc
@(require "mz.rkt" (for-label racket/pretty racket/gui/base))
@title{Init Libraries}
@defmodule*/no-declare[(racket/init)]{The @racketmodname[racket/init]
library is the default start-up library for Racket. It re-exports
the @racketmodname[racket], @racketmodname[racket/enter] and
@racketmodname[racket/help] libraries, and it sets
@racket[current-print] to use @racket[pretty-print].}
@defmodule*/no-declare[(racket/gui/init)]{The
@racketmodname[racket/gui/init] library is the default start-up
library for GRacket. It re-exports the @racketmodname[racket/init] and
@racketmodname[racket/gui/base] libraries, and it sets
@racket[current-load] to use @racket[text-editor-load-handler].}
@defmodule*/no-declare[(racket/language-info)]{The
@racketmodname[racket/language-info] library provides a
@racketidfont{get-info} function that takes any value and returns
another function; the returned function takes a key value and a
default value, and it returns @racket['(#(racket/runtime-config
configure #f))] if the key is @racket['configure-runtime] or the
default value otherwise.}
@guidealso["module-runtime-config"]
The vector @racket['#(racket/language-info get-info #f)] is suitable
for attaching to a module as its language info to get the same
language information as the @racket[racket/base] language.
@defmodule*/no-declare[(racket/runtime-config)]{The
@racketmodname[racket/runtime-config] library provides a
@racketidfont{configure} function that returns another function; the
returned function takes an value ans set @racket[print-as-expression]
to @racket[#t].}
The vector @racket[#(racket/runtime-config configure #f)] is suitable
as a member of a list of runtime-configuration specification (as
returned by a module's language-information function for the key
@racket['configure-runtime]) to obtain the same runtime configuration as
for the @racketmodname[racket/base] language.