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.
For more background, you might want to check out the goals of other Dylan implementors:
The Gwydion Group at CMU had a very ambitious vision for Gwydion Dylan. This paper from 1993 explains what they originally intended to accomplish.