summaryrefslogtreecommitdiff
path: root/lang/Gofer/pkg-descr
diff options
context:
space:
mode:
authorJeffrey Hsu <hsu@FreeBSD.org>1995-02-08 09:41:13 +0000
committerJeffrey Hsu <hsu@FreeBSD.org>1995-02-08 09:41:13 +0000
commit7687e06a935961c526c5538ad42cdf64c94bfee8 (patch)
tree81749882efb4f825f0896e33f185a0cbc53bb340 /lang/Gofer/pkg-descr
parentMesa - a 3-D graphics library similiar to OpenGL (diff)
gofer - a lazy functional language
Notes
Notes: svn path=/head/; revision=909
Diffstat (limited to 'lang/Gofer/pkg-descr')
-rw-r--r--lang/Gofer/pkg-descr61
1 files changed, 61 insertions, 0 deletions
diff --git a/lang/Gofer/pkg-descr b/lang/Gofer/pkg-descr
new file mode 100644
index 000000000000..6166aaeeca00
--- /dev/null
+++ b/lang/Gofer/pkg-descr
@@ -0,0 +1,61 @@
+------------------------------------------------------------------------------
+Gofer 2.28 is an interactive functional programming environment (i.e. an
+interpreter) supporting a language based on the draft report for Haskell
+version 1.2, 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.2 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.2 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 Supports constructor classes and overloaded monad comprehensions.
+
+ o Simple minded compiler/translator Gofer -> C with runtime system for
+ generation of standalone applications.
+
+ 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 Haskell.
+
+ o Basic approach to dictionary construction is different, based on the
+ approach I described in a posting to the Haskell mailing list early in
+ Feburary 1991. 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.
+------------------------------------------------------------------------------