Gwydion Dylan Library Reference Guide

Edited by

Peter Housel

Andreas Bogk

Neel Krishnaswami

Douglas Auclair

Use and copying of this software and preparation of derivative works based on this software are permitted, including commercial use, provided that the following conditions are observed:

  • This copyright notice must be retained in full on any copies and on appropriate parts of any derivative works.

  • Documentation (paper or online) accompanying any system that incorporates this software, or any part of it, must acknowledge the contribution of the Gwydion Project at Carnegie Mellon University.

This software is made available "as is". Neither the authors nor Carnegie Mellon University make any warranty about the software, its performance, or its conformity to any specification.

Bug reports, questions, comments, and suggestions should be sent by E-mail to the Internet address .

Table of Contents
1. Introduction
2. The Dylan Library and Gwydion Dylan Extensions
Modules of the Dylan Library
The Dylan Module
The Extensions Module
Generally Useful Definitions
Debugger Customizations
Exiting Applications
The System Module
The Introspection Module
The Cheap-IO Module
3. The Streams Library
Discussing error conditions
Goals of the Library
Streams, growing sequences, and object identity
Streams Reference
General Stream Classes and Operations
File Stream Classes and Operations
4. The Standard-IO Library
The Standard-IO Library
5. The Format Library
The Format Module
Format Directives
Simple Example
Examples Using the %m Directive
6. The Format-Out Library
The Format-Out Module
7. The Print Library
Print Module
PPrint Module
8. The Collection-Extensions Library
Module self-organizing-list
Module subseq
Module vector-search
Module Sequence-Utilities
Predicate Functions
Creational Functions
Sequence Slicing
Finding Sequence Elements
Mapping and Reducing Functions
Associative Lists
Functions Not Yet Described
9. The table-extensions Library
The table-extensions Module
10. The string-extensions Library
Module character-type
The string-conversions Module
The string-hacking Module
The substring-search Module
11. The Regular-Expressions Library
Regular-expressions Module
Make-Foo vs. Foo Functions
Exported Names
Known Bugs
12. The Transcendental Library
Sine, Cosine, and Tangent
The pi Constants
The Inverse (Arc) Functions
The Hyperbolic Functions
The e Constants
The Logarithmic Functions
13. The Time Library
The Time Module
The Time-IO Module
Parse-Time Directives
14. The Random Library
The Random Module
15. The Matrix Library
Matrix Operations
16. The Parse-Arguments Library
A Simple Example
Parsing Arguments
Argument List Parsers
Option Parsers
Parsing an Argument List
Standard Option Parser Classes
Writing New Option Parser Classes
List of Figures
3-1. Streams library classes.
12-1. A right triangle
12-2. A right triangle
16-1. Sample command line.
16-2. Library declaration for a sample application using parse-arguments.
16-3. Source code for a sample application using parse-arguments, making use of the define argument-parser macro.
16-4. Source code for a sample application using parse-arguments.