[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Beta Release of Yale Haskell

	     Announcing the Beta Release of Yale Haskell

The Beta release of Yale Haskell is now available via anonymous ftp
from Yale.  It is an essentially complete implementation of Haskell
(exceptions listed below) that has been fairly well exercised locally
(including its use in a course this semester) and at a few select
non-local sites.  On the other hand, it is still not a fully tested
system, and users are asked to be patient while the system matures.

Features of the Yale Haskell System include:

1) An optimizing compiler for Haskell that is compliant with Haskell
   Report 1.0 except that:
   a) We have been tracking corrections/improvements to the Report,
      so that in reality it is almost Haskell 1.1, the Report for
      which is due to be released shortly.
   b) Derived instances for tuples whose length is > 4 are not supported.
   c) ASCII interface files (reading or printing thereof) are not supported.
   d) The I/O system is missing about 5% of its functionality.

2) A GNU Emacs "Haskell Mode" is provided that supports interactive,
   incremental program development.  This is the preferred way to use
   Yale Haskell, since it takes advantage of Haskell's incremental
   compilation capabilities, and in addition allows one to define
   incremental extensions relative to any given module.  Mutually
   recursive modules are permitted by enclosing them in a
   "compilation unit".

3) The compiler and run-time system (that supports garbage collection,
   I/O, etc.) are built atop Yale's T System (T is a Scheme dialect).
   Through it we provide: a primitive, Lisp-style read-eval-print-loop; 
   two levels of code optimization, one featuring fast compilation,
   the other featuring fast run-time code; an interface to T's foreign
   language interface (as an example of its use, a project underway will
   provide an interface to Xlib via extensions to Haskell I/O).

The Beta release of Yale Haskell is available in two forms: an
executable Sparc version for Sun 4's, and a full source distribution
from which one can build one's own executable version.  We advise
using the executable version which is easily installed.  The full
sources are mainly for those wishing to see the inside of our system.
Although in the future we will be encouraging users to extend and
modify our compiler, the current sources are still being revised.  We
do not advise working on the internals of the system yet.

Building the system on other T platforms is one of our goals, but we
have not had the time to do so yet.  As we successfully create new
executables they will be made available; we will soon be seeking sites
willing to assist us in porting the system to other machines.

We are eager to get bug reports for this system but we do not plan to
provide updated systems or bug fixes until the next release, which will
also be compliant with the new release of the Report (1.1).

Known deficiencies of the system include:

1) Unfriendly error handling.
2) Adequate but minimal documentation.  
3) Poor debugging facilities.
4) Problems due to the T System; in particular, slow compilation of
   large programs and slow GC.

We expect to fix most of these problems in the next release.

Getting an Executable Distribution

The executable release of Yale Haskell is ready to use after some
simple system configuration.  Follow these steps to get it installed
at your site:

  - Do anonymous ftp to nebula.cs.yale.edu (
  - Pull the tar file for the compiler (haskell-v1.0-0-exec-sparc.tar.Z)
    residing in the pub/haskell-compile directory and place it	
    in the directory in which Haskell is to reside.
  - Uncompress and untar the file on your machine:
           uncompress haskell-v1.0-0-exec-sparc.tar.Z
	   tar xf haskell-v1.0-0-exec-sparc.tar

To actually run the system, REFER TO THE YALE HASKELL USERS GUIDE
which is in the "doc" directory as haskell.dvi or haskell.ps.

Getting a Full Distribution

To get the full distribution (i.e. sources but no executable), follow
these steps:

  - Do anonymous ftp to nebula@cs.yale.edu
  - Pull the tar file for the compiler (haskell-v1.0-0.tar.Z)
    residing in the pub/haskell-compile directory and place it	
   in the directory in which Haskell is to reside.
  - Uncompress and untar the file on your machine:
           uncompress haskell-v1.0-0.tar.Z
	   tar xf haskell-v1.0-0.tar

The Yale Haskell compiler is written in T.  You need to have T
(version 3.1) at your site only if you are planning to use the full
distribution.  Only version T3.1 will work, which can be obtained via
ftp in the following way:

  - Do anonymous ftp to wheaties.ai.mit.edu
  - Pull the README file out of the pub/systems/t3.1 directory

The README file contains the information to ftp T.

The full distribution does not provide an executable image; the entire
system must be created from the sources.  The installation process
consists of four steps: configuring the system, building the system,
compiling the standard prelude, and creating a suspended image.  The
last step can be skipped although is highly desirable.  Please refer
to the document mentioned below for details on this installation.

Yale Haskell Documentation

A "Yale Haskell Users Manual" is provided in both distributions under
the "doc" directory as haskell.dvi and haskell.ps.  PLEASE READ THIS
DOCUMENT THOROUGHLY.  It describes many useful aspects of the system,
including initialization procedures, the Haskell Emacs Mode, error
messages, hints on using the system, and details on installation of
the full distribution.  It also describes several mailing lists for
Yale Haskell that have been set up to report/announce bugs, bug fixes,
new releases, etc.

The Yale Haskell Group