Our Goals

We want to make the GNU development tools even better. Right now,
programmers can choose between many excellent compilers, text editors and
programming languages. We want to supplement these choices with an advanced
tool for building complex applications.

Ideally, it would have the following features. We won’t achieve this
vision any time soon, but it will give us inspiration during those
long sessions of coding.

A command-line compiler. There’s no point in throwing
tradition out the window, is there? A command-line compiler allows
Makefiles to work gracefully, and is preferred by many developers.

A graphical IDE. Other people like a good, integrated
environment. This should include online help, a database of definitions and
cross references, a debugger and an interface builder. It should be
possible to use an external text editor for the actual coding (perhaps via
CORBA). Fortunately, Dylan was designed with intent of having such tools
(see the screenshots of Apple Dylan), and d2c
is already modularized in most of the right places.

The IDE should also be modular and extensible. We want to allow people
to add a database interface builder or duplicate the features
of Source Navigator.

Tools for novice and expert developers. A good
environment should be usable by both novice developers (folks who just want
to build a simple database front end) and hardcore hackers (people who want
to build a non-linear video editor in a mixture of C and Dylan, for
example).

An open source license. We use a license
similar to that used by X11. It contains no significant restrictions,
but disclaims all warranties. Some of the components we distribute
were obtained from Functional Objects and are distributed under the LGPL.

Support for important free software. Gwydion
Dylan must play nicely with all the standard GNU and Unix tools. Even if it
doesn’t support a particular program, it must be a good citizen in a
standard GNU environment.

Desktop integration. Gwydion Dylan should also work
well with modern free desktops. This means supporting a popular widget set
(Gtk+), and allowing applications written in Dylan to implement important
Gnome and KDE protocols with as little effort as possible.

DUIM. The Dylan User Interface Manager (DUIM)
is a portable GUI toolkit designed by Harlequin/Functional Objects. We
have begun to adapt DUIM using a Gtk+ backend (since the two libraries
have a very similar design), though some work remains to be done.

Seamless support for C libraries. Most Unix
libraries are written in C, and it would be impossible (and undesirable) to
duplicate them all in Dylan. It should be just as easy to use a C library
from Dylan as it is from C.

Portability to other platforms. Gwydion Dylan
should remain a portable compiler, and standard libraries should not make
assumptions which would prevent a third party from porting them to Rhapsody
or the BeOS.

Related Information

For more background, you might want to check out the goals of other
Dylan implementors:

The Gwydion Group’s original white paper

The Gwydion Group at CMU had a very ambitious vision for Gwydion
Dylan. This paper from 1993 explains what they originally intended to
accomplish.