diff options
author | Jeffrey Hsu <hsu@FreeBSD.org> | 1995-02-08 09:41:13 +0000 |
---|---|---|
committer | Jeffrey Hsu <hsu@FreeBSD.org> | 1995-02-08 09:41:13 +0000 |
commit | 7687e06a935961c526c5538ad42cdf64c94bfee8 (patch) | |
tree | 81749882efb4f825f0896e33f185a0cbc53bb340 | |
parent | 587157732997ec1c7f89d997c3c2bb8bac28b5c1 (diff) | |
download | ports-7687e06a935961c526c5538ad42cdf64c94bfee8.tar.gz ports-7687e06a935961c526c5538ad42cdf64c94bfee8.zip |
Notes
-rw-r--r-- | lang/Gofer/Makefile | 33 | ||||
-rw-r--r-- | lang/Gofer/distinfo | 1 | ||||
-rw-r--r-- | lang/Gofer/files/patch-aa | 22 | ||||
-rw-r--r-- | lang/Gofer/files/patch-ab | 79 | ||||
-rw-r--r-- | lang/Gofer/files/patch-ac | 36 | ||||
-rw-r--r-- | lang/Gofer/files/patch-ad | 26 | ||||
-rw-r--r-- | lang/Gofer/pkg-comment | 1 | ||||
-rw-r--r-- | lang/Gofer/pkg-descr | 61 | ||||
-rw-r--r-- | lang/Gofer/pkg-plist | 5 |
9 files changed, 264 insertions, 0 deletions
diff --git a/lang/Gofer/Makefile b/lang/Gofer/Makefile new file mode 100644 index 000000000000..3bcf52d22404 --- /dev/null +++ b/lang/Gofer/Makefile @@ -0,0 +1,33 @@ +# New ports collection makefile for: gofer +# Version required: 2.30 +# Date created: Wed Feb 1 01:51:59 PST 1995 +# Whom: hsu +# +# $Id$ +# + +DISTNAME = gofer230a +MASTER_SITES = ftp://cs.nott.ac.uk/nott-fp/languages/haskell/gofer/ +WRKSRC = ${WRKDIR}/src +LIBDIR = ${PREFIX}/lib/Gofer + +install: + -mkdir -p ${LIBDIR} + -mkdir -p ${PREFIX}/man/man1 + -mkdir -p ${PREFIX}/bin + install -c -m 444 ${WRKDIR}/*.prelude ${LIBDIR} + install -c -m 444 ${WRKDIR}/src/prelude.h ${LIBDIR} + install -c -m 444 ${WRKDIR}/src/gofc.h ${LIBDIR} + perl -pi -e "s|#include \"prelude.h\"|#include \"${LIBDIR}/prelude.h\"|" ${LIBDIR}/gofc.h + install -c -m 444 ${WRKDIR}/src/runtime.o ${LIBDIR} + install -c -m 555 ${WRKDIR}/scripts/gofer ${PREFIX}/bin + install -c -m 555 ${WRKDIR}/scripts/goferc ${PREFIX}/bin + install -c -m 555 ${WRKDIR}/src/gofer ${LIBDIR} + install -c -m 555 ${WRKDIR}/src/gofc ${LIBDIR} + install -c -m 444 ${WRKDIR}/docs/gofer.1 ${PREFIX}/man/man1 + -rm -f ${PREFIX}/man/man1/gofer.1.gz + gzip -9 ${PREFIX}/man/man1/gofer.1 + -mkdir -p ${LIBDIR}/docs + install -c -m 444 ${WRKDIR}/docs/* ${LIBDIR}/docs + +.include <bsd.port.mk> diff --git a/lang/Gofer/distinfo b/lang/Gofer/distinfo new file mode 100644 index 000000000000..a390ac6b2cfc --- /dev/null +++ b/lang/Gofer/distinfo @@ -0,0 +1 @@ +MD5 (gofer230a.tar.gz) = a020b6a9c446701f169e06eb535b76dc diff --git a/lang/Gofer/files/patch-aa b/lang/Gofer/files/patch-aa new file mode 100644 index 000000000000..b3c7fabf7aa7 --- /dev/null +++ b/lang/Gofer/files/patch-aa @@ -0,0 +1,22 @@ +*** Makefile.0 Thu Jun 23 09:00:00 1994 +--- Makefile Wed Feb 1 01:42:58 1995 +*************** +*** 24,32 **** + # below). + + CC = cc +! #CFLAGS = -DUSE_READLINE=1 +! CFLAGS = +! LDFLAGS = -lm + OPTFLAGS = -O + OPT1 = + #OPT1 = -O1 +--- 24,31 ---- + # below). + + CC = cc +! CFLAGS = -DUSE_READLINE=1 +! LDFLAGS = -lm -lreadline + OPTFLAGS = -O + OPT1 = + #OPT1 = -O1 diff --git a/lang/Gofer/files/patch-ab b/lang/Gofer/files/patch-ab new file mode 100644 index 000000000000..b66f281ae563 --- /dev/null +++ b/lang/Gofer/files/patch-ab @@ -0,0 +1,79 @@ +*** prelude.h.0 Thu Jun 23 09:00:00 1994 +--- prelude.h Tue Jan 31 16:17:47 1995 +*************** +*** 30,40 **** + #define OS2 0 /* For IBM OS/2 2.0 using EMX GCC */ + #define SUNOS 0 /* For Sun 3/Sun 4 running SunOs 4.x */ + #define MIPS 0 /* For MIPS RC6280/Sony machine NWS-3870 UN */ +! #define NEXTSTEP 1 /* For NeXTstep 3.0 using NeXT cc */ + #define NEXTGCC 0 /* For NeXTstep with gcc 2.x, doesn't work w/ NS3.2*/ + #define MINIX68K 0 /* For Minix68k with gcc UN */ + #define AMIGA 0 /* For Amiga using gcc 2.2.2 UN */ + #define HPUX 0 /* For HPUX using gcc */ + #define LINUX 0 /* For Linux using gcc UN */ + #define RISCOS 0 /* For Acorn DesktopC and RISCOS2 or 3 */ + #define ALPHA 0 /* For DEC Alpha with OSF/1 (32 bit ints, no gofc) */ +--- 30,41 ---- + #define OS2 0 /* For IBM OS/2 2.0 using EMX GCC */ + #define SUNOS 0 /* For Sun 3/Sun 4 running SunOs 4.x */ + #define MIPS 0 /* For MIPS RC6280/Sony machine NWS-3870 UN */ +! #define NEXTSTEP 0 /* For NeXTstep 3.0 using NeXT cc */ + #define NEXTGCC 0 /* For NeXTstep with gcc 2.x, doesn't work w/ NS3.2*/ + #define MINIX68K 0 /* For Minix68k with gcc UN */ + #define AMIGA 0 /* For Amiga using gcc 2.2.2 UN */ + #define HPUX 0 /* For HPUX using gcc */ ++ #define FREEBSD 1 /* For FreeBSD using gcc */ + #define LINUX 0 /* For Linux using gcc UN */ + #define RISCOS 0 /* For Acorn DesktopC and RISCOS2 or 3 */ + #define ALPHA 0 /* For DEC Alpha with OSF/1 (32 bit ints, no gofc) */ +*************** +*** 82,88 **** + + #define UNIX (SUNOS | NEXTSTEP | HPUX | NEXTGCC | LINUX | AMIGA | \ + MINIX68K | ALPHA | OS2 | SVR4 | ULTRIX | AIX | MIPS |\ +! SGI4 | NETBSD) + #define SMALL_GOFER (TURBOC | BCC) + #define REGULAR_GOFER (RISCOS | DJGPP | ZTC | ATARI) + #define LARGE_GOFER (UNIX | WATCOM) +--- 83,89 ---- + + #define UNIX (SUNOS | NEXTSTEP | HPUX | NEXTGCC | LINUX | AMIGA | \ + MINIX68K | ALPHA | OS2 | SVR4 | ULTRIX | AIX | MIPS |\ +! SGI4 | NETBSD | FREEBSD) + #define SMALL_GOFER (TURBOC | BCC) + #define REGULAR_GOFER (RISCOS | DJGPP | ZTC | ATARI) + #define LARGE_GOFER (UNIX | WATCOM) +*************** +*** 91,97 **** + #define TERMIO_IO (LINUX | HPUX | OS2 | SVR4 | SGI4) + #define SGTTY_IO (SUNOS | NEXTSTEP | NEXTGCC | AMIGA | MINIX68K | \ + ALPHA | ULTRIX | AIX | MIPS) +! #define TERMIOS_IO (NETBSD) + #define BREAK_FLOATS (TURBOC | BCC) + #define HAS_FLOATS (REGULAR_GOFER | LARGE_GOFER | BREAK_FLOATS) + +--- 92,98 ---- + #define TERMIO_IO (LINUX | HPUX | OS2 | SVR4 | SGI4) + #define SGTTY_IO (SUNOS | NEXTSTEP | NEXTGCC | AMIGA | MINIX68K | \ + ALPHA | ULTRIX | AIX | MIPS) +! #define TERMIOS_IO (NETBSD | FREEBSD) + #define BREAK_FLOATS (TURBOC | BCC) + #define HAS_FLOATS (REGULAR_GOFER | LARGE_GOFER | BREAK_FLOATS) + +*************** +*** 202,208 **** + #define farCalloc(n,s) (Void *)valloc(((unsigned)n)*((unsigned)s)) + #endif + +! #if (HPUX | DJGPP | ZTC | LINUX | ALPHA | OS2 | SVR4 | AIX | SGI4 | NETBSD) + #include <stdlib.h> + #define far + #endif +--- 203,209 ---- + #define farCalloc(n,s) (Void *)valloc(((unsigned)n)*((unsigned)s)) + #endif + +! #if (HPUX | DJGPP | ZTC | LINUX | ALPHA | OS2 | SVR4 | AIX | SGI4 | NETBSD | FREEBSD) + #include <stdlib.h> + #define far + #endif diff --git a/lang/Gofer/files/patch-ac b/lang/Gofer/files/patch-ac new file mode 100644 index 000000000000..fb0b3fd981ac --- /dev/null +++ b/lang/Gofer/files/patch-ac @@ -0,0 +1,36 @@ +*** gofer.0 Thu Jun 23 16:00:00 1994 +--- gofer Wed Feb 8 01:16:55 1995 +*************** +*** 9,18 **** + # Edited by Jonathan Bowen, Oxford University, August 1993 + + # Location of gofer files - site specific +! ROOT=/usr/local/gofer + + # first, the location of your prelude file: +! GOFER=${GOFER-$ROOT/lib/standard.prelude} + export GOFER + + # next, command line argument settings. One example might be: +--- 9,18 ---- + # Edited by Jonathan Bowen, Oxford University, August 1993 + + # Location of gofer files - site specific +! ROOT=/usr/local/lib/Gofer + + # first, the location of your prelude file: +! GOFER=${GOFER-$ROOT/standard.prelude} + export GOFER + + # next, command line argument settings. One example might be: +*************** +*** 34,37 **** + + # Finally, start the interpreter running: + # exec /usr/local/lib/Gofer/gofer $GOFERARGS $* +! exec $ROOT/bin/Gofer $GOFERARGS $* +--- 34,37 ---- + + # Finally, start the interpreter running: + # exec /usr/local/lib/Gofer/gofer $GOFERARGS $* +! exec $ROOT/gofer $GOFERARGS $* diff --git a/lang/Gofer/files/patch-ad b/lang/Gofer/files/patch-ad new file mode 100644 index 000000000000..67fefef415f0 --- /dev/null +++ b/lang/Gofer/files/patch-ad @@ -0,0 +1,26 @@ +*** goferc.0 Thu Jun 23 16:00:00 1994 +--- goferc Wed Feb 8 01:12:53 1995 +*************** +*** 29,39 **** + ;; + esac + +! GOFER=/home/staff/ian/gofer/lib/standard.prelude + export GOFER + /usr/local/lib/Gofer/gofc $args + echo '[Compiling with gcc]' + gcc -o $prog -O $prog.c /usr/local/lib/Gofer/runtime.o -lm + strip $prog + rm $prog.c +- +--- 29,38 ---- + ;; + esac + +! GOFER=/usr/local/lib/Gofer/standard.prelude + export GOFER + /usr/local/lib/Gofer/gofc $args + echo '[Compiling with gcc]' + gcc -o $prog -O $prog.c /usr/local/lib/Gofer/runtime.o -lm + strip $prog + rm $prog.c diff --git a/lang/Gofer/pkg-comment b/lang/Gofer/pkg-comment new file mode 100644 index 000000000000..9edbdcc75d89 --- /dev/null +++ b/lang/Gofer/pkg-comment @@ -0,0 +1 @@ +gofer - a lazy functional language 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. +------------------------------------------------------------------------------ diff --git a/lang/Gofer/pkg-plist b/lang/Gofer/pkg-plist new file mode 100644 index 000000000000..64ce695c6f24 --- /dev/null +++ b/lang/Gofer/pkg-plist @@ -0,0 +1,5 @@ +@cwd /usr/local +bin/gofer +bin/goferc +lib/Gofer +man/man1/gofer.1.gz |