racket/collects/scribblings/guide/guide.scrbl
Matthew Flatt c59c7ebab7 revised 'for' and docs
svn: r6400
2007-05-30 03:10:57 +00:00

128 lines
4.0 KiB
Racket

#reader(lib "docreader.ss" "scribble")
@require[(lib "manual.ss" "scribble")]
@require[(lib "eval.ss" "scribble")]
@require["guide-utils.ss"]
@title{A Guide to PLT Scheme}
This guide is intended for programmers who are new to Scheme, new to PLT
Scheme, or new to some part of PLT Scheme. It assumes some
programming experience, so if you are new to programming, consider
instead reading @|HtDP|. If you want a quick and pretty overview of PLT
Scheme, start with @|Quick|.
@seclink["to-scheme"]{Chapter 2} provides a brief introduction to
Scheme. From @seclink["datatypes"]{Chapter 3} on, this guide dives
into details---covering much of the PLT Scheme toolbox, but leaving
precise details to @|MzScheme| and other reference manuals.
@table-of-contents[]
@include-section["welcome.scrbl"]
@include-section["to-scheme.scrbl"]
@include-section["data.scrbl"]
@include-section["define-struct.scrbl"]
@include-section["forms.scrbl"]
@; ----------------------------------------------------------------------
@section[#:tag "contracts"]{Contracts}
In the reference manual, the documentation for each procedure
describes the acceptable arguments and the result of the procedure
using @idefterm{contracts}.
@; ----------------------------------------------------------------------
@section[#:tag "classes"]{Classes and Objects}
@; ----------------------------------------------------------------------
@section[#:tag "control"]{Exceptions and Control}
@; ----------------------------------------------------------------------
@section[#:tag "threads"]{Threads}
@; ----------------------------------------------------------------------
@section[#:tag "i/o"]{I/O and Networking}
@; ----------------------------------------------------------------------
@section[#:tag "regexp"]{Regular-Expression Matching (Regexps)}
@; ----------------------------------------------------------------------
@section[#:tag "match"]{Pattern Matching}
@; ----------------------------------------------------------------------
@section[#:tag "units"]{Higher-Order Modules (Units)}
@; ----------------------------------------------------------------------
@section[#:tag "macros"]{Syntactic Extension (Modules and Macros)}
@; ----------------------------------------------------------------------
@section[#:tag "reflection"]{Reflection and Dynamic Evaluation}
@; ----------------------------------------------------------------------
@section[#:tag "macros"]{Reader Extension}
@; ----------------------------------------------------------------------
@section[#:tag "security"]{Security}
@; ----------------------------------------------------------------------
@section[#:tag "memory-management"]{Memory Management}
@; ----------------------------------------------------------------------
@section[#:tag "performance"]{Performance}
@; ----------------------------------------------------------------------
@section[#:tag "ffi"]{Foreign-Function Interface (FFI)}
@; ----------------------------------------------------------------------
@section[#:tag "scripts"]{Scripts}
@; ----------------------------------------------------------------------
@section[#:tag "gui"]{Graphical User Interfaces (GUIs)}
@; ----------------------------------------------------------------------
@section[#:tag "tools"]{More Tools}
In the @seclink["intro"]{introduction}, we mentioned that PLT Scheme
includes more tools bsides DrScheme and MzScheme:
@itemize{
@tool["MrEd"]{extends MzScheme with graphical user interface (GUI)
and drawing primitives}
@tool["Setup PLT"]{a command-line tool for installation tasks}
@tool["planet"]{a command-line tool for managing packages that are
normally downloaded automatically, on demand}
@tool["mzc"]{a command-line tool for miscellaneous tasks, such as
compiling Scheme source, compiling C-implemented extensions to the
run-time system, generating executables, and building distribution
packages}
}
@; ----------------------------------------------------------------------
@index-section["guide-index"]