Initial import
This commit is contained in:
parent
5b7ef14ef4
commit
47b3021b39
35
lang/Gofer/Makefile
Normal file
35
lang/Gofer/Makefile
Normal file
@ -0,0 +1,35 @@
|
||||
# OpenBSD makefile for: gofer
|
||||
# Version required: 2.30.
|
||||
# Date created: 31 January 1998
|
||||
# Whom: Don Schmidt
|
||||
#
|
||||
# $OpenBSD: Makefile,v 1.1.1.1 1998/02/03 06:01:57 don Exp $
|
||||
#
|
||||
|
||||
DISTNAME= gofer230a
|
||||
PKGNAME= gofer-2.30a
|
||||
CATEGORIES= lang
|
||||
MASTER_SITES= ftp://cs.nott.ac.uk/nott-fp/languages/haskell/gofer/
|
||||
|
||||
MAINTAINER= don@OpenBSD.ORG
|
||||
|
||||
WRKSRC= ${WRKDIR}/src
|
||||
LIBDIR= ${PREFIX}/lib/Gofer
|
||||
MAN1= gofer.1
|
||||
|
||||
do-install:
|
||||
${MKDIR} ${LIBDIR}
|
||||
${INSTALL_DATA} ${WRKDIR}/*.prelude ${LIBDIR}
|
||||
${INSTALL_DATA} ${WRKDIR}/src/prelude.h ${LIBDIR}
|
||||
${INSTALL_DATA} ${WRKDIR}/src/gofc.h ${LIBDIR}
|
||||
/usr/bin/perl -pi -e "s|#include \"prelude.h\"|#include \"${LIBDIR}/prelude.h\"|" ${LIBDIR}/gofc.h
|
||||
${INSTALL_DATA} ${WRKDIR}/src/runtime.o ${LIBDIR}
|
||||
${INSTALL_SCRIPT} ${WRKDIR}/scripts/gofer ${PREFIX}/bin
|
||||
${INSTALL_SCRIPT} ${WRKDIR}/scripts/goferc ${PREFIX}/bin
|
||||
${INSTALL_PROGRAM} ${WRKDIR}/src/gofer ${LIBDIR}
|
||||
${INSTALL_PROGRAM} ${WRKDIR}/src/gofc ${LIBDIR}
|
||||
${INSTALL_MAN} ${WRKDIR}/docs/gofer.1 ${PREFIX}/man/man1
|
||||
${MKDIR} ${LIBDIR}/docs
|
||||
${INSTALL_DATA} ${WRKDIR}/docs/* ${LIBDIR}/docs
|
||||
|
||||
.include <bsd.port.mk>
|
1
lang/Gofer/files/md5
Normal file
1
lang/Gofer/files/md5
Normal file
@ -0,0 +1 @@
|
||||
MD5 (gofer230a.tar.gz) = a020b6a9c446701f169e06eb535b76dc
|
79
lang/Gofer/patches/patch-aa
Normal file
79
lang/Gofer/patches/patch-aa
Normal file
@ -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
|
36
lang/Gofer/patches/patch-ab
Normal file
36
lang/Gofer/patches/patch-ab
Normal file
@ -0,0 +1,36 @@
|
||||
*** ../scripts/gofer.0 Thu Jun 23 16:00:00 1994
|
||||
--- ../scripts/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 $*
|
26
lang/Gofer/patches/patch-ac
Normal file
26
lang/Gofer/patches/patch-ac
Normal file
@ -0,0 +1,26 @@
|
||||
*** ../scripts/goferc.0 Thu Jun 23 16:00:00 1994
|
||||
--- ../scripts/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
|
1
lang/Gofer/pkg/COMMENT
Normal file
1
lang/Gofer/pkg/COMMENT
Normal file
@ -0,0 +1 @@
|
||||
A lazy functional language.
|
61
lang/Gofer/pkg/DESCR
Normal file
61
lang/Gofer/pkg/DESCR
Normal file
@ -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.
|
||||
------------------------------------------------------------------------------
|
49
lang/Gofer/pkg/PLIST
Normal file
49
lang/Gofer/pkg/PLIST
Normal file
@ -0,0 +1,49 @@
|
||||
bin/gofer
|
||||
bin/goferc
|
||||
man/man1/gofer.1
|
||||
lib/Gofer/cc.prelude
|
||||
lib/Gofer/min.prelude
|
||||
lib/Gofer/nofloat.prelude
|
||||
lib/Gofer/simple.prelude
|
||||
lib/Gofer/standard.prelude
|
||||
lib/Gofer/prelude.h
|
||||
lib/Gofer/gofc.h
|
||||
lib/Gofer/runtime.o
|
||||
lib/Gofer/gofer
|
||||
lib/Gofer/gofc
|
||||
lib/Gofer/docs/Readme
|
||||
lib/Gofer/docs/appx_a
|
||||
lib/Gofer/docs/appx_b
|
||||
lib/Gofer/docs/appx_c
|
||||
lib/Gofer/docs/appx_d
|
||||
lib/Gofer/docs/appx_e
|
||||
lib/Gofer/docs/appx_f
|
||||
lib/Gofer/docs/appx_g
|
||||
lib/Gofer/docs/bowen.1
|
||||
lib/Gofer/docs/ch00
|
||||
lib/Gofer/docs/ch01
|
||||
lib/Gofer/docs/ch02
|
||||
lib/Gofer/docs/ch03
|
||||
lib/Gofer/docs/ch04
|
||||
lib/Gofer/docs/ch05
|
||||
lib/Gofer/docs/ch06
|
||||
lib/Gofer/docs/ch07
|
||||
lib/Gofer/docs/ch08
|
||||
lib/Gofer/docs/ch09
|
||||
lib/Gofer/docs/ch10
|
||||
lib/Gofer/docs/ch11
|
||||
lib/Gofer/docs/ch12
|
||||
lib/Gofer/docs/ch13
|
||||
lib/Gofer/docs/ch14
|
||||
lib/Gofer/docs/gofer.1
|
||||
lib/Gofer/docs/gofer.c
|
||||
lib/Gofer/docs/goferdoc.tex
|
||||
lib/Gofer/docs/hype
|
||||
lib/Gofer/docs/jeroen.1
|
||||
lib/Gofer/docs/rel221.tex
|
||||
lib/Gofer/docs/rel228.tex
|
||||
lib/Gofer/docs/release.221
|
||||
lib/Gofer/docs/release.228
|
||||
lib/Gofer/docs/release.230
|
||||
@dirrm lib/Gofer/docs
|
||||
@dirrm lib/Gofer
|
Loading…
Reference in New Issue
Block a user