GNU TeXmacs is a free wysiwyw (what you see is what you want) editing platform with special features for scientists. The software aims to provide a unified and user friendly framework for editing structured documents with different types of content: text, mathematics, graphics, interactive content. TeXmacs can also be used as an interface to many external systems for computer algebra, numerical analysis, and statistics. New presentation styles can be written by the user and new features can be added to the editor using Scheme.
AutoGen is a tool designed for generating program files that contain repetitive text with varied substitutions. Its goal is to simplify the maintenance of programs that contain large amounts of repetitious text. This is especially valuable if there are several blocks of such text that must be kept synchronized. Output is specified with a Scheme-enhanced output template. Input, if required by your template, may come from AutoGen definitions, CGI data, or XML files.
VRR is a vector image editor designed especially (but not only) for making illustrations of mathematical articles. Its main features are many types of geometric objects and keeping of their dependencies, cooperation with TeX, scripting in Scheme, real-size dimensions, support for a wide range of file formats (including PS, EPS, PDF, and SVG).
The Kawa Scheme System is a full Scheme implementation, completely written in Java. Scheme functions and files are automatically compiled into Java byte-codes. Kawa does some optimizations, and the compiled code runs at a reasonable speed. It provides the usual read-eval-print loop, as well as batch modes. The Kawa compilation framework is also useful for implementing other languages on top of JVM. There is active development of XQuery (the XML query language), and less active development of Emacs Lisp, Common Lisp, and EcmaScript.
The Functional XML Parsing Framework is a package of low-to-high-level lexing and parsing procedures that can be combined to yield a SAX, DOM, validating parsers, or a parser intended for a particular document type. The procedures in the package can be used separately to tokenize or parse various pieces of XML documents. The package supports XML namespaces, character, internal, and external parsed entities, xml:space, attribute value normalization, processing instructions and CDATA sections. It is intended to be a framework, a set of "Lego blocks" you can use to build a parser that follows DOM, SAX, or another discipline, and performs validation to any degree. As an example of such parser construction, the package includes a semi-validating SXML parser. It converts XML to SXML, an instance of XML Infoset as S-expressions, an abstract syntax tree of an XML document. SXML can be queried (in a XPath style), transformed, and evaluated. The framework parses XML in a pure functional style, as folding over a text XML document considered a spread-out tree. The input port is treated as a linear, read-once parameter. The framework's code does not use assignments at all.
Skribe is a text processor. It is a general purpose tool, but it best suits the writing of technical documents such as Web pages or technical reports, API documentation, etc. At first glance, it looks like a markup language such as HTML, so there is no need for computer programming skills to use it. A second look reveals that it is actually a true programming language based on Scheme, provided with high-level features (such as objects, higher order functions, regular and syntactic parsing, etc.). It is the successor of Scheme Scribe.