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.
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.
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.
FramerD is a semi-structured object database integrated with a Scheme-based scripting language which supports multi-lingual programming (with pervasive Unicode), a stable module system for programming in the large, distributed applications (via an extensible RPC protocol), non-deterministic (PROLOG-like) evaluation for search and set operations, multi-threaded program execution, extensive tools for text and language analysis, built-in HTML/XML/MIME parsers, and intuitive (CGI- and FastCGI-based) Web scripting. The built-in object database robustly supports millions of objects and indexed access to those objects, both through disk files and networked servers.
SCRIBE is a text processor. Even if it is a general purpose tool, it best suits the writing of technical documents such as web pages or technical reports, API documentations, etc. At first glance, it looks like a mark-up language a la 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.).
Scheme Note is a Scheme-like music file format and MIDI conversion tool. It takes a text file, which is a representation of a song, loosely tied to a MIDI-like event structure, and outputs a corresponding MIDI file. It is hand-editable for simple songs, and should be very easy to parse for a GUI.