Racket (formerly PLT Scheme) is a programming language suitable for implementation tasks ranging from scripting to application development, including GUIs, Web services, etc. It includes the DrRacket programming environment, a virtual machine with a just-in-time compiler, tools for creating stand-alone executables, the Racket Web server, extensive libraries, documentation for both beginners and experts, and more. It supports the creation of new programming languages through a rich, expressive syntax system. Example languages include Typed Racket, ACL2, FrTime, and Lazy Racket.
Geiser is a generic Emacs/Scheme interaction mode, featuring an enhanced REPL and a set of minor modes that improve Emacs' basic major mode for Scheme. The main features provided are evaluation of forms in the namespace of the current module, macro expansion, loading of files and modules, namespace-aware identifier completion, automatic documentation, jumping to the definition of an identifier, access to documentation, listings of identifiers exported by a given module, and rudimentary support for debugging. Geiser supports Guile and Racket.