[plt-scheme] help-desk -> plt-help, Check Syntax, and `help' in mzscheme

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Mon Dec 17 11:38:05 EST 2007

In the SVN trunk (v3.99.0.4), the `help-desk' executable has been
replaced by the `plt-help' executable, which is a command-line tool
that searches the documentation and opens a browser to show the result.

For example,

 plt-help lambda

opens a locally generated HTML page with results from a search for

In DrScheme, Check Syntax now hyperlinks documented identifiers to
their documentation. For example, if you put the program

 #lang scheme
 (lambda (x) (add1 x))

and click Check Syntax, then you can right-click on `lambda' or `add1'
to open the corresponding documentation. More generally, when you see a
beige background when mousing over an identifier, then documentation is
available via a right click.

Finally, you can use the new `help' form in MzScheme, which is
sensitive to the bindings in its environment. For example, if you start
`mzscheme' with no command-line arguments and evaluate

 (help lambda)

then your browser is opened directly to the documentation for the
`lambda' form. Similarly,

 (help frame% #:from scheme/gui)

takes you directly to the `frame%' documentation in the MrEd

If you expect to look up many MrEd bindings, you can import all of the
MrEd bindings using `for-label':

 (require (for-label scheme/gui))
 (help frame%)
 (help menu%)

Note that `(require scheme/gui)' won't work in plain MzScheme, because
the GUI run-time support is available only in MrEd. But `for-label'
lets you import bindings to use with `help' without actually running
the module that supplies the bindings.

There's also a #:search variant for `plt-help'-style searching:

 (help #:search lambda)

For more information on the `help' form, evaluate just `help' in

This is just a taste of what we'll be able to offer with the new
documentation system. Stay tuned for more.


Posted on the users mailing list.