Permalink
Browse files

[project @ 1998-12-02 13:17:09 by simonm]

Move 4.01 onto the main trunk.
  • Loading branch information...
1 parent 967cc47 commit 438596897ebbe25a07e1c82085cfbc5bdb00f09e simonm committed Dec 2, 1998
Showing 1,331 changed files with 109,513 additions and 110,526 deletions.
View
@@ -33,47 +33,24 @@
/* Define as the symbol which marks the end of the data section */
#undef DATA_SECTION_END_MARKER
-/* Define as the decl which terminates the data section */
-#undef DATA_SECTION_END_MARKER_DECL
-
/* Define if time.h or sys/time.h define the altzone variable */
#undef HAVE_ALTZONE
-/* Define if you have /bin/sh */
-#define HAVE_BIN_SH 0
-
-/* Define if you have the GetModuleFileName function. */
-#define HAVE_GETMODULEFILENAME 0
-
/* Define if C compiler supports long long types */
#undef HAVE_LONG_LONG
/* Define if fcntl.h defines O_BINARY */
#undef HAVE_O_BINARY
-/* Define if compiler supports prototypes. */
-#define HAVE_PROTOTYPES 0
-
-/* Define if you have the WinExec function. */
-#define HAVE_WINEXEC 0
-
/* Define if C Symbols have a leading underscore added by the compiler */
#undef LEADING_UNDERSCORE
/* Define as the symbol which marks the end of the text section */
#undef TEXT_SECTION_END_MARKER
-/* Define to decl that terminates text section. */
-#undef TEXT_SECTION_END_MARKER_DECL
-
/* Define to the type of the timezone variable (usually long or time_t) */
#undef TYPE_TIMEZONE
-/* Define if signal handlers have type void (*)(int)
- * (Otherwise, they're assumed to have type int (*)(void).)
- */
-#define VOID_INT_SIGNALS 0
-
/* Leave that blank line there!! Autoheader needs it.
If you're adding to this file, keep in mind:
View
@@ -1,4 +1,4 @@
-dnl $Id: aclocal.m4,v 1.34 1998/11/24 21:28:00 reid Exp $
+dnl $Id: aclocal.m4,v 1.35 1998/12/02 13:17:10 simonm Exp $
dnl
dnl Extra autoconf macros for the Glasgow fptools
dnl
@@ -470,7 +470,7 @@ for i in etext _etext __etext; do
fi
done
if test "$not_done" = 1; then
-FPTOOLS_IN_SCOPE(etext asm("etext"),etext,fptools_cv_end_of_text)
+FPTOOLS_IN_SCOPE(etext asm("etext"),etext,fptools_cv_end_of_text);
if test "$fptools_cv_end_of_text" = yes; then
AC_DEFINE(TEXT_SECTION_END_MARKER_DECL, etext asm("etext"))
AC_DEFINE(TEXT_SECTION_END_MARKER, etext)
@@ -496,7 +496,7 @@ for i in end _end __end; do
fi
done
if test "$not_done" = 1; then
-FPTOOLS_IN_SCOPE(end asm("end"),end,fptools_cv_end_of_data)
+FPTOOLS_IN_SCOPE(end asm("end"),end,fptools_cv_end_of_data);
if test "$fptools_cv_end_of_data" = yes; then
AC_DEFINE(DATA_SECTION_END_MARKER_DECL, end asm("end"))
AC_DEFINE(DATA_SECTION_END_MARKER, end)
View
@@ -436,7 +436,7 @@ dnl ** check for full ANSI header (.h) files
AC_HEADER_STDC
dnl ** check for specific header (.h) files that we are interested in
-AC_CHECK_HEADERS(Files.h assert.h console.h ctype.h dirent.h errno.h fcntl.h float.h ftw.h grp.h ieee754.h malloc.h memory.h nlist.h pascal.h pwd.h sgtty.h siginfo.h signal.h stat.h stdlib.h stdarg.h string.h sys/fault.h sys/file.h sys/ioctl.h sys/mman.h sys/param.h sys/procfs.h sys/resource.h sys/signal.h sys/socket.h netinet/tcp.h sys/stat.h sys/syscall.h sys/time.h sys/timeb.h sys/timers.h sys/times.h sys/types.h sys/utsname.h sys/vadvise.h sys/wait.h termio.h termios.h time.h types.h unistd.h utime.h values.h vfork.h readline/readline.h bfd.h)
+AC_CHECK_HEADERS(Files.h assert.h console.h ctype.h dirent.h errno.h fcntl.h float.h ftw.h grp.h ieee754.h malloc.h memory.h nlist.h pascal.h pwd.h sgtty.h siginfo.h signal.h stat.h stdlib.h stdarg.h string.h sys/fault.h sys/file.h sys/ioctl.h sys/limits.h sys/mman.h sys/param.h sys/procfs.h sys/resource.h sys/signal.h sys/socket.h netinet/tcp.h sys/stat.h sys/syscall.h sys/time.h sys/timeb.h sys/timers.h sys/times.h sys/types.h sys/utsname.h sys/vadvise.h sys/wait.h termio.h termios.h time.h types.h unistd.h utime.h values.h vfork.h readline/readline.h bfd.h)
dnl ** check for DOS include files
AC_CHECK_HEADERS(dos.h conio.h io.h std.h)
View
@@ -1,8 +1,8 @@
- The Glasgow Haskell Compiler -- version 3.02
+ The Glasgow Haskell Compiler -- version 4.01
==============================================
We are pleased to announce a new release of the Glasgow Haskell
-Compiler (GHC), version 3.02. The source distribution is freely
+Compiler (GHC), version 4.01. The source distribution is freely
available via the World-Wide Web and through anon. FTP; details below.
Haskell is "the" standard lazy functional programming language; the
@@ -14,15 +14,19 @@ related information is available from the Haskell home page at
+ What's new
=============
-GHC 3.02 is a source-only release. Major news items:
+GHC 4.01 is a small increment over 4.00. Many bugs have been fixed.
+The following features are new:
- * A new specialiser,
- * A new unsafeCoerce# primitive.
- * A NOINLINE pragma.
- * Many bugs fixed, including several performance-related ones,
+ * Weak pointers,
+ * The foreign function interface is now complete.
-GHC 3.02 produces the fastest code since 0.29, but there's still
-plenty of tuning to do.
+In addition, bootstrapping the compiler should now work out of the box.
+
+The following things have not been fixed yet:
+
+ * The native code generator is still flaky, and is turned off by
+ default for the time being.
+ * The profiler is still flaky.
+ Mailing lists
================
@@ -64,21 +68,22 @@ for tar, please)!
+ System requirements
======================
-To compile up this source-only release, you need a machine with 16+MB
+To compile up this source-only release, you need a machine with 32+MB
memory, GNU C (`gcc'), `perl' plus a version of GHC installed (version
-2.10 at least). We have seen GHC work on these platforms:
+2.10 at least). This release is known to work on the following platforms:
+
+ * i386-unknown-{linux,solaris2,freebsd,cygwin32}
+ * sparc-sun-{sunos4,solaris2}
+
+Ports to the following platforms should be relatively easy, but
+haven't been tested due to lack of time/hardware:
* alpha-dec-osf{2,3}
* hppa1.1-hp-hpux{9,10}
- * sparc-sun-{sunos4,solaris2}
* mips-sgi-irix{5,6}
- * i386-unknown-{linux,solaris2,freebsd,cygwin32}.
* {rs6000,powerpc}-ibm-aix
-Similar platforms should work with minimal hacking effort. The installer's
-guide included in distribution gives a complete run-down of what-ports-work;
-an on-line version can be found at
-
- http://www.dcs.gla.ac.uk/fp/software/ghc/3.02/installation_guide/installing_toc.html
+The installer's guide included in distribution gives a complete
+run-down of what-ports-work; an on-line version can be found at
-EOF
+ http://www.dcs.gla.ac.uk/fp/software/ghc/4.01/installation_guide/installing_toc.html
View
@@ -1,5 +1,5 @@
#-----------------------------------------------------------------------------
-# $Id: Makefile,v 1.7 1997/03/24 08:39:19 sof Exp $
+# $Id: Makefile,v 1.8 1998/12/02 13:17:13 simonm Exp $
#
TOP=.
@@ -21,9 +21,9 @@ include $(TOP)/mk/boilerplate.mk
# we descend into compiler/ and lib/
#
ifeq "$(GhcWithHscBuiltViaC)" "NO"
-SUBDIRS = utils driver includes runtime docs compiler lib
+SUBDIRS = utils driver includes rts docs compiler lib
else
-SUBDIRS = utils driver includes runtime docs lib compiler
+SUBDIRS = utils driver includes rts docs lib compiler
endif
# Easier to copy
View
@@ -1 +1 @@
-The Glamorous Glasgow Haskell Compiler, version 3.02, patchlevel 0
+The Glamorous Glasgow Haskell Compiler, version 4.01, patchlevel 0
View
@@ -1,41 +1,47 @@
-This is version 3.02 of the Glorious Glasgow Haskell compilation
-system (GHC). GHC 3.02 is a compiler for Haskell 1.4.
+This is version 4.01 of the Glorious Glasgow Haskell compilation
+system (GHC). GHC 4.01 is a compiler for Haskell 1.4.
Haskell is "the" standard lazy functional programming language.
Haskell 1.4 is the current version of the language, released in
April 1997. The language definition is on the Web at
http://www.haskell.org/report/index.html.
+More information on GHC can be found on its web page
+
+ http://www.dcs.gla.ac.uk/fp/software/ghc
+
GHC documentation of interest:
-* docs/installing.{dvi,info,html}: How to configure, build, and
+* docs/installing.{dvi,html}: How to configure, build, and
install the system.
The document, as with many others, is in TeX-produced DVI format
- (.dvi suffix), or GNU Info format (.info); the latter is close to
- plain ASCII, if that's what you want.
+ (.dvi suffix), or HTML.
-* ghc/docs/users_guide/user.{dvi,info,html}: How to use GHC; e.g., what
+* ghc/docs/users_guide/user.{dvi,html}: How to use GHC; e.g., what
options are available, how to cope with common problems, how to use
the profiling facilities, etc.
+* ghc/docs/libraries/libs.{dvi,html}: Several libraries that are
+ provided by both GHC and Hugs.
+
We welcome your comments and suggestions about this software! Please
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.
+User's Guide says what we would like to know when you report a
+problem.
-Current AQUA team (all @dcs.gla.ac.uk):
+Current GHC team:
+
+ Simon Peyton Jones ( simonpj@microsoft.com) [our Fearless Leader]
+ Sigbjorn Finne (v-sfinne@microsoft.com) [hired hand]
+ Simon Marlow (t-simonm@microsoft.com) [hired hand]
+
+Past contributors and/or continuing advisors (all @dcs.gla.ac.uk):
- Sigbjorn Finne (sof) [hired hand]
- Hans Wolfgang Loidl (hwloidl) [PhD student]
- Simon Marlow (simonm) [hired hand]
Thomas Nordin (nordin) [@cse.ogi.edu; Green Card Hero]
- Simon Peyton Jones (simonpj) [our Fearless Leader]
+ Hans Wolfgang Loidl (hwloidl) [PhD student]
Patrick Sansom (sansom) [hired hand, Bidirectional Analyses]
Phil Trinder (trinder) [hired hand, Parade]
-
-Past contributors and/or continuing advisors:
-
Andy Gill (andy) [PhD student; at HP]
Cordy Hall (cvh) [GRASP]
Kevin Hammond (kh) [GRASP; at St. Andrews]
@@ -49,6 +55,8 @@ Past contributors and/or continuing advisors:
David N Turner (dnt) [Linear Types; at An-Teallach]
Phil Wadler (wadler) [GRASP; at Lucent]
+And many others who've contributed bits of code / bug reports in the past.
+
Cool people who've let us use their machines:
sparc-sun-sunos{4,5} PacSoft, Oregon Graduate Institute
@@ -65,14 +73,13 @@ Simon's projects' acronyms:
GRASP ('90-'92): Graph reduction applications support project
AQUA ('93- ): Declarative systems architecture: a quantitative approach
-GHC WWW page: http://www.dcs.gla.ac.uk/fp/software/ghc/
-
E-mail contacts:
glasgow-haskell-bugs@dcs.gla.ac.uk (bug reports mailing list)
glasgow-haskell-users@dcs.gla.ac.uk (users' mailing list)
Send mail to majordomo@dcs.gla.ac.uk with 'help' in the body of the
-message for information on joining either of these mailing lists.
+message for information on joining/leaving either of these mailing
+lists.
Anonymous FTP site: ftp://ftp.dcs.gla.ac.uk:pub/haskell/glasgow.
Mostly mirrored by ftp.cs.chalmers.se and haskell.org (same
View
@@ -0,0 +1,106 @@
+ToDo
+~~~~
+* Test effect of eta-expanding past (case x of ..)
+
+* Bottom strictness isn't right. Should be (eg) SSX, not just X.
+
+* Enumeration types in worker/wrapper for strictness analysis
+
+* Use (!) types in data cons to unbox.
+
+* Check constant folding
+
+* .hi file isn't updated if the only change is to the exports.
+ For example, UgenAll.lhs re-exports all of U_binding.hs; when a data type
+ decl in the latter changes, the .hi file for the former isn't updated.
+ I think this happens when a module exports another mdodule thus:
+
+ module UgenAll( module U_binding, ... ) where
+
+* This should be reported as an error:
+ data T k = MkT (k Int#)
+
+* Bogus report of overlapped pattern for
+ f (R {field = [c]}) = 1
+ f (R {}) = 2
+ This shows up for TyCon.maybeTyConSingleCon
+
+* > module Main( main ) where
+
+ > f :: String -> Int
+ > f "=<" = 0
+ > f "=" = 0
+
+ > g :: [Char] -> Int
+ > g ['=','<'] = 0
+ > g ['='] = 0
+
+ > main = return ()
+
+ For ``f'' the following is reported.
+
+ tmp.lhs:4:
+ Pattern match(es) are overlapped in the definition of function `f'
+ "=" = ...
+
+ There are no complaints for definition for ``g''.
+
+* Without -O I don't think we need change the module version
+ if the usages change; I forget why it changes even with -O
+
+* Record selectors for existential type; no good! What to do?
+ Record update doesn't make sense either.
+
+ Need to be careful when figuring out strictness, and when generating
+ worker-wrapper split.
+
+ Also when deriving.
+
+* Consructor re-use via CSE
+
+ Notes on module dependencies
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The Name/Var/Type group is a bit complicated. Here's the deal
+
+ Name, PrimRep, FieldLabel (uses Type.Type)
+then
+ Var (uses Const.Con, IdInfo.IdInfo, Type.GenType, Type.Kind)
+then
+ VarEnv, VarSet
+then
+ Class (uses TyCon.TyCon, Type.Type, SpecEnv.SpecEnv)
+then
+ TyCon (uses Type.Type, Type.Kind, DataCon.DataCon)
+then
+ Type (uses [DataCon.DataCon])
+then
+ DataCon, TysPrim, Unify, SpecEnv, PprType
+then
+ IdInfo, TysWiredIn (uses DataCon.mkDataCon, [MkId.mkDataConId])
+then
+ PrimOp (uses PprType, TysWiredIn)
+then
+ Const (needs PrimOp, [TysWiredIn.stringTy])
+then
+ Id (needs Const.Con(..)), CoreSyn
+then
+ CoreUtils, OccurAnal
+then
+ CoreUnfold (uses OccurAnal)
+then
+ MkId (uses CoreUnfold)
+
+
+PrimOp uses TysWiredIn
+
+
+Add
+~~~
+basicTypes/DataCon.lhs
+basicTypes/DataCon.hi-boot
+
+Remove
+~~~~~~
+specialise/SpecUtils.lhs
+basicTypes/IdUtils.lhs
Oops, something went wrong.

0 comments on commit 4385968

Please sign in to comment.