ghc-hetmet.git
25 years ago[project @ 1999-01-15 17:36:31 by simonm]
simonm [Fri, 15 Jan 1999 17:36:31 +0000 (17:36 +0000)]
[project @ 1999-01-15 17:36:31 by simonm]
- __HASKELL1__ is now 5 (was 4).  Surely not the last word in
  Haskell98 CPP symbols.

- Fix stats munging for new RTS.

25 years ago[project @ 1999-01-15 17:32:22 by simonm]
simonm [Fri, 15 Jan 1999 17:32:22 +0000 (17:32 +0000)]
[project @ 1999-01-15 17:32:22 by simonm]
Forgot a couple of STGCALLs.

25 years ago[project @ 1999-01-15 17:22:02 by sof]
sof [Fri, 15 Jan 1999 17:22:02 +0000 (17:22 +0000)]
[project @ 1999-01-15 17:22:02 by sof]
Annotate the 'foreign import's with 'unsafe'.

25 years ago[project @ 1999-01-15 17:20:15 by sof]
sof [Fri, 15 Jan 1999 17:20:15 +0000 (17:20 +0000)]
[project @ 1999-01-15 17:20:15 by sof]
Tweaked to accept empty declarations (again.)

25 years ago[project @ 1999-01-15 15:57:33 by simonm]
simonm [Fri, 15 Jan 1999 15:57:48 +0000 (15:57 +0000)]
[project @ 1999-01-15 15:57:33 by simonm]
Haskell 98 updates.

25 years ago[project @ 1999-01-15 15:06:20 by simonm]
simonm [Fri, 15 Jan 1999 15:06:20 +0000 (15:06 +0000)]
[project @ 1999-01-15 15:06:20 by simonm]
Remove punning.

25 years ago[project @ 1999-01-15 15:01:41 by simonm]
simonm [Fri, 15 Jan 1999 15:01:41 +0000 (15:01 +0000)]
[project @ 1999-01-15 15:01:41 by simonm]
#if __HASKELL1__ > 4
import Ratio (numerator, denominator)
#endif

25 years ago[project @ 1999-01-15 14:08:21 by simonm]
simonm [Fri, 15 Jan 1999 14:08:21 +0000 (14:08 +0000)]
[project @ 1999-01-15 14:08:21 by simonm]
Remove Void use.

25 years ago[project @ 1999-01-15 14:06:53 by sof]
sof [Fri, 15 Jan 1999 14:06:53 +0000 (14:06 +0000)]
[project @ 1999-01-15 14:06:53 by sof]
Parser didn't like "instance Foo X where {}". Does now.

25 years ago[project @ 1999-01-15 14:06:50 by simonm]
simonm [Fri, 15 Jan 1999 14:06:50 +0000 (14:06 +0000)]
[project @ 1999-01-15 14:06:50 by simonm]
wibble

25 years ago[project @ 1999-01-15 13:32:19 by simonm]
simonm [Fri, 15 Jan 1999 13:32:19 +0000 (13:32 +0000)]
[project @ 1999-01-15 13:32:19 by simonm]
fix isAlphanum/isAlphaNum problems.

25 years ago[project @ 1999-01-15 13:11:04 by simonm]
simonm [Fri, 15 Jan 1999 13:11:04 +0000 (13:11 +0000)]
[project @ 1999-01-15 13:11:04 by simonm]
A couple of Int type signatures to avoid H98 Integer defaulting.

25 years ago[project @ 1999-01-15 12:57:49 by simonm]
simonm [Fri, 15 Jan 1999 12:57:51 +0000 (12:57 +0000)]
[project @ 1999-01-15 12:57:49 by simonm]
H98 changes for non-cygwin targets.

25 years ago[project @ 1999-01-15 12:47:19 by sewardj]
sewardj [Fri, 15 Jan 1999 12:47:20 +0000 (12:47 +0000)]
[project @ 1999-01-15 12:47:19 by sewardj]
Remove 'const' modifier from static closure declarations.  Static
closures are meant to live in R/W data space.

25 years ago[project @ 1999-01-15 10:49:05 by sof]
sof [Fri, 15 Jan 1999 10:49:21 +0000 (10:49 +0000)]
[project @ 1999-01-15 10:49:05 by sof]
Minor syntactic h98 updates

