The Dylan Language Standard

From 1992 to 1995, the Dylan Language was defined and refined by Apple Computer, in cooperation with other members of the Dylan community. The culmination of this effort was a draft Dylan Reference Manual (or DRM-TR for short), which was released along with the "Apple Dylan Technology Release" software, in November 1995. Andrew Shalit, the principal author of the DRM-TR, has since written an updated version, incorporating many corrections and clarifications suggested by the Dylan community. This updated Dylan Reference Manual (or DRM for short) was published by Addison-Wesley in September 1996. The book is 470 pages, and its ISBN number is 0-201-44211-6. It is available for purchase at a discount at Functional Objects, inc.

The DRM-TR has been superceeded by the DRM which is now available here at the Gwydion Dylan Maintainers web site.

You can see a list of what's new on these pages.

The Dylan Reference Manual is meant as a reference work for programmers and language implementors. For people who want to start learning and using Dylan, the book Dylan Programming is more appropriate. The authors are Neal Feinberg, Sonya E. Keene, Robert O. Mathews, and P. Tucker Withington.

Dylan Programming is a tutorial on programming in Dylan. It is full of examples, hints, and practical advice. It starts with the most basic use of Dylan (including an object-oriented tutorial), and proceeds to more advanced topics such as multiple inheritance, performance, exceptions, and macros. The book is 412 pages, and its ISBN number is 0-201-47976-1.

You can see other introductory material on Dylan at the web sites for the Gwydion Dylan Maintainers and Functional Developer.

The Evolution of the Dylan Language Standard

There will be an inevitable need to update the Dylan language even now, after the DRM has been published. There is also a need to define libraries that are not part of the language but are agreed to be standard.

The Dylan community, lead by Harlequin and CMU, had established a procedure whereby change proposals (in a standard format) can be sent to the dylan-partners@camellia.org mailing list. Proposals were discussed on that list by interested participants. A moderator was responsible for setting a reasonable cut-off date for comments on each proposal, recording the consensus decision in the evolving language standard documents (here on these pages), and making decisions when there is a lack of consensus. Currently, Kim Barrett maintains the Dylan Language standard.

In addition, a list of DRM errata is being maintained by Andrew Shalit.

Open Proposals

No language change proposals are currently open. Or, for that matter, are being accepted.

  1. Dylan Source Character Set. Opened 9 January 1997.
  2. Threads Library. Opened 9 April 1997; implemented as part of the Common-Dylan specification.

Accepted Proposals

  1. Define Function. Accepted 31 December 1996.

Rejected Proposals

No language change proposals have been rejected yet.

List of Standard Libraries

The Common-Dylan specification, which is not to be found in written form, but has an implementation and documentation as Functional Developer's Common Dylan and System and I/O libraries is the agreed-on standard.

The below libraries where the libraries that began discussions on the common-dylan specification:

  1. Interface to non-Dylan code (Melange/Collage)
  2. Graphical User Interface and Event Handling (Silica/DUIM)
  3. Streams
  4. Integers (e.g., unlimited precision integers)
  5. Print (Print and Pretty-print modules) and Format libraries
  6. Format-out and Standard-io Libraries
  7. Implementation-interrogation or Platform-query Library
  8. Language extensions (e.g., one-of, false-or)

Kim Barrett - Updated August 19, 2001