Geiser is a generic Emacs/Scheme interaction mode, featuring an enhanced REPL and a set of minor modes improving Emacs' basic scheme major mode. Geiser supports Racket and Guile. Main functionalities: - Evaluation of forms in the namespace of the current module. - Macro expansion. - File/module loading. - Namespace-aware identifier completion (including local bindings, names visible in the current module, and module names). - Autodoc: the echo area shows information about the signature of the procedure/macro around point automatically. - Jump to definition of identifier at point. - Direct access to documentation, including docstrings (when the implementation provides them) and user manuals. - Listings of identifiers exported by a given module (Guile). - Listings of callers/callees of procedures (Guile). - Rudimentary support for debugging (list of evaluation/compilation error in an Emacs' compilation-mode buffer). - Support for inline images in schemes, such as Racket, that treat them as first order values. Chicken Addendum: These steps are necessary to fully support Chicken Scheme, but are not required for any other scheme. - Install the necessary support eggs: $ chicken-install -s apropos chicken-doc - Update the Chicken documentation database: $ cd `csi -p '(chicken-home)'` $ curl http://3e8.org/pub/chicken-doc/chicken-doc-repo.tgz | sudo tar zx See http://www.nongnu.org/geiser/ for the full manual in HTML form, or the the info manual installed by this package. Author: http://jao.io