25 years ago[project @ 1999-01-15 10:27:24 by sof]
sof [Fri, 15 Jan 1999 10:27:24 +0000 (10:27 +0000)]
[project @ 1999-01-15 10:27:24 by sof]
Recognise "-- !!!" (as well as "--!!!") as the start of an interesting
comment. The latter isn't liked by a Haskell98 tokeniser, hence the change.

25 years ago[project @ 1999-01-15 10:23:59 by sof]
sof [Fri, 15 Jan 1999 10:23:59 +0000 (10:23 +0000)]
[project @ 1999-01-15 10:23:59 by sof]
Removed debugging code that accidentally was left behind.

25 years ago[project @ 1999-01-15 10:21:43 by sof]
sof [Fri, 15 Jan 1999 10:21:43 +0000 (10:21 +0000)]
[project @ 1999-01-15 10:21:43 by sof]
lexLitChar: '\DEL' wasn't being lexed properly

25 years ago[project @ 1999-01-14 19:53:57 by sof]
sof [Thu, 14 Jan 1999 19:54:05 +0000 (19:54 +0000)]
[project @ 1999-01-14 19:53:57 by sof]
Fixes to support .hi unfoldings containing "_ccall_ dynamic"s

25 years ago[project @ 1999-01-14 19:28:43 by sof]
sof [Thu, 14 Jan 1999 19:28:43 +0000 (19:28 +0000)]
[project @ 1999-01-14 19:28:43 by sof]
Tweaked to cope with Haskell98's change to what constitutes a -- comment

25 years ago[project @ 1999-01-14 18:36:18 by sof]
sof [Thu, 14 Jan 1999 18:36:18 +0000 (18:36 +0000)]
[project @ 1999-01-14 18:36:18 by sof]
added isEmptyMVarZh macro

25 years ago[project @ 1999-01-14 18:31:17 by sof]
sof [Thu, 14 Jan 1999 18:31:17 +0000 (18:31 +0000)]
[project @ 1999-01-14 18:31:17 by sof]
Forgot to commit this before Christmas...on Win32 platforms use
VirtualAlloc() instead CreateFileMapping()&friends to ask for
mega-blocks from the OS. Windows 95-friendlier.

25 years ago[project @ 1999-01-14 18:21:49 by sof]
sof [Thu, 14 Jan 1999 18:21:51 +0000 (18:21 +0000)]
[project @ 1999-01-14 18:21:49 by sof]
Haskell 98 related changes + the addition of the MVar primop,

   isEmptyMVar :: MVar a -> IO Bool
     -- use with care.

25 years ago[project @ 1999-01-14 18:18:45 by sof]
sof [Thu, 14 Jan 1999 18:18:47 +0000 (18:18 +0000)]
[project @ 1999-01-14 18:18:45 by sof]
-syslib posix gets the Haskell 98 treatment

25 years ago[project @ 1999-01-14 18:17:32 by sof]
sof [Thu, 14 Jan 1999 18:17:37 +0000 (18:17 +0000)]
[project @ 1999-01-14 18:17:32 by sof]
-syslib misc meets Haskell 98.

25 years ago[project @ 1999-01-14 18:15:28 by sof]
sof [Thu, 14 Jan 1999 18:15:32 +0000 (18:15 +0000)]
[project @ 1999-01-14 18:15:28 by sof]
* Misc changes to reflect that we're now speaking Haskell 98.
* Augmented IOExts export list with

unsafeIOToST    :: IO a   -> ST s a
stToIO            :: ST s a -> IO a

25 years ago[project @ 1999-01-14 18:12:47 by sof]
sof [Thu, 14 Jan 1999 18:13:05 +0000 (18:13 +0000)]
[project @ 1999-01-14 18:12:47 by sof]
Changes to make the Prelude comply with Haskell 98.

I claim that this completes GHC's implementation of Haskell 98 (at
least feature-wise, but there's bound to be some bugs lurking..)

25 years ago[project @ 1999-01-14 18:08:26 by sewardj]
sewardj [Thu, 14 Jan 1999 18:08:26 +0000 (18:08 +0000)]
[project @ 1999-01-14 18:08:26 by sewardj]
Minor Makefile mods.

