Welcome to Open Dylan!
======================

Open Dylan is an open source implementation of the Dylan programming
language, plus a large number of assorted libraries.  Most of the code
was originally developed by a company called Harlequin, for a product
called Harlequin Dylan.  After Harlequin's demise, some of the
programmers acquired the rights, and kept selling the development
environment under the name of Functional Developer.  Eventually, to
the joy of the Dylan community, they decided to release all of their
source code under an open source license.  What you are holding in
your hands is the attempt of a group of enthusiasts calling themselves
the "Dylan Hackers" to bundle up this code, and publish it in a form
useful for the general public.

This release is Open Dylan 2011.1. We expect this release to have bugs.
We're interested in getting your feedback, in order to improve this product.
Write to hackers@opendylan.org or report a bug via github (https://github.com/dylan-lang/opendylan/issues). We can also help via IRC,
just drop by on irc.freenode.net in channel #dylan .


Requirements
============

This tarball contains the port of Open Dylan to Linux on x86 CPUs.  So,
you should have that, or an emulation thereof, to run this distribution.
More specifically, due to the usage of thread-local storage, the
minimum requirements are:

 * Linux kernel 2.6 (or newer)
 * glibc 2.3 (or newer)


Installation
============

This tarball is set up to be extracted in /opt, resulting in the
creation of a directory /opt/opendylan-2011.1.  You just have to add
/opt/opendylan-2011.1/bin to your PATH:

  $ export PATH=/opt/opendylan-2011.1/bin:$PATH    # for bash

or

  $ setenv PATH /opt/opendylan-2011.1/bin:$PATH    # for tcsh


Usage
=====

You're now set to use the compiler:

  $ dylan-compiler -build hello-world

This will build the hello-world application, provided with this
distribution, together with all dependent libraries, from source.
Build products will end up in ~/Open-Dylan/ in the following
directories:

  build            # intermediate build products
  lib              # libraries
  bin              # executables
  databases        # compiler databases

Provided that ~/Open-Dylan/bin is in your path, you can try it out:

  $ hello-world
  Hello, there!

If you wish to change the place where files are kept, you can set an
environment variable to have it leave the files somewhere else:

  $ export OPEN_DYLAN_USER_ROOT=~/opendylan-build

For generating the initial boilerplate for a new Dylan project, a perl
script named make-dylan-app is provided.  It takes one argument, the
name of the new library, and generates a set of Dylan files that you
can then modify.

  $ make-dylan-app my-lib
  $ cd my-lib
  $ dylan-compiler -build my-lib.lid
  $ my-lib
  Hello, world!


Documentation
=============

Documentation is still scattered around a number of places.  One of the
most important documents is certainly the Dylan Reference Manual,
specifying the language standard:

  http://opendylan.org/books/drm/

Documentation for language extensions and libraries can be found at
the Open Dylan website too:

  http://opendylan.org/documentation

Still more documentation can be found on github (especially in the
documentation repository):

  https://github.com/dylan-lang/
