home *** CD-ROM | disk | FTP | other *** search
- A Quick Introduction to Gofer
- =============================
-
- Gofer is a Haskell-like functional programming language, written by Mark
- Jones at Oxford. It is a lazy functional language in the style of Orwell and
- Miranda, but adds an overloading system and proper continuation-based I/O to
- the Orwell system taught at Oxford.
-
- The archives subdirectory includes Sparkives of the the demo files, several
- revised preludes, the ascii manual and the complete source code suitable for
- use with Desktop C.
-
- Note that the prelude has changed from earlier releases (2.21-2.23), has
- moved into a subdirectory so Gofer can be made to default to literate
- programming without rewriting the prelude, and see also the release228
- documentation in the Docs archive.
-
- Changes from Gofer 2.28
- =======================
-
- More bug fixes; see READMEorig and the changes file in the documentation
- archive for more detail. Acorn patches have been integrated back into
- distribution version. Filename 'extension' handling has been added since the
- 2.28 beta release.
-
- A GofC translator from Gofer to C is now included. The Acorn port attempts
- to use directories to replace filename extensions, as in Desktop C, but GofC
- defaults to appending the extension if no directory field occurs in the input
- filename; this may cause problems if the input filename had 10 characters.
- Note that GofC is supplied only in source code.
-
- Gofer now defaults to reprinting rather than using the .... loading display.
- The Acorn port defaults to printing the dots, but the WIMP version overrides
- this and redirects the output to the rawvdu drivers (which is the easiest way
- to get the backspacing to work properly.)
-
- The program now seems to need more memory; this is true across all platforms,
- but it does seem to run more quickly as a consequence. I suspect that the
- default setup is no longer usable on a 2M machine; however this is an
- improvement as the early beta was unusable on a 4M machine :-(. Reducing the
- heap size to 50000 cells should help.
-
- Changes from Gofer 2.22
- =======================
-
- All versions
- Minor bug fixes again bringing the language closer to Haskell.
-
- Archimedes version
- Revised Wimp front end, which can be killed even if the task fails to
- start (click close twice) and which handles the caret more successfully.
-
- Changes from Gofer 2.21
- =======================
-
- All versions
- Mainly minor bug fixes and parser changes to bring the language closer to
- Haskell. (In particular the infinite loop during string output seems to have
- gone ... :-)
-
- Archimedes version
- The port has been re-implemented from the ground up, with most of the
- dependencies restricted to one source file. The :! shell command mechanism
- has been enabled (due to popular demand). The Wimp front-end has been
- added, and is due to Robin Watts; Gofer can be run in the old way by placing
- the binary on your Run$Path and setting the Gofer environment variable to
- point to the prelude.
-
- Comments
- ========
-
- Comments on the Arc port can be sent to Bryan.Scattergood@uk.ac.ox.prg.
- Comments on Gofer in general should be sent to Mark.Jones@uk.ac.ox.prg
- and will be forwarded automatically from there.
-
- Versions are also available for SUN3/4 workstations and IBM-PCs and can be
- obtained from the Oxford University FTP area. A Macintosh version has been
- announced on UseNet, but no further details are available to me. Versions
- for many platforms are now available; the easiest way to find out if
- your favourite machine is supported is to grab the sources and see.
- The 2.28 sources are available from Yale by FTP.
-
- Disclaimers
- ===========
-
- This software is provided as is, with all the usual provisos.
-
- Miranda, SUN and IBM are probably registered trademarks of
- Research Software, SUN Microsystems and International Business
- Machines respectively.
-
- Thanks for help with the Acorn version go to Mark Jones for the original
- program, Robin Watts for the wimp front-end, and numerous members of Oxford
- University for helping debug early versions.
-