Commit 5eb1c77c authored by partain's avatar partain
Browse files

[project @ 1996-07-25 20:43:49 by partain]

Bulk of final changes for 2.01
parent f7ecf723
The Glasgow Haskell Compiler -- version 2.01
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
We are proud to announce the first public release of the Glasgow
Haskell Compiler (GHC) for the revised Haskell 1.3 language. Sources
and binaries are freely available by anonymous FTP and on the
World-Wide Web; details below.
We are pleased to announce the first release of the Glasgow Haskell
Compiler (GHC, version 2.01) for *Haskell 1.3*. Sources and binaries
are freely available by anonymous FTP and on the World-Wide Web;
details below.
Haskell is "the" standard lazy functional programming language; the
current language version is 1.3, agreed in May, 1996. The Haskell
Report is online at
http://haskell.cs.yale.edu/haskell-report/haskell-report.html.
GHC 2.01 is a test-quality release, worth trying if you are a gung-ho
Haskell user or if you want to ensure that we quickly fix bugs that
affect your programs :-) We advise *AGAINST* deleting your copy of
that old workhorse GHC 0.26 (for Haskell 1.2), and *AGAINST* relying
on this compiler (2.01) in any way. With your help in testing 2.01,
we hope to release a more solid Haskell 1.3 compiler relatively soon.
Haskell user or if you are keen to try the new Haskell 1.3 features.
We advise *AGAINST* relying on this compiler (2.01) in any way. We
are releasing our current Haskell 1.2 compiler (GHC 0.29) at the same
time; it should be pretty solid.
If you want to hack on GHC itself, then 2.01 is for you. The release
notes comment further on this point.
Haskell is "the" standard lazy functional programming language [see
SIGPLAN Notices, May 1992]. The current language version is 1.3,
agreed in May, 1996.
What happens next? I'm on sabbatical for a year, and Will Partain
(the one who really makes GHC go) is leaving at the end of July 96 for
a Real Job. So you shouldn't expect rapid progress on 2.01 over the
next 6-12 months.
The Glasgow Haskell project seeks to bring the power and elegance of
functional programming to bear on real-world problems. To that end,
GHC lets you call C (including cross-system garbage collection),
provides good profiling tools, supports ever richer I/O, and
concurrency and parallelism. Our goal is to make it the "tool of
choice for real-world applications".
GHC 2.01 is quite different from 0.26 (July 1995), as the new version
number suggests. (The 1.xx numbers are reserved for any Haskell-1.2
compiler releases.) Changes worth noting include:
.......
* Concurrent Haskell: with this, you can build programs out of many
I/O-performing, interacting `threads'. We have a draft paper
about Concurrent Haskell, and our forthcoming Haggis GUI toolkit
uses it.
* Parallel Haskell, running on top of PVM (Parallel Virtual Machine)
and hence portable to pretty much any parallel architecture,
whether shared memory or distributed memory. With this, your
Haskell program runs on multiple processors, guided by `par` and
`seq` annotations. The first pretty-much-everyone-can-try-it
parallel functional programming system! NB: The parallel stuff is
"research-tool quality"... consider this an alpha release.
* "Foldr/build" deforestation (by Andy Gill) is in, as are
"SPECIALIZE instance" pragmas (by Patrick Sansom).
* The LibPosix library provides an even richer I/O interface than
the standard 1.3 I/O library. A program like a shell or an FTP
client can be written in Haskell -- examples included.
* Yet more cool libraries: Readline (GNU command-line editing),
Socket (BSD sockets), Regex and MatchPS (GNU regular expressions).
By Darren Moffat and Sigbjorn Finne.
* New ports -- Linux (a.out) and MIPS (Silicon Graphics).
* NB: configuration has changed yet again -- for the better, of
course :-)
provides good profiling tools, and concurrency and parallelism. Our
goal is to make it the "tool of choice for real-world applications".
GHC 2.01 is substantially changed from 0.26 (July 1995), as the new
version number suggests. (The 1.xx numbers are reserved for further
spinoffs from the Haskell-1.2 compiler.) Changes worth noting
include:
* GHC is now a Haskell 1.3 compiler (only). Virtually all Haskell
1.2 modules need changing to go through GHC 2.01; the GHC
documentation includes a ``crib sheet'' of conversion advice.
* The Haskell compiler proper (ghc/compiler/ in the sources) has
been substantially rewritten and is, of course, Much, Much,
Better. The typechecker and the "renamer" (module-system support)
are new.
* Sadly, GHC 2.01 is currently slower than 0.26. It has taken
all our cycles to get it correct. We fondly believe that the
architectural changes we have made will end up making 2.0x
*faster* than 0.2x, but we have yet to substantiate this belief;
sorry. Still, 2.01 (built with 0.29) is quite usable.
* GHC 2.01's optimisation (-O) is not nearly as good as 0.2x, mostly
because we haven't taught it about cross-module information
(arities, inlinings, etc.). For this reason, a
2.01-built-with-2.01 (bootstrapped) is no fun to use (too slow),
and, sadly, that is where we would normally get .hc (intermediate
C; used for porting) files from... (hence: none provided).
* GHC 2.01 is much smarter than 0.26 about when to recompile. It
will abort a compilation that "make" thought was necessary at a
very early stage, if none of the imported types/classes/functions
*that are actually used* have changed. This "recompilation
checker" uses a completely different interface-file format than
0.26. (Interface files are a matter for the compilation system in
Haskell 1.3, not part of the language.)
* The 2.01 libraries are not "split" (yet), meaning you will end up
with much larger binaries...
* The not-mandated-by-the-language system libraries are now separate
from GHC (though usually distributed with it). We hope they can
take on a "life of their own", independent of GHC.
* All the same cool extensions (e.g., unboxed values), system
libraries (e.g., Posix), profiling, Concurrent Haskell, Parallel
Haskell,...
* New ports: Linux ELF (same as distributed as GHC 0.28).
Please see the release notes for a complete discussion of What's New.
To run this release, you need a machine with 16+MB memory, GNU C
(`gcc'), and `perl'. We have seen GHC 0.26 work on these platforms:
alpha-dec-osf2, hppa1.1-hp-hpux9, i386-unknown-linuxaout,
m68k-sun-sunos4, mips-sgi-irix5, and sparc-sun-{sunos4,solaris2}.
Similar platforms should work with minimal hacking effort.
The installer's guide give a full what-ports-work report.
To run this release, you need a machine with 16+MB memory (more if
building from sources), GNU C (`gcc'), and `perl'. We have seen GHC
2.01 work on these platforms: alpha-dec-osf2, hppa1.1-hp-hpux9,
sparc-sun-{sunos4,solaris2}, mips-sgi-irix5, and
i386-unknown-{linux,solaris2,freebsd}. Similar platforms should work
with minimal hacking effort. The installer's guide give a full
what-ports-work report.
Binaries are now distributed in `bundles', e.g. a "profiling bundle"
or a "concurrency bundle" for your platform. Just grab the ones you
need.
Binaries are distributed in `bundles', e.g. a "profiling bundle" or a
"concurrency bundle" for your platform. Just grab the ones you need.
Once you have the distribution, please follow the pointers in
ghc/README to find all of the documentation about this release. NB:
......@@ -78,32 +98,31 @@ preserve modification times when un-tarring the files (no `m' option
for tar, please)!
We run mailing lists for GHC users and bug reports; to subscribe, send
mail to glasgow-haskell-{users,bugs}-request@dcs.glasgow.ac.uk.
Please send bug reports to glasgow-haskell-bugs.
mail to majordomo@dcs.gla.ac.uk; the msg body should be:
subscribe glasgow-haskell-<which> Your Name <your-email@where.you.are>
Particular thanks to: Jim Mattson (author of much of the code) who has
now moved to HP in California; and the Turing Institute who donated a
lot of SGI cycles for the SGI port.
Please send bug reports about GHC to glasgow-haskell-bugs@dcs.gla.ac.uk.
Simon Peyton Jones and Will Partain
Simon Peyton Jones
Dated: 95/07/24
Dated: July '96
Relevant URLs on the World-Wide Web:
GHC home page http://www.dcs.glasgow.ac.uk/fp/software/ghc.html
Glasgow FP group page http://www.dcs.glasgow.ac.uk/fp/
GHC home page http://www.dcs.gla.ac.uk/fp/software/ghc/
Glasgow FP group page http://www.dcs.gla.ac.uk/fp/
comp.lang.functional FAQ http://www.cs.nott.ac.uk/Department/Staff/mpj/faq.html
======================================================================
How to get GHC 0.26:
How to get GHC 2.01:
This release is available by anonymous FTP from the main Haskell
archive sites, in the directory pub/haskell/glasgow:
ftp.dcs.glasgow.ac.uk (130.209.240.50)
ftp.cs.chalmers.se (129.16.227.140)
haskell.cs.yale.edu (128.36.11.43)
ftp.dcs.gla.ac.uk (130.209.240.50)
ftp.cs.chalmers.se (129.16.227.140)
haskell.cs.yale.edu (128.36.11.43)
The Glasgow site is mirrored by src.doc.ic.ac.uk (146.169.43.1), in
computing/programming/languages/haskell/glasgow.
......@@ -111,18 +130,18 @@ computing/programming/languages/haskell/glasgow.
These are the available files (.gz files are gzipped) -- some are `on
demand', ask if you don't see them:
ghc-0.26-src.tar.gz The source distribution; about 3MB.
ghc-2.01-src.tar.gz The source distribution; about 3MB.
ghc-0.26.ANNOUNCE This file.
ghc-2.01.ANNOUNCE This file.
ghc-0.26.{README,RELEASE-NOTES} From the distribution; for those who
ghc-2.01.{README,RELEASE-NOTES} From the distribution; for those who
want to peek before FTPing...
ghc-0.26-ps-docs.tar.gz Main GHC documents in PostScript format; in
ghc-2.01-ps-docs.tar.gz Main GHC documents in PostScript format; in
case your TeX setup doesn't agree with our
DVI files...
ghc-0.26-<platform>.tar.gz Basic binary distribution for a particular
ghc-2.01-<platform>.tar.gz Basic binary distribution for a particular
<platform>. Unpack and go: you can compile
and run Haskell programs with nothing but one
of these files. NB: does *not* include
......@@ -130,14 +149,15 @@ ghc-0.26-<platform>.tar.gz Basic binary distribution for a particular
<platform> ==> alpha-dec-osf2
hppa1.1-hp-hpux9
i386-unknown-linuxaout
i386-unknown-freebsd
i386-unknown-linux
i386-unknown-solaris2
m68k-sun-sunos4
mips-sgi-irix5
sparc-sun-sunos4
sparc-sun-solaris2
ghc-0.26-<bundle>-<platform>.tar.gz
ghc-2.01-<bundle>-<platform>.tar.gz
<platform> ==> as above
<bundle> ==> prof (profiling)
......@@ -148,18 +168,15 @@ ghc-0.26-<bundle>-<platform>.tar.gz
prof-conc (profiling for "conc[urrent]")
prof-ticky (ticky for "conc[urrent]")
ghc-0.26-hc-files.tar.gz Basic set of intermediate C (.hc) files for the
ghc-2.01-hc-files.tar.gz Basic set of intermediate C (.hc) files for the
compiler proper, the prelude, and `Hello,
world'. Used for bootstrapping the system.
About 4MB.
ghc-0.26-<bundle>-hc-files.tar.gz Further sets of .hc files, for
ghc-2.01-<bundle>-hc-files.tar.gz Further sets of .hc files, for
building other "bundles", e.g., profiling.
ghc-0.26-hi-files-<blah>.tar.gz Sometimes it's more convenient to
ghc-2.01-hi-files-<blah>.tar.gz Sometimes it's more convenient to
use a different set of interface files than
the ones in *-src.tar.gz. (The installation
guide will advise you of this.)
We could provide diffs from previous versions of GHC, should you
require them. A full set would be very large (7MB).
This is the root directory for functional-programming tools
distributed by the Computing Science Department at Glasgow University.
Simon Peyton Jones <simonpj@dcs.glasgow.ac.uk> is the ringleader
of this effort. The tools are:
Simon Peyton Jones <simonpj@dcs.gla.ac.uk> is the ringleader of this
effort. The tools are:
ghc the Glasgow Haskell compilation system
hslibs collection of Haskell libraries
haggis the Haggis GUI toolkit
happy the Happy Haskell parser generator
nofib the NoFib Haskell benchmarking suite
......
......@@ -51,15 +51,13 @@ trap 'rm -f dummy.c dummy.o dummy; exit 1' 1 2 15
# Note: order is significant - the case branches are not exclusive.
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
alpha:OSF1:[VX]*:*)
# After 1.2, OSF1 uses "V1.3" for uname -r.
# After 4.x, OSF1 uses "X4.x" for uname -r.
echo alpha-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VX]//'`
exit 0 ;;
alpha:OSF1:*:*)
# A Vn.n version is a released version.
# A Tn.n version is a released field test version.
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
echo alpha-dec-osf${UNAME_RELEASE}
exit 0 ;;
echo alpha-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//'`
exit 0 ;;
21064:Windows_NT:50:3)
echo alpha-dec-winnt3.5
exit 0 ;;
......@@ -118,11 +116,27 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
VAX*:ULTRIX*:*:*)
echo vax-dec-ultrix${UNAME_RELEASE}
exit 0 ;;
mips:*:4*:UMIPS)
echo mips-mips-riscos4sysv
exit 0 ;;
mips:*:5*:RISCos)
echo mips-mips-riscos${UNAME_RELEASE}
mips:*:*:UMIPS | mips:*:*:RISCos)
sed 's/^ //' << EOF >dummy.c
int main (argc, argv) int argc; char **argv; {
#if defined (host_mips) && defined (MIPSEB)
#if defined (SYSTYPE_SYSV)
printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
#endif
#if defined (SYSTYPE_SVR4)
printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
#endif
#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
#endif
#endif
exit (-1);
}
EOF
${CC-cc} dummy.c -o dummy && ./dummy "${UNAME_RELEASE}" \
&& rm dummy.c dummy && exit 0
rm -f dummy.c dummy
echo mips-mips-riscos{UNAME_RELEASE}
exit 0 ;;
Night_Hawk:Power_UNIX:*:*)
echo powerpc-harris-powerunix
......@@ -138,8 +152,8 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
exit 0 ;;
AViiON:dgux:*:*)
# DG/UX returns AViiON for all architectures
UNAME_PROCESSOR=`uname -p`
if [ $UNAME_PROCESSOR = mc88100 -o $UNAME_PROCESSOR = mc88100 ] ; then
UNAME_PROCESSOR=`/usr/bin/uname -p`
if [ $UNAME_PROCESSOR = mc88100 -o $UNAME_PROCESSOR = mc88110 ] ; then
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \
-o ${TARGET_BINARY_INTERFACE}x = x ] ; then
echo m88k-dg-dgux${UNAME_RELEASE}
......@@ -213,7 +227,7 @@ EOF
echo romp-ibm-bsd4.4
exit 0 ;;
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC NetBSD and
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
exit 0 ;; # report: romp-ibm BSD 4.3
*:BOSX:*:*)
echo rs6000-bull-bosx
......@@ -330,6 +344,9 @@ EOF
p*:CYGWIN*:*)
echo powerpcle-unknown-cygwin32
exit 0 ;;
prep*:SunOS:5.*:*)
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit 0 ;;
*:GNU:*:*)
echo `echo ${UNAME_MACHINE}|sed -e 's,/.*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
exit 0 ;;
......@@ -347,8 +364,12 @@ EOF
echo "${UNAME_MACHINE}-unknown-linux" ; exit 0
elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: m68klinux"; then
echo "${UNAME_MACHINE}-unknown-linuxaout" ; exit 0
elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: elf32ppc"; then
echo "powerpc-unknown-linux" ; exit 0
elif test "${UNAME_MACHINE}" = "alpha" ; then
echo alpha-unknown-linux ; exit 0
elif test "${UNAME_MACHINE}" = "sparc" ; then
echo sparc-unknown-linux ; exit 0
else
# Either a pre-BFD a.out linker (linuxoldld) or one that does not give us
# useful --help. Gcc wants to distinguish between linuxoldld and linuxaout.
......@@ -416,9 +437,15 @@ EOF
exit 0 ;;
M680[234]0:*:R3V[567]*:*)
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0)
3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
UNAME_REL=4.3
if test -f /etc/.relid; then
UNAME_REL=4.3.`awk '{ print $3 }' /etc/.relid`
fi
uname -p 2>/dev/null | grep 86 >/dev/null \
&& echo i486-ncr-sysv4.3 && exit 0 ;;
&& echo i486-ncr-sysv$UNAME_REL && exit 0
uname -p 2>/dev/null | /bin/grep entium >/dev/null \
&& echo i586-ncr-sysv$UNAME_REL && exit 0 ;;
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
uname -p 2>/dev/null | grep 86 >/dev/null \
&& echo i486-ncr-sysv4 && exit 0 ;;
......
......@@ -815,7 +815,7 @@ case $os in
# Each alternative MUST END IN A *, to match a version number.
# -sysv* is not here because it comes later, after sysvr4.
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
| -vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[3456]* \
| -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[3456]* \
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
| -amigados* | -msdos* | -moss* | -newsos* | -unicos* | -aos* | -aof* \
| -nindy* | -mon960* | -vxworks* | -ebmon* | -hms* | -mvs* | -clix* \
......@@ -830,7 +830,7 @@ case $os in
# CYGNUS LOCAL
-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
| -windows* | -osx | -abug | -netware* | -proelf | -os9* \
| -macos* | -mpw* | -magic*)
| -macos* | -mpw* | -magic* | -rtems*)
;;
-mac*)
os=`echo $os | sed -e 's|mac|macos|'`
......
......@@ -648,7 +648,7 @@ AC_ARG_WITH(hc,
c | C) WithHc='C'
;;
in-place )
WithHc='IN-PLACE'
WithHc='IN-PLACE'
;;
*) echo "I don't understand this option: --with-hc=$withval"
exit 1
......@@ -686,6 +686,7 @@ case $WithHc in
c | C) WithHcType='HC_USE_HC_FILES'
;;
IN-PLACE) WithHcType='HC_GLASGOW_GHC'
WithHc='$(TOP_PWD)/ghc/driver/ghc'
;;
esac
AC_SUBST(WithHc)
......@@ -699,16 +700,15 @@ AC_ARG_WITH(gcc,
[HaveGcc=YES; WhatGccIsCalled="$withval"])
AC_SUBST(WhatGccIsCalled)
dnl ** Choose which make to use (default 'make -r')
MakeCmd='make -r'
dnl ** Choose which make to use (default 'make')
MakeCmd='make'
AC_ARG_WITH(make,
[
--with-make=<make command>
Use an alternate command instead of 'make'. This is useful
when GNU make is required (for instance when the default make
supplied by the system won't work, as is the case on FreeBSD
and NetBSD). You probably want to include the '-r' flag with
make, to exclude implicit suffix rules.],
and NetBSD).],
[MakeCmd="$withval"])
AC_SUBST(MakeCmd)
......@@ -741,16 +741,19 @@ AC_SUBST(HcMaxHeapWasSet)
AC_SUBST(HcMaxHeap)
dnl ** figure out about mkdependHS
MkDependHSCmd=':'
MkDependHSCmd='mkdependHS'
if test -f ./ghc/utils/mkdependHS/mkdependHS \
-o -f ./ghc/utils/mkdependHS/mkdependHS.prl ; then
MkDependHSCmd='TopDirPwd/ghc/utils/mkdependHS/mkdependHS'
else
AC_CHECK_PROG(have_mkdependHS,mkdependHS,YES,NO)
if test $have_mkdependHS = 'YES' ; then
MkDependHSCmd='mkdependHS'
fi
fi
AC_ARG_WITH(mkdependHS,
[--with-mkdependHS=<mkdependHS command>
Use a different command instead of 'mkdependHS'.],
[MkDependHSCmd="$withval"])
dnl AC_CHECK_PROG(have_mkdependHS,$MkDependHSCmd,YES,NO)
dnl if test $have_mkdependHS = 'NO' ; then
dnl MkDependHSCmd=':'
dnl fi
AC_SUBST(MkDependHSCmd)
# -------------------------------------------------------------------------
......@@ -764,7 +767,7 @@ if echo $CPP | egrep gcc >/dev/null 2>&1; then
echo '/(\S+\/cpp)/ && print "$1";' > conftest.pl
# GNUCPP: used in jmake.c (GnuCppCmd) and in mkdependC
# (where we could do with the usual pre-#defines)
GNUCPP="gcc -E"
GNUCPP="`eval $PerlCmd -n conftest.pl conftest.out`"
test -n "$verbose" && echo " setting GNUCPP to $GNUCPP"
# RAWCPP: we do not want *any* pre-#defines...
# (e.g., hscpp, mkdependHS)
......@@ -1558,7 +1561,7 @@ option, if used, overrides --with-hc=<...>:
WithHsLibsHc=$withval
;;
in-place )
WithHsLibsHc='IN-PLACE'
WithHsLibsHc='IN-PLACE'
;;
*) echo "I don't understand this option: --with-hc-for-hslibs=$withval"
exit 1
......@@ -1582,6 +1585,7 @@ case $WithHsLibsHc in
fi
;;
IN-PLACE) WithHsLibsHcType='HC_GLASGOW_GHC'
WithHsLibsHc='$(TOP_PWD)/ghc/driver/ghc'
;;
esac
AC_SUBST(WithHsLibsHc)
......@@ -1640,7 +1644,7 @@ The Haskell compiler to compile Happy; this option, if used, overrides
nhc* ) WithHappyHc=$withval
;;
in-place )
WithHappyHc='IN-PLACE'
WithHappyHc='IN-PLACE'
;;
*) echo "I don't understand this option: --with-hc-for-happy=$withval"
exit 1
......@@ -1680,6 +1684,7 @@ case $WithHappyHc in
fi
;;
IN-PLACE) WithHappyHcType='HC_GLASGOW_GHC'
WithHappyHc='$(TOP_PWD)/ghc/driver/ghc'
;;
esac
AC_SUBST(WithHappyHc)
......@@ -1715,7 +1720,7 @@ used, overrides --with-hc=<...>:
WithHaggisHc=$withval
;;
in-place )
WithHaggisHc='IN-PLACE'
WithHaggicHs='IN-PLACE'
;;
*) echo "I don't understand this option: --with-hc-for-haggis=$withval"
exit 1
......@@ -1739,6 +1744,7 @@ case $WithHaggisHc in
fi
;;
IN-PLACE) WithHaggisHcType='HC_GLASGOW_GHC'
WithHaggisHc='$(TOP_PWD)/ghc/driver/ghc'
;;
esac
AC_SUBST(WithHaggisHc)
......@@ -1753,29 +1759,11 @@ fi
dnl
dnl * `Literate' CONFIGURATION STUFF
if test "xxx$DoingLiterate" = 'xxxliterate' ; then
# a very big "if"!
BuildInfoUtils='NO'
AC_ARG_ENABLE(info-utils,
[
*******************************************************************
** Literate programming system OPTIONS:
--enable-info-utils build GNU info/makeinfo utilities],
[case "$enableval" in
yes) BuildInfoUtils='YES'
;;
no) BuildInfoUtils='NO'
;;
*) echo "I don't understand this option: --enable-info-utils=$enableval"
exit 1
;;
esac])
AC_SUBST(BuildInfoUtils)
# here ends a very big if DoingLiterate = 'literate' ...
fi
dnl if test "xxx$DoingLiterate" = 'xxxliterate' ; then
dnl # a very big "if"!
dnl
dnl # here ends a very big if DoingLiterate = 'literate' ...
dnl fi
#
# -------------------------------------------------------------------------
dnl
......@@ -1812,7 +1800,7 @@ used, overrides --with-hc=<...>:
nhc* ) WithNoFibHc=$withval
;;
in-place )
WithNoFibHc='IN-PLACE'
WithNoFibHc='IN-PLACE'
;;
*) echo "I don't understand this option: --with-hc-for-nofib=$withval"
exit 1
......@@ -1852,6 +1840,7 @@ case $WithNoFibHc in
fi
;;
IN-PLACE) WithNoFibHcType='HC_GLASGOW_GHC'
WithNoFibHc='$(TOP_PWD)/ghc/driver/ghc'
;;
esac
AC_SUBST(WithNoFibHc)
......@@ -2034,15 +2023,9 @@ for xx in Real Spectral Imaginary GHC_ONLY Specialise PRIVATE Parallel ; do
echo "#endif" >> nofib/mkworld/buildinfo.jm
done
# Here, by HACK means, we dump all the Build_ info
# Here, by HACK means, we add all the Build_ info
# into a file. See comment above.
rm -f nofib/mkworld/buildinfo.jm
echo creating nofib/mkworld/buildinfo.jm
cat > nofib/mkworld/buildinfo.jm <<EOF
XCOMM ** DO NOT EDIT! **
XCOMM This file is obliterated every time 'configure' is run!
EOF
for xx in normal p t u mc mr mt mp mg 2s 1s du a b c d e f g h i j k l m n o A B ; do
eval "yy=\$Build_$xx"
echo "#ifndef Build_$xx" >> nofib/mkworld/buildinfo.jm
......
......@@ -5,10 +5,12 @@ fptags Denis Howe <dbh@doc.ic.ac.uk>
Bourne-shell script.
Create an emacs tags file for one or more functional programs.
haskell.el A Haskell mode from Simon Marlow <simonm@dcs.glasgow.ac.uk>.
haskell-modes/ A collection of all known "Haskell modes" for GNU Emacs.
haskel.gif Provided by Lennart Augustsson <augustss@cs.chalmers.se>
haskell_poem Speaks for itself.
mira2hs Denis Howe <dbh@doc.ic.ac.uk>
Bourne-shell script.
Convert Miranda code to Haskell, more-or-less.
......
......@@ -7,7 +7,7 @@ include advertising or testimonials from happy users if they send them
along...
Will Partain
partain@dcs.glasgow.ac.uk
partain@dcs.gla.ac.uk
95/12/05
=======================================================================
......@@ -20,7 +20,7 @@ partain@dcs.glasgow.ac.uk
chalmers/thiemann -- Peter Thiemann added "indentation stuff"
and fontification -- version 0.2.
chalmers/sof -- Sigbjorn Finne's <sof@dcs.glasgow.ac.uk> hacked
chalmers/sof -- Sigbjorn Finne's <sof@dcs.gla.ac.uk> hacked
version of Thiemann's.
.......................................................................
......@@ -52,4 +52,4 @@ partain@dcs.glasgow.ac.uk
yale/chak : "extended by Manuel M.T. Chakravarty with rudimentary
editing features (including better syntax table) and support
for the font-lock-mode." Via Hans Wolfgang Loidl
<hwloidl@dcs.glasgow.ac.uk>
<hwloidl@dcs.gla.ac.uk>
This is version 2.01 of the Glorious Glasgow Haskell compilation
system (GHC). This is a major public release. The top-level file
"ANNOUNCE-0.28" says more.
system (GHC). GHC 2.01 is a compiler for Haskell 1.3.
Haskell is "the" standard lazy functional programming language [see
SIGPLAN Notices, May 1992]. Some general merits of GHC are given at
the end of this file.
2.01 is a full GHC release; however, as the first release of the 1.3
compiler, it is "test" quality; it very well may have serious bugs.
The top-level file "ANNOUNCE-2.01" says more.
Documentation of interest:
Haskell is "the" standard lazy functional programming language.
Haskell 1.3 is the current version of the language, released in
May. 1996. The language definition is on the Web at
http://haskell.cs.yale.edu/haskell-report/haskell-report.html
GHC documentation of interest:
* docs/install_guide/installing.{dvi,info,html}: How to configure,
build, and install the system.
......@@ -29,50 +33,54 @@ do not suffer or grumble in silence. The "bug reports" section of the
User's Guide (docs/users_guide/user.{dvi,info,html}) says what we
would like to know when you report a problem.