25 years ago[project @ 1999-01-14 17:58:41 by sof]
sof [Thu, 14 Jan 1999 17:59:25 +0000 (17:59 +0000)]
[project @ 1999-01-14 17:58:41 by sof]
Assorted minor Haskell 98 changes:

  * Maximal munch rule for "--" comments
  * _ as lower-case letter, "_" is a reserved id. Prefixing unused
    variable names in patterns with '_' causes the renamer not to
    report such names as being unused.
  * allow empty decls
  * comprehensions are now list comprehensions, not monadic.
  * use Monad.fail to signal pattern matching errors within
    do expressions.
  * remove record punning.
  * empty contexts are now legal  (go wild!)
  * allow records with no fields
  * allow newtypes with a labelled field
  * default default is now (Integer, Double)
  * turn off defaulting mechanism for args & res to a _ccall_.
  * allow LHSs of the form  (a -.- b) x = ...
  * Main.main can now have type (IO a)
  * nuked Void (and its use in the compiler sources.)
  * deriving machinery for Enum now also generate 'succ' and 'pred'
    method bindings.

25 years ago[project @ 1999-01-14 17:15:46 by simonm]
simonm [Thu, 14 Jan 1999 17:15:46 +0000 (17:15 +0000)]
[project @ 1999-01-14 17:15:46 by simonm]
x86: only add -fomit-frame-pointer when compiling .hc files.  It gets
in the way of debugging for normal .c files.

25 years ago[project @ 1999-01-14 17:01:30 by simonm]
simonm [Thu, 14 Jan 1999 17:01:30 +0000 (17:01 +0000)]
[project @ 1999-01-14 17:01:30 by simonm]
- compile Happy with -O by default.

25 years ago[project @ 1999-01-14 16:59:51 by sof]
sof [Thu, 14 Jan 1999 16:59:51 +0000 (16:59 +0000)]
[project @ 1999-01-14 16:59:51 by sof]
Arrange for Makefile dependencies to be generated on misc
parser/ helper code.

25 years ago[project @ 1999-01-14 16:57:07 by simonm]
simonm [Thu, 14 Jan 1999 16:57:07 +0000 (16:57 +0000)]
[project @ 1999-01-14 16:57:07 by simonm]
Remove a couple of non-existent closure types.

25 years ago[project @ 1999-01-14 16:55:16 by sof]
sof [Thu, 14 Jan 1999 16:55:16 +0000 (16:55 +0000)]
[project @ 1999-01-14 16:55:16 by sof]
Added indexFS,

   indexFS :: FastString -> Int -> Char

25 years ago[project @ 1999-01-14 14:43:46 by simonm]
simonm [Thu, 14 Jan 1999 14:43:46 +0000 (14:43 +0000)]
[project @ 1999-01-14 14:43:46 by simonm]
Oops, stack check in PAP_entry was *completely* wrong.  Time for a
stack check audit.

25 years ago[project @ 1999-01-14 14:35:04 by simonm]
simonm [Thu, 14 Jan 1999 14:35:04 +0000 (14:35 +0000)]
[project @ 1999-01-14 14:35:04 by simonm]
- fix stack check in PAP_entry.

25 years ago[project @ 1999-01-14 12:17:39 by sewardj]
sewardj [Thu, 14 Jan 1999 12:17:39 +0000 (12:17 +0000)]
[project @ 1999-01-14 12:17:39 by sewardj]
Changed expected output to match new reality.

25 years ago[project @ 1999-01-14 11:57:48 by sewardj]
sewardj [Thu, 14 Jan 1999 11:57:48 +0000 (11:57 +0000)]
[project @ 1999-01-14 11:57:48 by sewardj]
When -DDEBUG, in BYTE_ARR_CTS, allow GET_INFO(a) to be
&MUT_ARR_WORDS_info as well as &ARR_WORDS_info.

25 years ago[project @ 1999-01-14 11:11:29 by simonm]
simonm [Thu, 14 Jan 1999 11:11:29 +0000 (11:11 +0000)]
[project @ 1999-01-14 11:11:29 by simonm]
- check failed_to_evac in scavenge_static.  We might have a static
  indirection (i.e. a CAF) that we can't evacuate to the oldest generation,
  so we have to put it back on the old generation mutable list.

