summaryrefslogtreecommitdiff
path: root/lang/dylan/pkg-descr
blob: 52863c9162428edd61012f25a7f4bcd5ad260ade (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
This is a port of the CMU Gwydion project's implementation of the
Dylan programming language.  Dylan is an object-oriented language with
many powerful features, including automatic memory management (garbage
collection), generic functions (also known as multiple dispatch or
multi-methods), multiple inheritance, a powerful and safe macro
facility for extending the language's syntax, and a powerful class and
function library.  Though it is a DYnamic LANguage, it includes
facilities for making compiled programs more efficient than many other
dynamic languages.

The Dylan language was originally developed by Apple, but the project
was dropped just as the language definition was being finished and
before a production-quality compiler was complete.  The Gwydion
project and Harlequin have continued use and development of the
language.

Gwydion Dylan actually contains two implementations of the language.
One, called Mindy (Mindy Is Not Dylan Yet), is a bytecode compiler and
interpreter that implements most of the language except for the macro
facility.  The other, d2c, is a compiler for the full language that
uses C as its target "assembly language".  The d2c compiler was
written in Dylan and bootstrapped using Mindy.

A copy of the d2c compiler binary is required by the port to
bootstrap the entire system.  As the Gwydion documentation says,

 Recompiling the entire system takes over an hour on 64meg 200mhz
 Pentium Pro running Windows/NT. This is almost all for the
 compilation of the d2c runtime and compiler; compiling just Mindy
 takes only a few minutes. d2c also uses lots of memory, especially
 when compiling itself: you want at least 48 meg, and more is
 better.

For more information about Gwydion Dylan, see the Gwydion Dylan maintainers
WWW: http://www.gwydiondylan.org/

-Peter S. Housel- housel@acm.org