GOFER(1)

NAME
gofer - Gofer functional language interpreter

SYNOPSIS
gofer [ options ]

DESCRIPTION
Gofer is a shell script that invokes a Gofer functional language environment, based on Haskell. Help on the commands available may be obtained by typing :? followed by the return key within the interpreter.

The following commands are available:

    :load <filenames>	load scripts from specified files
    :load	clear all files except prelude
    :also <filenames>	read additional script files
    :reload	repeat last load command
    :project <filename>	use project file
    :edit <filename>	edit file
    :edit	edit last file
    <expr>	evaluate expression
    :type <expr>	print type of expression
    :?	display this list of commands
    :set <options>	set command line options
    :set	help on command line options
    :names [pat]	list names currently in scope
    :info <names>	describe named objects
    :find <name>	edit file containing definition of name
    :!command	shell escape
    :cd dir	change directory
    :quit	exit Gofer interpreter

Any command may be abbreviated to :c where c is the first character in the full name.

OPTIONS
Help concerning the command line options may be obtained by typing :s followed by the return key within the interpreter.

Many options are toggled with + or - to turn them one or off respectively. The following such options are available:

    s	Print number of reductions/cells after eval
    t	Print type after evaluation
    d	Show dictionary values in output exprs
    f	Terminate evaluation on first error
    g	Print number of cells recovered after gc
    c	Test conformality for pattern bindings
    l	Literate scripts as default
    e	Warn about errors in literate scripts
    i	Apply fromInteger to integer literals
    o	Optimize use of (&&) and (||)
    u	Catch ambiguously typed top-level vars
    .	Print dots to show progress
    w	Always show which files loaded
    1	Overload singleton list notation
    k	Show kind errors in full

Other options which may be preceded by + or - (making no difference) are:

    hnum	Set heap size (cannot be changed within Gofer)
    pstr	Set prompt string to str
    rstr	Set repeat last expression string to str

The default settings are: +sfceow1 -tdgliu.k -h100000 -p? -r$$

ENVIRONMENT
The following environment variables may be set in the user's .login or .profile file:

GOFER=file
    Set the standard prelude file to be used by Gofer. The default file is /usr/local/gofer/lib/standard.prelude.

GOFERARGS=options
    Set the default options to be used by gofer. The default is none. As an example, the following is a possibility: -pGofer: -rit -s +k

VISUAL=editor
    Set the editor to be used by gofer. The default is /usr/ucb/vi.

EDITOR=editor
    As for VISUAL if VISUAL is not set.

FILES
/usr/local/gofer/bin/Gofer
    executable binary
/usr/local/gofer/doc*
    documentation files
/usr/local/gofer/lib
    support files
/usr/local/gofer/lib/standard.prelude
    standard gofer prelude

SEE ALSO
An Introduction to Gofer by Mark Jones.
emacs(1), mira(1), vi(1)

AUTHOR
Executable and preludes (Version 2.28, 1993): Mark Jones.
Manual page: Jonathan Bowen, Oxford University, UK <Jonathan.Bowen@comlab.ox.ac.uk>.
Shell script: Mark Jones (modified by Jonathan Bowen).

BUGS
The shell script and manual page may change without notice.