With this change, a bootstrapped compiler now compiles the libraries
successfully.

25 years ago[project @ 1999-01-14 10:49:01 by simonm]
simonm [Thu, 14 Jan 1999 10:49:01 +0000 (10:49 +0000)]
[project @ 1999-01-14 10:49:01 by simonm]
- Don't forget to set failed_to_evac when evacuating a THUNK_SELECTOR
- Fix GC counting

25 years ago[project @ 1999-01-13 18:16:37 by sewardj]
sewardj [Wed, 13 Jan 1999 18:16:37 +0000 (18:16 +0000)]
[project @ 1999-01-13 18:16:37 by sewardj]
Changed expected output to reflect new reality.

25 years ago[project @ 1999-01-13 17:25:37 by simonm]
simonm [Wed, 13 Jan 1999 17:25:59 +0000 (17:25 +0000)]
[project @ 1999-01-13 17:25:37 by simonm]
Added a generational garbage collector.

The collector is reliable but fairly untuned as yet.  It works with an
arbitrary number of generations: use +RTS -G<gens> to change the
number of generations used (default 2).

Stats: +RTS -Sstderr is quite useful, but to really see what's going
on compile the RTS with -DDEBUG and use +RTS -D32.

ARR_PTRS removed - it wasn't used anywhere.

Sanity checking improved:
- free blocks are now spammed when sanity checking is turned on
- a check for leaking blocks is performed after each GC.

25 years ago[project @ 1999-01-13 16:47:26 by sewardj]
sewardj [Wed, 13 Jan 1999 16:47:27 +0000 (16:47 +0000)]
[project @ 1999-01-13 16:47:26 by sewardj]
Code generated by implementTagToCon() gives a useful error message
in case of invalid arguments.

25 years ago[project @ 1999-01-13 16:26:37 by simonm]
simonm [Wed, 13 Jan 1999 16:26:37 +0000 (16:26 +0000)]
[project @ 1999-01-13 16:26:37 by simonm]
testing

25 years ago[project @ 1999-01-13 11:06:24 by simonm]
simonm [Wed, 13 Jan 1999 11:06:24 +0000 (11:06 +0000)]
[project @ 1999-01-13 11:06:24 by simonm]
Z-encodings for '/' and '.' were both 'Zd'.  Change '.' to 'Zs'.

25 years ago[project @ 1999-01-12 14:13:51 by sewardj]
sewardj [Tue, 12 Jan 1999 14:13:51 +0000 (14:13 +0000)]
[project @ 1999-01-12 14:13:51 by sewardj]
Added check target.

25 years ago[project @ 1999-01-12 14:03:27 by sewardj]
sewardj [Tue, 12 Jan 1999 14:03:27 +0000 (14:03 +0000)]
[project @ 1999-01-12 14:03:27 by sewardj]
Made FILE_OBJECT be defined for -D__HUGS__.
Changed .dll file refs to .so for -D__HUGS__.

25 years ago[project @ 1999-01-12 13:45:10 by sewardj]
sewardj [Tue, 12 Jan 1999 13:45:10 +0000 (13:45 +0000)]
[project @ 1999-01-12 13:45:10 by sewardj]
Created a Makefile for fptools/ghc/interpreter.

25 years ago[project @ 1999-01-12 10:59:26 by sewardj]
sewardj [Tue, 12 Jan 1999 10:59:26 +0000 (10:59 +0000)]
[project @ 1999-01-12 10:59:26 by sewardj]
Disabled nonblocking IO (the +128 for file flags) until missing prims
are implemented.

25 years ago[project @ 1999-01-12 10:53:02 by sewardj]
sewardj [Tue, 12 Jan 1999 10:53:02 +0000 (10:53 +0000)]
[project @ 1999-01-12 10:53:02 by sewardj]
Removed extraneous test following 'if ( fo->flags & FILEOBJ_NONBLOCKING_IO )'

25 years ago[project @ 1999-01-11 10:15:04 by sof]
sof [Mon, 11 Jan 1999 10:15:04 +0000 (10:15 +0000)]
[project @ 1999-01-11 10:15:04 by sof]
Fixed caching bug in FPTOOLS_END_{TEXT,DATA}_SECTION.

