xformat 0.3 Copyright (c) 1999 David Lichteblau (lichtebl@math.fu-berlin.de) Esthetics: ``Absolutely none. We're talking about FORMAT here.'' -- Guy L. Steele Jr. From X3J13 issue writeup FORMAT-COLON-UPARROW-SCOPE. Introduction ------------ Dylan's FORMAT as implemented by gd is even less powerful than printf(3). The few directives supported are a good compromise if maximum speed is to be achieved, but in terms of functionality not sufficient for a demanding application. xformat is an eXtended FORMAT implementation with support for Common Lisp's more than 32 format directives. For an introduction to FORMAT and further detailed information read the relevant parts of the Common Lisp specification, please. If you haven't got a local copy of the HyperSpec, you can find chapter 22.3, ``Formatted Output'' at http://www.harlequin.com/education/books/HyperSpec/Body/sec_22-3.html Please note that xformat has not been written from scratch. Essentially it is a translation of CMU Common Lisp's FORMAT implementation to Dylan. Any bugs or misinterpretations of the spec are the author's fault, of course. An efficiency note: Dylan's macro system is not powerful enough to do compile-time expansion of format strings, so currently xformat is only a format string interpreter. Expect xformat to be substantially slower than a properly done Common Lisp implementation of FORMAT. Documentation ------------- Sorry, there is no comprehensive xformat-specific documentation material. Please take the time to search around a bit: - General information about how to invoke the XFORMAT function can be found in USAGE. - FORMAT is described in the Common Lisp spec. The HyperSpec can be found at http://www.harlequin.com/education/books/HyperSpec/FrontMatter Chapter 22.3: ``Formatted Output'' is at http://www.harlequin.com/education/books/HyperSpec/Body/sec_22-3.html - Known differences between xformat and CL:FORMAT are documented in NOTES. Any related problems are documented there, too. History ------- from 0.2 to 0.3 - use libtool from 0.1 to 0.2 - unique unique-id-base - Makefile with `make install' support Installation ------------ So far, xformat has only been tested with Gwydion Dylan's d2c. Mindy is not supported, because xformat uses macros internally. Please fetch the Meta library (release 0.3 or newer) from ftp://berlin.ccc.de/pub/gd/contributions/ Compile and install Meta, then type: (expect irrelevant warnings) $ make $ make install # requires Gwydion Dylan 2.3.1