Welcome to the Dictionary of Programming Languages, a compendium
of computer coding methods assembled to provide information and
aid your appreciation for computer science history.
Browse the dictionary by clicking on a section:
Get a full dump of the dictionary:
List of Names
- Language type:
Dylan is a dynamic object-oriented language with
both procedural and functional features,
intended for application development and
system programming. It was developed
by Apple Computer in the mid-1990s.
The name stands for DYnamic LANguage.
The language syntax for Dylan is original,
but structurally resembles Scheme. The
language offers inheritance, type-safety,
polymorphism, garbage collection, macros,
modularity (named modules), reflections,
multi-methods, and extensibility.
Data types defined by the language include
a variety of numbers, strings, symbols,
various collections such as sequences, arrays,
vectors, and hash tables.
In Dylan, as in Smalltalk, everything is
an object. Even numbers are organized into
a class hierarchy. Functions are also
objects, and support a large number of
interesting mechanisms including
composition, currying, mapping, and reduction.
Classes are also objects, with support
for dynamic class definition and other
advanced OOP techniques.
Dylan facilities for GUI and database
programming have been implemented, and
most implementations of the language
permit interfacing with external C/C++
Implementations of Dylan are available for
most platforms including Unix, Macintosh,
and Windows. Dylan has been implemented as
an interpreter, as a C front-end, and as
a native compiler. Both free and
commercial systems exist. Some commercial
Dylan implementations provide a visual
- See Also:
Apple's advanced technology lab east invented
Dylan, and wrote one of the first compilers.
It was originally intended for the Macintosh,
but has been ported to many other computers.
The upcoming commercial supplier seems to be
Dylan has attacted a fair bit of attention
in the late 1990s as a good application
development language. It has not shown
any sign, however, of supplanting C++
- Sample code:
// A naive Quicksort in Dylan by Jon Sobel
define method quicksort (data ::
) => sorted-data ::
if (empty?(data) | empty?(tail(data)))
collect(head(data), tail(data), #(), #());
end method quicksort;
define method collect (pivot, data ::
, left-side, right-side)
=> sorted-data ::
(pivot < head(data)) =>
collect(pivot, tail(data), left-side, pair(head(data),
collect(pivot, tail(data), pair(head(data), left-side),
end method collect;
Descriptions in this dictionary are ©1997-99 Neal Ziring. Some
examples copyright of their respective authors. Some
technologies and languages are trademarked. Permission to
copy descriptions is granted as long as authorship credit is preserved.
Comments on this dictionary, corrections and suggestions, are all welcome.
Please use email, the address is firstname.lastname@example.org
[Ziring MicroWeb Home]
Dictionary and script maintained by Neal Ziring, last major modifications 3/18/98. Most recent
additions to dictionary and master list, 1/00.