25 years ago[project @ 1999-01-11 09:11:52 by sof]
sof [Mon, 11 Jan 1999 09:11:52 +0000 (09:11 +0000)]
[project @ 1999-01-11 09:11:52 by sof]
Added new option -f, which forces the creation of 'todir' if it doesn't
already exist.

25 years ago[project @ 1999-01-10 17:16:45 by sof]
sof [Sun, 10 Jan 1999 17:16:45 +0000 (17:16 +0000)]
[project @ 1999-01-10 17:16:45 by sof]
Added definition of WithGhcHcVersion (but left commented out, as it's currently
unused.)

25 years ago[project @ 1999-01-08 18:14:13 by sof]
sof [Fri, 8 Jan 1999 18:14:13 +0000 (18:14 +0000)]
[project @ 1999-01-08 18:14:13 by sof]
mkdependHS: for "source" imports of the form, e.g.,

   import {-# SOURCE #-} Foo

emit dependency on Foo.hi-boot-<iface-file-version-number>
rather than just Foo.hi-boot if the former exists.

25 years ago[project @ 1999-01-08 16:14:49 by simonm]
simonm [Fri, 8 Jan 1999 16:14:49 +0000 (16:14 +0000)]
[project @ 1999-01-08 16:14:49 by simonm]
Generate static closures with float/double fields properly.

25 years ago[project @ 1999-01-08 16:11:23 by simonm]
simonm [Fri, 8 Jan 1999 16:11:23 +0000 (16:11 +0000)]
[project @ 1999-01-08 16:11:23 by simonm]
Fix endianness problems in info table generation.

25 years ago[project @ 1999-01-08 15:36:58 by sewardj]
sewardj [Fri, 8 Jan 1999 15:36:58 +0000 (15:36 +0000)]
[project @ 1999-01-08 15:36:58 by sewardj]
Added -fno-asm-mangling.

25 years ago[project @ 1999-01-08 11:42:09 by simonm]
simonm [Fri, 8 Jan 1999 11:42:09 +0000 (11:42 +0000)]
[project @ 1999-01-08 11:42:09 by simonm]
Add missing <p>

25 years ago[project @ 1999-01-08 11:37:27 by simonm]
simonm [Fri, 8 Jan 1999 11:37:27 +0000 (11:37 +0000)]
[project @ 1999-01-08 11:37:27 by simonm]
Doc changes for revised exception interface.

25 years ago[project @ 1999-01-07 17:49:47 by kw217]
kw217 [Thu, 7 Jan 1999 17:49:47 +0000 (17:49 +0000)]
[project @ 1999-01-07 17:49:47 by kw217]
Add missing export of warnPprTrace (for WARN macro).

25 years ago[project @ 1999-01-07 16:53:10 by simonpj]
simonpj [Thu, 7 Jan 1999 16:53:10 +0000 (16:53 +0000)]
[project @ 1999-01-07 16:53:10 by simonpj]
Fix RnEnv.mkPrintUnqualFn

25 years ago[project @ 1999-01-07 16:39:06 by simonm]
simonm [Thu, 7 Jan 1999 16:39:08 +0000 (16:39 +0000)]
[project @ 1999-01-07 16:39:06 by simonm]
Revised interface to the exception library.  Docs to follow.

25 years ago[project @ 1999-01-07 15:48:40 by simonm]
simonm [Thu, 7 Jan 1999 15:48:40 +0000 (15:48 +0000)]
[project @ 1999-01-07 15:48:40 by simonm]
this file is NON_POSIX_SOURCE, since we use lstat.

25 years ago[project @ 1999-01-07 15:42:33 by simonm]
simonm [Thu, 7 Jan 1999 15:42:33 +0000 (15:42 +0000)]
[project @ 1999-01-07 15:42:33 by simonm]
#include <unistd.h> to get prototype for vfork.

25 years ago[project @ 1999-01-07 14:54:42 by keithw]
keithw [Thu, 7 Jan 1999 14:54:42 +0000 (14:54 +0000)]
[project @ 1999-01-07 14:54:42 by keithw]
Add missing pattern to tidyNote.

25 years ago[project @ 1999-01-07 12:48:13 by simonpj]
simonpj [Thu, 7 Jan 1999 12:48:23 +0000 (12:48 +0000)]
[project @ 1999-01-07 12:48:13 by simonpj]
Small changes to make the compiler boot itself

25 years ago[project @ 1999-01-07 12:47:34 by simonpj]
simonpj [Thu, 7 Jan 1999 12:47:35 +0000 (12:47 +0000)]
[project @ 1999-01-07 12:47:34 by simonpj]
Add debug macro WARN

25 years ago[project @ 1999-01-07 11:18:22 by simonm]
simonm [Thu, 7 Jan 1999 11:18:22 +0000 (11:18 +0000)]
[project @ 1999-01-07 11:18:22 by simonm]
New rev5 hi-boot file.

25 years ago[project @ 1999-01-07 11:13:29 by simonm]
simonm [Thu, 7 Jan 1999 11:13:29 +0000 (11:13 +0000)]
[project @ 1999-01-07 11:13:29 by simonm]
Sync up with .hi-boot file.

25 years ago[project @ 1999-01-06 15:55:03 by simonm]
simonm [Wed, 6 Jan 1999 15:55:03 +0000 (15:55 +0000)]
[project @ 1999-01-06 15:55:03 by simonm]
Sort unboxed slots - part of the fix for large bitmaps.

25 years ago[project @ 1999-01-06 12:27:47 by simonm]
simonm [Wed, 6 Jan 1999 12:27:47 +0000 (12:27 +0000)]
[project @ 1999-01-06 12:27:47 by simonm]
Fixes to the large bitmap code.

25 years ago[project @ 1999-01-06 12:15:35 by simonm]
simonm [Wed, 6 Jan 1999 12:15:35 +0000 (12:15 +0000)]
[project @ 1999-01-06 12:15:35 by simonm]
Oops; committed wrong version.  Revert previous commit.

25 years ago[project @ 1999-01-06 11:52:43 by simonm]
simonm [Wed, 6 Jan 1999 11:52:43 +0000 (11:52 +0000)]
[project @ 1999-01-06 11:52:43 by simonm]
Fixes to the large bitmap code.

25 years ago[project @ 1999-01-06 11:44:44 by simonm]
simonm [Wed, 6 Jan 1999 11:44:44 +0000 (11:44 +0000)]
[project @ 1999-01-06 11:44:44 by simonm]
- check for silly stack sizes in the right place
- stub the link field of the running TSO (fixes a bug in the
  _ccall_GC support).

25 years ago[project @ 1999-01-06 11:35:27 by simonm]
simonm [Wed, 6 Jan 1999 11:35:27 +0000 (11:35 +0000)]
[project @ 1999-01-06 11:35:27 by simonm]
trim import

25 years ago[project @ 1999-01-06 11:29:44 by simonm]
simonm [Wed, 6 Jan 1999 11:29:44 +0000 (11:29 +0000)]
[project @ 1999-01-06 11:29:44 by simonm]
updates

25 years ago[project @ 1999-01-05 12:22:08 by simonpj]
simonpj [Tue, 5 Jan 1999 12:22:12 +0000 (12:22 +0000)]
[project @ 1999-01-05 12:22:08 by simonpj]
Fix renamer crash on bootstrap build

25 years ago[project @ 1998-12-24 14:46:18 by simonpj]
simonpj [Thu, 24 Dec 1998 14:46:18 +0000 (14:46 +0000)]
[project @ 1998-12-24 14:46:18 by simonpj]
Fix simplifier bug that forgot mkRhsTyLam

25 years ago[project @ 1998-12-23 12:33:52 by simonm]
simonm [Wed, 23 Dec 1998 12:33:52 +0000 (12:33 +0000)]
[project @ 1998-12-23 12:33:52 by simonm]
A couple of small additions.

25 years ago[project @ 1998-12-23 12:26:00 by simonm]
simonm [Wed, 23 Dec 1998 12:26:00 +0000 (12:26 +0000)]
[project @ 1998-12-23 12:26:00 by simonm]
Add strictness for fork# and par#.

25 years ago[project @ 1998-12-23 12:12:19 by simonm]
simonm [Wed, 23 Dec 1998 12:12:23 +0000 (12:12 +0000)]
[project @ 1998-12-23 12:12:19 by simonm]
Update for version 4.02

25 years ago[project @ 1998-12-23 10:24:06 by simonpj]
simonpj [Wed, 23 Dec 1998 10:24:06 +0000 (10:24 +0000)]
[project @ 1998-12-23 10:24:06 by simonpj]
Fix strictness of NewArrayOp and NewMutVarOp in PrimOp.lhs

25 years ago[project @ 1998-12-22 18:52:04 by simonm]
simonm [Tue, 22 Dec 1998 18:52:04 +0000 (18:52 +0000)]
[project @ 1998-12-22 18:52:04 by simonm]
Filter out type arguments when analysing primops.

25 years ago[project @ 1998-12-22 18:03:27 by simonm]
simonm [Tue, 22 Dec 1998 18:03:27 +0000 (18:03 +0000)]
[project @ 1998-12-22 18:03:27 by simonm]
Another fix for getScrutineeTyCon: ignore Fun tycons.

25 years ago[project @ 1998-12-22 17:00:11 by simonm]
simonm [Tue, 22 Dec 1998 17:00:11 +0000 (17:00 +0000)]
[project @ 1998-12-22 17:00:11 by simonm]
Remove overlapped case correctly spotted by GHC.

25 years ago[project @ 1998-12-22 16:31:28 by simonpj]
simonpj [Tue, 22 Dec 1998 16:31:39 +0000 (16:31 +0000)]
[project @ 1998-12-22 16:31:28 by simonpj]
1.  Add primOpStrictness to PrimOp.lhs, and use it in
- the strictness analyser
- the simplifier
    to deal correctly with PrimOps that are non-strict.

   ToDo: use this new facility to clean up SeqOp, ParOp.

2. Fix the instance-decl-import bug, but printing de-synonym'd types
   in interface files.

3. Make the simplifier treat applications with an unlifted-type arg
   in the same way it would if the function was strict
   (in rebuild_strict)

25 years ago[project @ 1998-12-22 12:55:54 by simonm]
simonm [Tue, 22 Dec 1998 12:55:55 +0000 (12:55 +0000)]
[project @ 1998-12-22 12:55:54 by simonm]
splitAlgTyConAppThroughNewTypes becomes splitTyConAppThroughNewTypes
(i.e. it handles primitive types in addition to other TyCons).  This
enables case-of-case-of-primop to compile correctly.

25 years ago[project @ 1998-12-22 10:47:43 by simonm]
simonm [Tue, 22 Dec 1998 10:47:45 +0000 (10:47 +0000)]
[project @ 1998-12-22 10:47:43 by simonm]
Update .hi-boot files (Expr only takes one parameter and Var has none).

25 years ago[project @ 1998-12-21 12:09:32 by simonpj]
simonpj [Mon, 21 Dec 1998 12:09:32 +0000 (12:09 +0000)]
[project @ 1998-12-21 12:09:32 by simonpj]
Add PprType.hi-boot; used only for error messages in Type.lhs

25 years ago[project @ 1998-12-21 10:45:36 by simonpj]
simonpj [Mon, 21 Dec 1998 10:45:36 +0000 (10:45 +0000)]
[project @ 1998-12-21 10:45:36 by simonpj]
Add utils/Panic.lhs

25 years ago[project @ 1998-12-21 09:43:43 by simonpj]
simonpj [Mon, 21 Dec 1998 09:43:44 +0000 (09:43 +0000)]
[project @ 1998-12-21 09:43:43 by simonpj]
Remove Eval altogether

25 years ago[project @ 1998-12-21 09:41:09 by simonpj]
simonpj [Mon, 21 Dec 1998 09:41:09 +0000 (09:41 +0000)]
[project @ 1998-12-21 09:41:09 by simonpj]
Forgot to commit PrelGHC.hi-boot; changes to syntax of open kind in CCallable

25 years ago[project @ 1998-12-21 09:39:56 by simonpj]
simonpj [Mon, 21 Dec 1998 09:39:56 +0000 (09:39 +0000)]
[project @ 1998-12-21 09:39:56 by simonpj]
Forgot to commit changes to interface file munging in ghc-iface.lprl

25 years ago[project @ 1998-12-21 09:37:54 by simonpj]
simonpj [Mon, 21 Dec 1998 09:37:55 +0000 (09:37 +0000)]
[project @ 1998-12-21 09:37:54 by simonpj]
Fix two minor typechecker bugs

25 years ago[project @ 1998-12-18 17:40:31 by simonpj]
simonpj [Fri, 18 Dec 1998 17:42:39 +0000 (17:42 +0000)]
[project @ 1998-12-18 17:40:31 by simonpj]
Another big commit from Simon.  Actually, the last one
didn't all go into the main trunk; because of a CVS glitch it
ended up in the wrong branch.

So this commit includes:

* Scoped type variables
* Warnings for unused variables should work now (they didn't before)
* Simplifier improvements:
- Much better treatment of strict arguments
- Better treatment of bottoming Ids
- No need for w/w split for fns that are merely strict
- Fewer iterations needed, I hope
* Less gratuitous renaming in interface files and abs C
* OccName is a separate module, and is an abstract data type

I think the whole Prelude and Exts libraries compile correctly.
Something isn't quite right about typechecking existentials though.

25 years ago[project @ 1998-12-15 13:08:03 by simonm]
simonm [Tue, 15 Dec 1998 13:08:03 +0000 (13:08 +0000)]
[project @ 1998-12-15 13:08:03 by simonm]
add missing file.

25 years ago[project @ 1998-12-15 09:41:57 by simonm]
simonm [Tue, 15 Dec 1998 09:41:57 +0000 (09:41 +0000)]
[project @ 1998-12-15 09:41:57 by simonm]
add missing file from the merge.  The ghc-4-01 tag will be added.

25 years ago[project @ 1998-12-14 14:57:28 by simonm]
simonm [Mon, 14 Dec 1998 14:57:28 +0000 (14:57 +0000)]
[project @ 1998-12-14 14:57:28 by simonm]
fix out of date references to header files.

25 years ago[project @ 1998-12-10 08:54:18 by simonpj]
simonpj [Thu, 10 Dec 1998 08:54:19 +0000 (08:54 +0000)]
[project @ 1998-12-10 08:54:18 by simonpj]
This massive commit is what Simon has been up to for a couple of weeks.

1.  Scoped type variables are in

2.  The typechecker works a bit differently.
    In partiular, the compiler no longer has TcTyVars of
a different type than TyVars.
    All the 's' and 'flexi' type parameters have vanished from Id, TyVar,
Type, etc.
    The typchecker monad is now in the IO world (though I didn't get
around to removing the 's' parameter from the monad, but it's
no longer used)

    Bottom line: significantly simpler,
 fewer gratuitous conversions from TcType <-> Type
 but less type security in the compiler

    There was a reason for doing this now; somehow the 's' stuff
    got in the way of kind inference for scoped type variables
    and I lost patience with it.

3.  Haskell98-style reporting of scope errors; i.e. you only get
    an error if you use a variable that could mean two different things.
    At the same time I did a lot of tidying-up in the renamer.

4.  Mostly-complete fix to the reporting of unused variables, which
    has never worked properly.  (The 'mostly' bit is because it reports
    those 'system' tycons like _C as unused.  I'm on the job.)

5.  The parser is a bit tider than it was.  A few more ugn files give
    a more refined C data type.  I had to tackle this because of
    the scoped type variables.

6.  Haskell98-style fixities.  Fixity decls can occur wherever a type
    signature can

7.  Some HsSyn changes that constitute minor tidy ups
Put TypeDecl and ClassDecl into one type [HsDecls]
Improved the HsMatch/GRHSs etc data types.

8.  TcGRHSs is removed; combined into TcMatches.

I DO NOT PROMISE THAT ALL OF THIS WORKS.  It compiles the Prelude,
but I have not tested it more than that.  Stick to 4.01 if you want a
compiler that's sure to work.

25 years ago[project @ 1998-12-09 17:52:09 by sof]
sof [Wed, 9 Dec 1998 17:52:09 +0000 (17:52 +0000)]
[project @ 1998-12-09 17:52:09 by sof]
Added unpackCStringST - unmarshal C strings promptly