[prev in list] [next in list] [prev in thread] [next in thread] 

List:       haskell
Subject:    Gofer
From:       haskell-request () dcs ! glasgow ! ac ! uk
Date:       1991-08-18 11:16:38
Message-ID: 9108181103.AA00773 () eve ! comlab ! ox ! ac ! uk
[Download RAW message or body]

From: haskell-request@dcs.glasgow.ac.uk
Date: 18 Aug 91 12:09
Sender: Mark.Jones@prg.oxford.ac.uk
To: haskell@dcs.glasgow.ac.uk
Subject: Gofer

Original-Via: uk.ac.ox.prg; Sun, 18 Aug 91 12:07:41 BST


As part of my work investigating type classes and overloading, I have
produced an implementation of a lazy functional programming language,
based on Haskell, with a simple user interface rather like the
`scrolling' inteface of Orwell.  Further details are included at the
end of this message.

To cut a long story short, I want to make Gofer freely available to anyone
that can (or would like to) use it.

This is the first time that I've considered distributing a package like
this and I'd be grateful for any advice that you can give about the
best way for me to do it.  It it helps, the whole thing (source, sample
programs and documentation) fits into a compressed tar file of just about
300K.  Using standard archiving software, the whole thing, together with
a PC exectuable fits onto a single 360KB floppy.

Perhaps you could drop me a short note if you're interested in getting
a copy.  I'd be particularly interested in hearing from anybody who
could make Gofer available on an ftp server somewhere.

I hope that Gofer will be of interest to you!

Mark

[One more thing; I'm going to be away for about three weeks starting
very shortly (my honeymoon!) so please don't expect an immediate
response; I had hoped to make the distribution before I went away, but
the time has just flown by ...]

----------------------------------------------------------------------------
Gofer 2.20 is an interactive functional programming environment (i.e. an
interpreter) supporting a language based on the draft report for Haskell
version 1.1, including the following features:

  o  Lazy evaluation, higher order functions, pattern matching etc...

  o  Wide range of built-in types with provision for defining new free
     datatypes and type synonyms.

  o  Polymorphic type system with provision for overloading based on
     a system of type classes.

  o  Full Haskell 1.1 expression and pattern syntax including lambda,
     case, conditional and let expressions, list comprehensions, operator
     sections, and wildcard, as and irrefutable patterns.

  o  Partial implementation of Haskell 1.1 facilities for I/O, enabling
     the use of simple interactive programs and programs reading and writing
     text files.

  o  User documentation, sample programs and source code freely available.
 
  o  Runs (and originally developed) on PC compatible computers, but
     also works on Sun workstations.  Code should be portable to many
     other kinds of machine.
 
Gofer is intended as an experimental language, particularly where type classes
are involved.  Gofer extends the Haskell type class system in several ways:
 
  o  Type classes with multiple parameters are supported.
 
  o  Instances of type classes may be defined non-overlapping, but otherwise
     arbitrary types.
 
  o  Predicates in contexts may involve arbitrary type expressions, not just
     type variables as in Gofer.
 
  o  Basic approach to dictionary construction is different, based on the
     approach I described in a posting to the Haskell mailing list earlier
     this year.  The resulting system ensures that all dictionaries are
     constructed before evaluation begins, avoiding repeated construction
     and enabling the shared evaluation of overloaded constants in
     dictionaries.
 
The most significant features of Haskell not currently supported are:
modules, arrays, overloaded numeric constants, default declarations, derived
instances, contexts in datatype definitions.
----------------------------------------------------------------------------
And just in case you wondered:

   The name "Gofer" is not a trademark, registered  or  otherwise,  and
   you are free to mention this name in published material, public  and
   private correspondence, or other documents  without  restriction  or
   obligation.   :-)
 
----------------------------------------------------------------------------



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic