ghc-hetmet.git
25 years ago[project @ 1999-01-21 15:08:51 by sof]
sof [Thu, 21 Jan 1999 15:08:51 +0000 (15:08 +0000)]
[project @ 1999-01-21 15:08:51 by sof]
With Haskell98, Enum.enumFromThen can generate sequences that
are either increasing, decreasing or infinite.

25 years ago[project @ 1999-01-21 10:31:41 by simonm]
simonm [Thu, 21 Jan 1999 10:31:57 +0000 (10:31 +0000)]
[project @ 1999-01-21 10:31:41 by simonm]
Resurrect ticky-ticky profiling.  Not quite polished yet, but it
compiles and produces some reasonable-looking stats.

25 years ago[project @ 1999-01-21 10:30:24 by simonm]
simonm [Thu, 21 Jan 1999 10:30:24 +0000 (10:30 +0000)]
[project @ 1999-01-21 10:30:24 by simonm]
Add $(HC_OPTS) to $(CC_OPTS) - this is necessary to get the per-way
flags into the plain-C compilations.

25 years ago[project @ 1999-01-20 16:24:02 by simonm]
simonm [Wed, 20 Jan 1999 16:24:02 +0000 (16:24 +0000)]
[project @ 1999-01-20 16:24:02 by simonm]
Make use of -F<factor> flag in the two-space collector.

25 years ago[project @ 1999-01-20 16:07:40 by simonm]
simonm [Wed, 20 Jan 1999 16:07:43 +0000 (16:07 +0000)]
[project @ 1999-01-20 16:07:40 by simonm]
The BLACKHOLEs created when entering a CAF for the first time are now
CAF_BLACKHOLES, distinguishing them from the blackholes created by
lazy blackholing.

This enables the lazy blackholing algorithm to be optimised by not
blackholing a section of stack that has already been traversed.

25 years ago[project @ 1999-01-20 11:14:21 by simonm]
simonm [Wed, 20 Jan 1999 11:14:21 +0000 (11:14 +0000)]
[project @ 1999-01-20 11:14:21 by simonm]
Increase CmdLineOpts stack size to 4M.

25 years ago[project @ 1999-01-20 10:54:12 by sof]
sof [Wed, 20 Jan 1999 10:54:12 +0000 (10:54 +0000)]
[project @ 1999-01-20 10:54:12 by sof]
hook in GetOpt docs

25 years ago[project @ 1999-01-20 10:43:46 by sof]
sof [Wed, 20 Jan 1999 10:43:46 +0000 (10:43 +0000)]
[project @ 1999-01-20 10:43:46 by sof]
Back again - somehow got lost.

25 years ago[project @ 1999-01-20 09:15:37 by sof]
sof [Wed, 20 Jan 1999 09:15:37 +0000 (09:15 +0000)]
[project @ 1999-01-20 09:15:37 by sof]
Dead code removal

25 years ago[project @ 1999-01-20 09:13:59 by simonm]
simonm [Wed, 20 Jan 1999 09:13:59 +0000 (09:13 +0000)]
[project @ 1999-01-20 09:13:59 by simonm]
Increase PrelNum stack size to 3M.  Funny, it only needed 2M yesterday.

25 years ago[project @ 1999-01-19 17:22:55 by simonm]
simonm [Tue, 19 Jan 1999 17:22:55 +0000 (17:22 +0000)]
[project @ 1999-01-19 17:22:55 by simonm]
Don't forget to reset the evacuated flag on to-space blocks when
generations == 1.

25 years ago[project @ 1999-01-19 17:06:02 by simonm]
simonm [Tue, 19 Jan 1999 17:06:05 +0000 (17:06 +0000)]
[project @ 1999-01-19 17:06:02 by simonm]
Support '+RTS -G1'  i.e. a two-space collector.

25 years ago[project @ 1999-01-19 16:56:50 by simonm]
simonm [Tue, 19 Jan 1999 16:56:50 +0000 (16:56 +0000)]
[project @ 1999-01-19 16:56:50 by simonm]
Small fix to slop skipping.

25 years ago[project @ 1999-01-19 15:41:56 by simonm]
simonm [Tue, 19 Jan 1999 15:41:56 +0000 (15:41 +0000)]
[project @ 1999-01-19 15:41:56 by simonm]
Change the sizing for intermediate generations.  Now the formula is

max_size = max (oldgen_max * g / generations,
RtsFlags.GcFlags.minOldGenSize)

25 years ago[project @ 1999-01-19 15:19:23 by sof]
sof [Tue, 19 Jan 1999 15:19:24 +0000 (15:19 +0000)]
[project @ 1999-01-19 15:19:23 by sof]
Types of foreign imports weren't being zonked, with the lethal conseq.
that any unbound kind variables weren't being defaulted to something
sensible.

Showed up when trying to compile a 'foreign import' with type

  StablePtr a -> IO ()

25 years ago[project @ 1999-01-19 15:13:54 by simonm]
simonm [Tue, 19 Jan 1999 15:13:54 +0000 (15:13 +0000)]
[project @ 1999-01-19 15:13:54 by simonm]
Banner message now advertises Haskell 98.

25 years ago[project @ 1999-01-19 15:07:53 by simonm]
simonm [Tue, 19 Jan 1999 15:07:56 +0000 (15:07 +0000)]
[project @ 1999-01-19 15:07:53 by simonm]
- Add -F<factor> flag which governs the threshold size of the oldest
  generation.

- Add RtsFlags.GcFlags.minOldGenSize (no flag yet) so that we don't
  have to guess the initial size of the oldest generation.

25 years ago[project @ 1999-01-19 14:40:00 by sof]
sof [Tue, 19 Jan 1999 14:40:00 +0000 (14:40 +0000)]
[project @ 1999-01-19 14:40:00 by sof]
foreign decls: use wlkHsSigType, not wlkHsType, since the tysig may
have implicitly quantified tyvars.

25 years ago[project @ 1999-01-19 13:50:06 by simonm]
simonm [Tue, 19 Jan 1999 13:50:06 +0000 (13:50 +0000)]
[project @ 1999-01-19 13:50:06 by simonm]
Increase stack size for PrelNum.lhs.

25 years ago[project @ 1999-01-19 13:49:29 by simonm]
simonm [Tue, 19 Jan 1999 13:49:29 +0000 (13:49 +0000)]
[project @ 1999-01-19 13:49:29 by simonm]
CmdLineOpts needs -K3m for some reason.

25 years ago[project @ 1999-01-19 13:10:21 by simonm]
simonm [Tue, 19 Jan 1999 13:10:21 +0000 (13:10 +0000)]
[project @ 1999-01-19 13:10:21 by simonm]
4.02 updates.

25 years ago[project @ 1999-01-19 12:52:37 by simonm]
simonm [Tue, 19 Jan 1999 12:52:37 +0000 (12:52 +0000)]
[project @ 1999-01-19 12:52:37 by simonm]
Update for 4.02.

25 years ago[project @ 1999-01-19 12:43:31 by simonm]
simonm [Tue, 19 Jan 1999 12:43:31 +0000 (12:43 +0000)]
[project @ 1999-01-19 12:43:31 by simonm]
Update for 4.02.

25 years ago[project @ 1999-01-19 11:44:07 by sof]
sof [Tue, 19 Jan 1999 11:44:09 +0000 (11:44 +0000)]
[project @ 1999-01-19 11:44:07 by sof]
The Fight against needless use of (++) continues.

25 years ago[project @ 1999-01-19 11:39:44 by sof]
sof [Tue, 19 Jan 1999 11:39:44 +0000 (11:39 +0000)]
[project @ 1999-01-19 11:39:44 by sof]
mkExportAvails: remove NotAvailable entries corresponding
to 'hidden' entities from 'unqual_avails'. Not needed and
leaving them in causes bother later on in the renamer.

This fixes the problem of compiling

   module B ( module A ) where { import A hiding ( a ) }

Regression test added to check for this - will commit soon.

25 years ago[project @ 1999-01-19 09:57:12 by sof]
sof [Tue, 19 Jan 1999 09:57:12 +0000 (09:57 +0000)]
[project @ 1999-01-19 09:57:12 by sof]
bracket and bracket_ had a less general type than they should
have. They now match what the docs says.

25 years ago[project @ 1999-01-19 09:55:05 by sof]
sof [Tue, 19 Jan 1999 09:55:05 +0000 (09:55 +0000)]
[project @ 1999-01-19 09:55:05 by sof]
Added showBin (binary nums - no, the 'old' showBin & friends hasn't been resurrected)
+ showIntAtBase to export list:

   showBin       :: (Integral a) => a -> ShowS
   showIntAtBase :: Integral a
         => a            -- base
         -> (a -> Char)  -- digit to char
         -> a            -- number to show.
         -> ShowS

25 years ago[project @ 1999-01-19 09:51:21 by sof]
sof [Tue, 19 Jan 1999 09:51:25 +0000 (09:51 +0000)]
[project @ 1999-01-19 09:51:21 by sof]
Misc doc-fixes and updates.

25 years ago[project @ 1999-01-19 09:49:55 by simonm]
simonm [Tue, 19 Jan 1999 09:49:55 +0000 (09:49 +0000)]
[project @ 1999-01-19 09:49:55 by simonm]
Remove debugging code from freeStablePtr.

25 years ago[project @ 1999-01-19 08:33:14 by sof]
sof [Tue, 19 Jan 1999 08:33:14 +0000 (08:33 +0000)]
[project @ 1999-01-19 08:33:14 by sof]
constructNewHiFile: regular expressions which substituted new
module filename for old in hifile_target, didn't quite work.

25 years ago[project @ 1999-01-18 19:04:55 by sof]
sof [Mon, 18 Jan 1999 19:05:07 +0000 (19:05 +0000)]
[project @ 1999-01-18 19:04:55 by sof]
Print out warnings/errors in the order they occur in the source code.
(Well...almost, warnings are sorted and printed out on a per-pass basis.)

25 years ago[project @ 1999-01-18 16:35:37 by simonm]
simonm [Mon, 18 Jan 1999 16:35:37 +0000 (16:35 +0000)]
[project @ 1999-01-18 16:35:37 by simonm]
Update for new stats output.

25 years ago[project @ 1999-01-18 16:05:15 by simonm]
simonm [Mon, 18 Jan 1999 16:05:15 +0000 (16:05 +0000)]
[project @ 1999-01-18 16:05:15 by simonm]
Only reset oldest_gen->max_blocks on a major GC.

25 years ago[project @ 1999-01-18 15:44:44 by simonm]
simonm [Mon, 18 Jan 1999 15:44:45 +0000 (15:44 +0000)]
[project @ 1999-01-18 15:44:44 by simonm]
Update

25 years ago[project @ 1999-01-18 15:23:30 by sewardj]
sewardj [Mon, 18 Jan 1999 15:23:30 +0000 (15:23 +0000)]
[project @ 1999-01-18 15:23:30 by sewardj]
Completed support for GAMMA_VAR.

25 years ago[project @ 1999-01-18 15:21:37 by simonm]
simonm [Mon, 18 Jan 1999 15:21:42 +0000 (15:21 +0000)]
[project @ 1999-01-18 15:21:37 by simonm]
- BLACKHOLE_BQ is a mutable object, because new threads get added to
  its blocking_queue field.  Hence add a mut_link field and treat it
  as mutable in the garbage collector.

- Change StgBlackHole to StgBlockingQueue while I'm at it.

- Optimise evacuation of black holes: don't copy the padding
  words, just skip over them.

- Several garbage collection fixes.

- Improve sanity checking: now the older generations are fully checked
  at each GC.

25 years ago[project @ 1999-01-18 15:18:06 by simonm]
simonm [Mon, 18 Jan 1999 15:18:06 +0000 (15:18 +0000)]
[project @ 1999-01-18 15:18:06 by simonm]
- do MVARs properly.

- skip over slop between objects, by searching for the first info pointer.
  this works for slop created by updates, for example.

25 years ago[project @ 1999-01-18 14:37:43 by sof]
sof [Mon, 18 Jan 1999 14:37:43 +0000 (14:37 +0000)]
[project @ 1999-01-18 14:37:43 by sof]
Added protos for freeHaskellFunctionPtr() and createAdjustor()
(suggestions as to what might be a more appropriate home for these
are welcome.)

25 years ago[project @ 1999-01-18 14:36:13 by sof]
sof [Mon, 18 Jan 1999 14:36:13 +0000 (14:36 +0000)]
[project @ 1999-01-18 14:36:13 by sof]
Added debugging code to freeStablePtr macro

25 years ago[project @ 1999-01-18 14:35:20 by sof]
sof [Mon, 18 Jan 1999 14:35:21 +0000 (14:35 +0000)]
[project @ 1999-01-18 14:35:20 by sof]
Fixed a couple of bad bugs in the implementation of 'foreign export ccall dynamic'.

25 years ago[project @ 1999-01-18 14:31:50 by sof]
sof [Mon, 18 Jan 1999 14:31:52 +0000 (14:31 +0000)]
[project @ 1999-01-18 14:31:50 by sof]
long long support: cleared up Real vs. virtual regs. confusion (I hope!)

25 years ago[project @ 1999-01-18 13:09:45 by sof]
sof [Mon, 18 Jan 1999 13:09:45 +0000 (13:09 +0000)]
[project @ 1999-01-18 13:09:45 by sof]
A 'foreign export dynamic' *does* bind a Haskell name.

25 years ago[project @ 1999-01-18 12:23:04 by simonm]
simonm [Mon, 18 Jan 1999 12:23:04 +0000 (12:23 +0000)]
[project @ 1999-01-18 12:23:04 by simonm]
Fixes for MVars.

25 years ago[project @ 1999-01-18 10:54:15 by simonm]
simonm [Mon, 18 Jan 1999 10:54:15 +0000 (10:54 +0000)]
[project @ 1999-01-18 10:54:15 by simonm]
Don't bomb out with "Dont know where to get memory from on this
architecture" on Win32.

25 years ago[project @ 1999-01-18 09:20:08 by sof]
sof [Mon, 18 Jan 1999 09:20:08 +0000 (09:20 +0000)]
[project @ 1999-01-18 09:20:08 by sof]
'Native' Wni32 implementation of getMBlock(). Also added a Win32 impl.
of freeMBlock() in case that ever should become useful.

25 years ago[project @ 1999-01-16 16:06:17 by sof]
sof [Sat, 16 Jan 1999 16:06:17 +0000 (16:06 +0000)]
[project @ 1999-01-16 16:06:17 by sof]
Documented isEmptyMVar

25 years ago[project @ 1999-01-16 16:00:03 by sof]
sof [Sat, 16 Jan 1999 16:00:03 +0000 (16:00 +0000)]
[project @ 1999-01-16 16:00:03 by sof]
Documented IO <--> ST coercion operators

25 years ago[project @ 1999-01-15 18:32:22 by sof]
sof [Fri, 15 Jan 1999 18:32:23 +0000 (18:32 +0000)]
[project @ 1999-01-15 18:32:22 by sof]
Be a little bit more user-friendly when encountering record puns,
which is no longer supported by Haskell. Instead of a Plain Old Parse
Error, print out

  foo.hs:11:11: Haskell 98 does not support 'punning' on records ....

Hopefully that should give the user a big enough hint at what's
going wrong..

25 years ago[project @ 1999-01-15 18:08:37 by simonm]
simonm [Fri, 15 Jan 1999 18:08:37 +0000 (18:08 +0000)]
[project @ 1999-01-15 18:08:37 by simonm]
Compile the RTS with -O2 and -fomit-frame-pointer.

25 years ago[project @ 1999-01-15 17:59:26 by sof]
sof [Fri, 15 Jan 1999 17:59:27 +0000 (17:59 +0000)]
[project @ 1999-01-15 17:59:26 by sof]
Added options that 3.xx supported for dumping out selected
chunks of the .hi file to stdout, i.e.,

   -hi-with-imports      = prints out the import 'section' of the .hi file
   -hi-with-declarations = print  out just decls

(Only) useful when working with runstdtest, where we just want
to look at selected portions of the generated interface file.

25 years ago[project @ 1999-01-15 17:57:03 by simonm]
simonm [Fri, 15 Jan 1999 17:57:11 +0000 (17:57 +0000)]
[project @ 1999-01-15 17:57:03 by simonm]
- Add new object BLACKHOLE_BQ: now a BLACKHOLE is defined as having an
  empty blocking queue, and the first time a thread blocks on a BLACKHOLE
  it is changed into a BLACKHOLE_BQ.

- Remove UPD_INPLACE1 and replace it with UPD_IND in the two places it
  was used.  UPD_INPLACE1 wouldn't have worked in a generational setting.

25 years ago[project @ 1999-01-15 17:54:20 by sof]
sof [Fri, 15 Jan 1999 17:54:23 +0000 (17:54 +0000)]
[project @ 1999-01-15 17:54:20 by sof]
Re-integrated mod. that seems to have been dropped on the
floor when new-rts moved back onto the main trunk. Here's
the commit msg. that was originally used:

  Extend hConnectTo to also allow output handles to be connected, i.e.,

    h1 <- openFile "foo" WriteMode
    h2 <- openFile "bar" WriteMode
    hConnectTo h1 h2

  will cause h1's buffer to be flushed when h2's buffer overflows
  (and it is just about to be flushed.) The implementation is currently
  not as lazy as that, it flushes h1's buffer regardless of whether a
  write to h2 causes h2's buffer to overflow or not.

  This is used to connect 'stderr' and 'stdout', i.e., output on
  'stderr' will now cause 'stdout' output to (first) be flushed.

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.