ghc-hetmet.git
24 years ago[project @ 1999-11-12 16:22:08 by sewardj]
sewardj [Fri, 12 Nov 1999 16:22:10 +0000 (16:22 +0000)]
[project @ 1999-11-12 16:22:08 by sewardj]
Add checks for readline library (as opposed to headers).

24 years ago[project @ 1999-11-12 15:43:12 by sewardj]
sewardj [Fri, 12 Nov 1999 15:43:14 +0000 (15:43 +0000)]
[project @ 1999-11-12 15:43:12 by sewardj]
Add a test for libreadline.{a|so}  (include/readline/readline.h
is already tested for.).

24 years ago[project @ 1999-11-12 14:32:44 by sewardj]
sewardj [Fri, 12 Nov 1999 14:32:44 +0000 (14:32 +0000)]
[project @ 1999-11-12 14:32:44 by sewardj]
Install control-c signal handler in interpreter() after call to
initialize, since that calls startupHaskell, which trashes previous
signal settings.

24 years ago[project @ 1999-11-12 14:12:38 by simonpj]
simonpj [Fri, 12 Nov 1999 14:12:38 +0000 (14:12 +0000)]
[project @ 1999-11-12 14:12:38 by simonpj]
Modify to avoid warning message in test log

24 years ago[project @ 1999-11-12 12:51:50 by simonpj]
simonpj [Fri, 12 Nov 1999 12:51:50 +0000 (12:51 +0000)]
[project @ 1999-11-12 12:51:50 by simonpj]
Document no deriving for existentials

24 years ago[project @ 1999-11-12 12:51:20 by simonpj]
simonpj [Fri, 12 Nov 1999 12:51:20 +0000 (12:51 +0000)]
[project @ 1999-11-12 12:51:20 by simonpj]
Add existential-deriving test

24 years ago[project @ 1999-11-12 11:54:09 by simonmar]
simonmar [Fri, 12 Nov 1999 11:54:17 +0000 (11:54 +0000)]
[project @ 1999-11-12 11:54:09 by simonmar]
Initial revision

24 years ago[project @ 1999-11-12 10:18:59 by simonmar]
simonmar [Fri, 12 Nov 1999 10:18:59 +0000 (10:18 +0000)]
[project @ 1999-11-12 10:18:59 by simonmar]
Fix REG_Su optimised code for update frames (only affects machines
with a REG_Su, such as Sparc).

24 years ago[project @ 1999-11-11 21:13:12 by andy]
andy [Thu, 11 Nov 1999 21:13:12 +0000 (21:13 +0000)]
[project @ 1999-11-11 21:13:12 by andy]
This change provided by Alastair Reid is a bunch of wibbles which fix
some severe performance problems in the copy of the Pretty library
distributed with Hugs-Sept99.

The problems show up when making heavy use of hsep (eg printing large
numbers of comma separated lists which tend to run over the end of
line).  The problems manifest themselves as the infamous "control
stack overflow" and seem to be due to the generation of large
Int thunks that look something like this:

  80 - 4 - 1 - 1 - 3 - 1 - ... -1

(There may be a few +'s in there too but -'s predominate.)

24 years ago[project @ 1999-11-11 17:52:58 by simonpj]
simonpj [Thu, 11 Nov 1999 17:52:59 +0000 (17:52 +0000)]
[project @ 1999-11-11 17:52:58 by simonpj]
Small test fixes

24 years ago[project @ 1999-11-11 17:50:47 by simonpj]
simonpj [Thu, 11 Nov 1999 17:50:49 +0000 (17:50 +0000)]
[project @ 1999-11-11 17:50:47 by simonpj]
Report slow-entry counts in ticky-ticky

24 years ago[project @ 1999-11-11 17:42:31 by sewardj]
sewardj [Thu, 11 Nov 1999 17:42:31 +0000 (17:42 +0000)]
[project @ 1999-11-11 17:42:31 by sewardj]
1.  rts_eval_ now returns Killed if evaluator is interrupted,
    so act accordingly.
2.  RevertCAFs is on by default.

24 years ago[project @ 1999-11-11 17:24:49 by sewardj]
sewardj [Thu, 11 Nov 1999 17:24:49 +0000 (17:24 +0000)]
[project @ 1999-11-11 17:24:49 by sewardj]
Add prototype for interruptStgRts().

24 years ago[project @ 1999-11-11 17:19:15 by simonmar]
simonmar [Thu, 11 Nov 1999 17:19:15 +0000 (17:19 +0000)]
[project @ 1999-11-11 17:19:15 by simonmar]
Re-instate interrupted stuff.  If the scheduler finds the interrupted
flag to be set, it calls deleteThread() on all the runnable and
blocked threads, wakes up any main thread clients that were waiting,
and then either

(a) returns, in the UP case
(b) waits for more work, in the SMP case.

24 years ago[project @ 1999-11-11 16:27:30 by sewardj]
sewardj [Thu, 11 Nov 1999 16:27:30 +0000 (16:27 +0000)]
[project @ 1999-11-11 16:27:30 by sewardj]
wibble: Remove irrelevant #ifdef (DOUBLES).

24 years ago[project @ 1999-11-11 16:24:12 by sewardj]
sewardj [Thu, 11 Nov 1999 16:24:12 +0000 (16:24 +0000)]
[project @ 1999-11-11 16:24:12 by sewardj]
Print float/double literals correctly in error messages.

24 years ago[project @ 1999-11-11 15:20:28 by simonmar]
simonmar [Thu, 11 Nov 1999 15:20:29 +0000 (15:20 +0000)]
[project @ 1999-11-11 15:20:28 by simonmar]
grrr, back out changes that snuck in with previous commit.

24 years ago[project @ 1999-11-11 15:17:59 by simonmar]
simonmar [Thu, 11 Nov 1999 15:18:00 +0000 (15:18 +0000)]
[project @ 1999-11-11 15:17:59 by simonmar]
Integer divMod now uses the native GMP method.  The PrimOp was already
there, it just wasn't being used.

24 years ago[project @ 1999-11-11 15:09:51 by simonmar]
simonmar [Thu, 11 Nov 1999 15:09:51 +0000 (15:09 +0000)]
[project @ 1999-11-11 15:09:51 by simonmar]
Remove old Spix stuff, replace with shiny new support for Julian's
CacheProf stuff.  yay!

24 years ago[project @ 1999-11-11 13:17:36 by simonmar]
simonmar [Thu, 11 Nov 1999 13:17:36 +0000 (13:17 +0000)]
[project @ 1999-11-11 13:17:36 by simonmar]
avoid those annoying -0.00 times.

24 years ago[project @ 1999-11-11 11:49:26 by simonmar]
simonmar [Thu, 11 Nov 1999 11:49:26 +0000 (11:49 +0000)]
[project @ 1999-11-11 11:49:26 by simonmar]
oops, use the correct type

24 years ago[project @ 1999-11-11 11:47:22 by simonmar]
simonmar [Thu, 11 Nov 1999 11:47:22 +0000 (11:47 +0000)]
[project @ 1999-11-11 11:47:22 by simonmar]
forgot type in parameter list

24 years ago[project @ 1999-11-10 23:26:57 by andy]
andy [Wed, 10 Nov 1999 23:26:57 +0000 (23:26 +0000)]
[project @ 1999-11-10 23:26:57 by andy]
Adding Int8,16,32,64 into Hugs.

These changes are based on the current (Sep99 Hugs) version of Word.

The GHC parts should be unchanged.

24 years ago[project @ 1999-11-09 15:57:39 by simonmar]
simonmar [Tue, 9 Nov 1999 15:57:42 +0000 (15:57 +0000)]
[project @ 1999-11-09 15:57:39 by simonmar]
Fix up some problems with the IN_STG_CODE macro.

24 years ago[project @ 1999-11-09 15:46:49 by simonmar]
simonmar [Tue, 9 Nov 1999 15:47:09 +0000 (15:47 +0000)]
[project @ 1999-11-09 15:46:49 by simonmar]
A slew of SMP-related changes.

 - New locking scheme for thunks: we now check whether the thunk
   being entered is in our private allocation area, and if so
   we don't lock it.  Well, that's the upshot.  In practice it's
   a lot more fiddly than that.

 - I/O blocking is handled a bit more sanely now (but still not
   properly, methinks)

 - deadlock detection is back

 - remove old pre-SMP scheduler code

 - revamp the timing code.  We actually get reasonable-looking
   timing info for SMP programs now.

 - fix a bug in the garbage collector to do with IND_OLDGENs appearing
   on the mutable list of the old generation.

 - move BDescr() function from rts/BlockAlloc.h to includes/Block.h.

 - move struct generation and struct step into includes/StgStorage.h (sigh)

 - add UPD_IND_NOLOCK for updating with an indirection where locking
   the black hole is not required.

24 years ago[project @ 1999-11-09 11:38:28 by simonmar]
simonmar [Tue, 9 Nov 1999 11:38:28 +0000 (11:38 +0000)]
[project @ 1999-11-09 11:38:28 by simonmar]
Test for lit-lits in patterns.

24 years ago[project @ 1999-11-09 11:37:38 by simonmar]
simonmar [Tue, 9 Nov 1999 11:37:40 +0000 (11:37 +0000)]
[project @ 1999-11-09 11:37:38 by simonmar]
Fixes to Simon's lit-lit pattern commit

24 years ago[project @ 1999-11-09 10:46:25 by simonmar]
simonmar [Tue, 9 Nov 1999 10:46:27 +0000 (10:46 +0000)]
[project @ 1999-11-09 10:46:25 by simonmar]
Reset standard file descriptors to blocking mode on exit.

24 years ago[project @ 1999-11-09 10:05:07 by sewardj]
sewardj [Tue, 9 Nov 1999 10:05:07 +0000 (10:05 +0000)]
[project @ 1999-11-09 10:05:07 by sewardj]
mulIntCzh (i386_TARGET_ARCH): xor --> xorl

24 years ago[project @ 1999-11-09 00:41:19 by andy]
andy [Tue, 9 Nov 1999 00:41:19 +0000 (00:41 +0000)]
[project @ 1999-11-09 00:41:19 by andy]
Debugging wibble.

24 years ago[project @ 1999-11-09 00:40:11 by andy]
andy [Tue, 9 Nov 1999 00:40:12 +0000 (00:40 +0000)]
[project @ 1999-11-09 00:40:11 by andy]
This is to fix the following bugs:

    Reported by    Description
    ----------------------------------------------------------------------
    Various        cutoff value for -c option seems too low.
    Andy           weirdness with :i C if C is a zero parameter class.
    Ross Paterson  Problem with rank 2 parameters and "Showable" class.
    Jeff           Stronger static checking on instances for classes with
                   functional dependencies.

24 years ago[project @ 1999-11-09 00:14:50 by kglynn]
kglynn [Tue, 9 Nov 1999 00:14:50 +0000 (00:14 +0000)]
[project @ 1999-11-09 00:14:50 by kglynn]
Support for negative timings in the stats file.  (I've seen times of -0.00).
If a timing is negative then set it to 0.

24 years ago[project @ 1999-11-08 16:38:24 by simonpj]
simonpj [Mon, 8 Nov 1999 16:38:26 +0000 (16:38 +0000)]
[project @ 1999-11-08 16:38:24 by simonpj]
Deal better with lit-lit pats

24 years ago[project @ 1999-11-08 16:24:17 by simonmar]
simonmar [Mon, 8 Nov 1999 16:24:17 +0000 (16:24 +0000)]
[project @ 1999-11-08 16:24:17 by simonmar]
basck out previous change;  Simon is working on a more correct fix

24 years ago[project @ 1999-11-08 15:33:20 by simonmar]
simonmar [Mon, 8 Nov 1999 15:33:20 +0000 (15:33 +0000)]
[project @ 1999-11-08 15:33:20 by simonmar]
Don't allow litlits in patterns.

24 years ago[project @ 1999-11-08 15:30:32 by sewardj]
sewardj [Mon, 8 Nov 1999 15:30:39 +0000 (15:30 +0000)]
[project @ 1999-11-08 15:30:32 by sewardj]
Make Hugs evaluator work with new register table arrangements
arising from Simon's SMP work.

24 years ago[project @ 1999-11-08 14:45:52 by simonmar]
simonmar [Mon, 8 Nov 1999 14:45:52 +0000 (14:45 +0000)]
[project @ 1999-11-08 14:45:52 by simonmar]
Undo previous misguided commit by me

24 years ago[project @ 1999-11-05 15:25:49 by simonmar]
simonmar [Fri, 5 Nov 1999 15:25:49 +0000 (15:25 +0000)]
[project @ 1999-11-05 15:25:49 by simonmar]
Handle potentially blocking writes (yes, I've seen one :) Or rather,
its footprint: unfortunately, the error message didn't appear because
writes to stderr were returning EAGAIN etc. etc., see accompanying
commit to writeError.c.)

24 years ago[project @ 1999-11-05 15:22:59 by simonmar]
simonmar [Fri, 5 Nov 1999 15:22:59 +0000 (15:22 +0000)]
[project @ 1999-11-05 15:22:59 by simonmar]
Clear the non-blocking flag on stderr before trying to print an error
message.

24 years ago[project @ 1999-11-05 12:28:05 by simonmar]
simonmar [Fri, 5 Nov 1999 12:28:06 +0000 (12:28 +0000)]
[project @ 1999-11-05 12:28:05 by simonmar]
_ccall_GC wibbles

24 years ago[project @ 1999-11-05 10:09:36 by simonmar]
simonmar [Fri, 5 Nov 1999 10:09:39 +0000 (10:09 +0000)]
[project @ 1999-11-05 10:09:36 by simonmar]
Allow this syntax on the lhs:

(e1 `op` e2) e3 = ...

(bug reported by Ralf Hinze).

Add a test for it.

24 years ago[project @ 1999-11-04 15:09:09 by sewardj]
sewardj [Thu, 4 Nov 1999 15:09:09 +0000 (15:09 +0000)]
[project @ 1999-11-04 15:09:09 by sewardj]
Fix wibble in setting of HappyCmd.

24 years ago[project @ 1999-11-04 10:15:50 by simonmar]
simonmar [Thu, 4 Nov 1999 10:15:50 +0000 (10:15 +0000)]
[project @ 1999-11-04 10:15:50 by simonmar]
Fix call to StgRun

24 years ago[project @ 1999-11-04 00:32:30 by andy]
andy [Thu, 4 Nov 1999 00:32:30 +0000 (00:32 +0000)]
[project @ 1999-11-04 00:32:30 by andy]
Modifing these libs so that they also work with StgHugs.

24 years ago[project @ 1999-11-03 23:54:15 by andy]
andy [Wed, 3 Nov 1999 23:54:15 +0000 (23:54 +0000)]
[project @ 1999-11-03 23:54:15 by andy]
Adding Word8,16,32,64 into Hugs.

These changes are based on the current (Sep99 Hugs) version of Word.

The GHC parts should be unchanged.

24 years ago[project @ 1999-11-03 15:04:25 by simonmar]
simonmar [Wed, 3 Nov 1999 15:04:25 +0000 (15:04 +0000)]
[project @ 1999-11-03 15:04:25 by simonmar]
- don't hold the scheduler lock while doing the select, since
  we might sit in there for a long time.

- don't need the gettimeofday() hack on Linux, because select
  already returns the unslept time.

24 years ago[project @ 1999-11-03 15:01:51 by simonmar]
simonmar [Wed, 3 Nov 1999 15:01:51 +0000 (15:01 +0000)]
[project @ 1999-11-03 15:01:51 by simonmar]
remove bogus #include

24 years ago[project @ 1999-11-03 15:00:21 by simonmar]
simonmar [Wed, 3 Nov 1999 15:00:21 +0000 (15:00 +0000)]
[project @ 1999-11-03 15:00:21 by simonmar]
Add basereg argument to StgRun (not currently handled by anything
except the x86 code, which means SMP only works on x86 at the moment).

24 years ago[project @ 1999-11-02 17:19:15 by simonmar]
simonmar [Tue, 2 Nov 1999 17:19:17 +0000 (17:19 +0000)]
[project @ 1999-11-02 17:19:15 by simonmar]
Time the shutdown code as well as the initialisation code.  This
figure is sometimes significant for SMP, because the tasks are all
killed by a signal (at the moment) and it might take a while for the
signal to be delivered.

24 years ago[project @ 1999-11-02 17:17:47 by simonmar]
simonmar [Tue, 2 Nov 1999 17:17:47 +0000 (17:17 +0000)]
[project @ 1999-11-02 17:17:47 by simonmar]
Fix CAF_BLACKHOLE and BLACKHOLE_BQ entry code for SMP case (it was
going into a busy locking state through comparing against the wrong
info pointer)

24 years ago[project @ 1999-11-02 17:08:28 by simonmar]
simonmar [Tue, 2 Nov 1999 17:08:28 +0000 (17:08 +0000)]
[project @ 1999-11-02 17:08:28 by simonmar]
Remove accidental wibble that made it in with the last commit

24 years ago[project @ 1999-11-02 17:04:28 by simonmar]
simonmar [Tue, 2 Nov 1999 17:04:28 +0000 (17:04 +0000)]
[project @ 1999-11-02 17:04:28 by simonmar]
make the prototypes of suspendThread and resumeThread available to the RTS.

24 years ago[project @ 1999-11-02 15:05:38 by simonmar]
simonmar [Tue, 2 Nov 1999 15:06:05 +0000 (15:06 +0000)]
[project @ 1999-11-02 15:05:38 by simonmar]
This commit adds in the current state of our SMP support.  Notably,
this allows the new way 's' to be built, providing support for running
multiple Haskell threads simultaneously on top of any pthreads
implementation, the idea being to take advantage of commodity SMP
boxes.

Don't expect to get much of a speedup yet; due to the excessive
locking required to synchronise access to mutable heap objects, you'll
see a slowdown in most cases, even on a UP machine.  The best I've
seen is a 1.6-1.7 speedup on an example that did no locking (two
optimised nfibs in parallel).

- new RTS -N flag specifies how many pthreads to start.

- new driver -smp flag, tells the driver to use way 's'.

- new compiler -fsmp option (not for user comsumption)
  tells the compiler not to generate direct jumps to
  thunk entry code.

- largely rewritten scheduler

- _ccall_GC is now done by handing back a "token" to the
  RTS before executing the ccall; it should now be possible
  to execute blocking ccalls in the current thread while
  allowing the RTS to continue running Haskell threads as
  normal.

- you can only call thread-safe C libraries from a way 's'
  build, of course.

Pthread support is still incomplete, and weird things (including
deadlocks) are likely to happen.

24 years ago[project @ 1999-11-02 13:58:57 by sof]
sof [Tue, 2 Nov 1999 13:58:57 +0000 (13:58 +0000)]
[project @ 1999-11-02 13:58:57 by sof]
expected output

24 years ago[project @ 1999-11-02 11:57:15 by simonmar]
simonmar [Tue, 2 Nov 1999 11:57:16 +0000 (11:57 +0000)]
[project @ 1999-11-02 11:57:15 by simonmar]
Add simple "raw" style callback example (i.e. not using the FFI).  Just
for testing _ccall_GC really.

24 years ago[project @ 1999-11-02 11:55:02 by sof]
sof [Tue, 2 Nov 1999 11:55:02 +0000 (11:55 +0000)]
[project @ 1999-11-02 11:55:02 by sof]
Simple example of callback'ery in action

24 years ago[project @ 1999-11-02 11:25:42 by sof]
sof [Tue, 2 Nov 1999 11:25:42 +0000 (11:25 +0000)]
[project @ 1999-11-02 11:25:42 by sof]
updated with expected-output files

24 years ago[project @ 1999-11-02 10:31:54 by simonpj]
simonpj [Tue, 2 Nov 1999 10:31:54 +0000 (10:31 +0000)]
[project @ 1999-11-02 10:31:54 by simonpj]
Fix bug in instance Dynamic (Either a b)

24 years ago[project @ 1999-11-01 18:19:39 by sewardj]
sewardj [Mon, 1 Nov 1999 18:19:41 +0000 (18:19 +0000)]
[project @ 1999-11-01 18:19:39 by sewardj]
Computation of max-stack-use during BCO generation was completely bogus.
Fix it.  Also, add a i_STK_CHECK_big insn with 16-bit opcode.

24 years ago[project @ 1999-11-01 18:17:45 by sewardj]
sewardj [Mon, 1 Nov 1999 18:17:45 +0000 (18:17 +0000)]
[project @ 1999-11-01 18:17:45 by sewardj]
Correctly evacuate BCOs on the large object list.  Was causing
okeefe_neural to fail.

24 years ago[project @ 1999-11-01 17:09:54 by simonpj]
simonpj [Mon, 1 Nov 1999 17:10:57 +0000 (17:10 +0000)]
[project @ 1999-11-01 17:09:54 by simonpj]
A regrettably-gigantic commit that puts in place what Simon PJ
has been up to for the last month or so, on and off.

The basic idea was to restore unfoldings to *occurrences* of
variables without introducing a space leak.  I wanted to make
sure things improved relative to 4.04, and that proved depressingly
hard.  On the way I discovered several quite serious bugs in the
simplifier.

Here's a summary of what's gone on.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* No commas between for-alls in RULES.  This makes the for-alls have
  the same syntax as in types.

* Arrange that simplConArgs works in one less pass than before.
  This exposed a bug: a bogus call to completeBeta.

* Add a top-level flag in CoreUnfolding, used in callSiteInline

* Extend w/w to use etaExpandArity, so it does eta/coerce expansion

* Implement inline phases.   The meaning of the inline pragmas is
  described in CoreUnfold.lhs.  You can say things like
{#- INLINE 2 build #-}
  to mean "inline build in phase 2"

* Don't float anything out of an INLINE.
  Don't float things to top level unless they also escape a value lambda.
[see comments with SetLevels.lvlMFE
  Without at least one of these changes, I found that
{-# INLINE concat #-}
concat = __inline (/\a -> foldr (++) [])
  was getting floated to
concat = __inline( /\a -> lvl a )
lvl = ...inlined version of foldr...

  Subsequently I found that not floating constants out of an INLINE
  gave really bad code like
__inline (let x = e in \y -> ...)
  so I now let things float out of INLINE

* Implement the "reverse-mapping" idea for CSE; actually it turned out to be easier
  to implement it in SetLevels, and may benefit full laziness too.

* It's a good idea to inline inRange. Consider

index (l,h) i = case inRange (l,h) i of
     True ->  l+i
  False -> error
  inRange itself isn't strict in h, but if it't inlined then 'index'
  *does* become strict in h.  Interesting!

* Big change to the way unfoldings and occurrence info is propagated in the simplifier
  The plan is described in Subst.lhs with the Subst type
  Occurrence info is now in a separate IdInfo field than user pragmas

* I found that
(coerce T (coerce S (\x.e))) y
  didn't simplify in one round. First we get to
(\x.e) y
  and only then do the beta. Solution: cancel the coerces in the continuation

* Amazingly, CoreUnfold wasn't counting the cost of a function an application.

* Disable rules in initial simplifier run.  Otherwise full laziness
  doesn't get a chance to lift out a MFE before a rule (e.g. fusion)
  zaps it.  queens is a case in point

* Improve float-out stuff significantly.  The big change is that if we have

\x -> ... /\a -> ...let p = ..a.. in let q = ...p...

  where p's rhs doesn't x, we abstract a from p, so that we can get p past x.
  (We did that before.)  But we also substitute (p a) for p in q, and then
  we can do the same thing for q.  (We didn't do that, so q got stuck.)
  This is much better.  It involves doing a substitution "as we go" in SetLevels,
  though.

24 years ago[project @ 1999-11-01 16:07:48 by simonpj]
simonpj [Mon, 1 Nov 1999 16:07:56 +0000 (16:07 +0000)]
[project @ 1999-11-01 16:07:48 by simonpj]
fromInt stuff and other wibbles

24 years ago[project @ 1999-11-01 16:06:34 by simonpj]
simonpj [Mon, 1 Nov 1999 16:06:35 +0000 (16:06 +0000)]
[project @ 1999-11-01 16:06:34 by simonpj]
Minor tweaks to intro, and description of RULES

24 years ago[project @ 1999-11-01 14:20:18 by sof]
sof [Mon, 1 Nov 1999 14:20:18 +0000 (14:20 +0000)]
[project @ 1999-11-01 14:20:18 by sof]
ppr change that should have been included with prev absCSyn/ commit

24 years ago[project @ 1999-11-01 12:12:58 by sewardj]
sewardj [Mon, 1 Nov 1999 12:12:58 +0000 (12:12 +0000)]
[project @ 1999-11-01 12:12:58 by sewardj]
Increase NUM_TEXT to 100000 so okeefe_neural will parse.

24 years ago[project @ 1999-11-01 11:07:07 by sewardj]
sewardj [Mon, 1 Nov 1999 11:07:07 +0000 (11:07 +0000)]
[project @ 1999-11-01 11:07:07 by sewardj]
Nuke #if OVERLOADED_CONSTANTS, since H98 requires it by default.

24 years ago[project @ 1999-11-01 11:01:11 by sewardj]
sewardj [Mon, 1 Nov 1999 11:01:13 +0000 (11:01 +0000)]
[project @ 1999-11-01 11:01:11 by sewardj]
Fix codegen bug causing cg028.hs to fail.  namePmDouble was not bound
to anything, which caused translations of patterns containing doubles
to contain NILs.  Also bound namePmInteger since it didn't seem to be
bound to anything.

24 years ago[project @ 1999-11-01 10:16:43 by sof]
sof [Mon, 1 Nov 1999 10:16:43 +0000 (10:16 +0000)]
[project @ 1999-11-01 10:16:43 by sof]
updated

24 years ago[project @ 1999-11-01 10:16:03 by sof]
sof [Mon, 1 Nov 1999 10:16:03 +0000 (10:16 +0000)]
[project @ 1999-11-01 10:16:03 by sof]
formatRealFloat: Fixed some e==0 confusion in the default case for FFExponent

24 years ago[project @ 1999-11-01 04:17:37 by andy]
andy [Mon, 1 Nov 1999 04:17:38 +0000 (04:17 +0000)]
[project @ 1999-11-01 04:17:37 by andy]
wibble in derive.c

Changing stdout's buffering. fflush in the program does not flush
the dll's private buffer space on Win32.

24 years ago[project @ 1999-11-01 02:41:04 by andy]
andy [Mon, 1 Nov 1999 02:41:04 +0000 (02:41 +0000)]
[project @ 1999-11-01 02:41:04 by andy]
Adding commands to generate the std H98 libs for STG Hugs.

24 years ago[project @ 1999-11-01 02:38:31 by andy]
andy [Mon, 1 Nov 1999 02:38:33 +0000 (02:38 +0000)]
[project @ 1999-11-01 02:38:31 by andy]
minor tweaks to do with H98 (like sequence => sequence_, etc)
Removing the lib/*hs standard libs to make way for the automatically
generated ones.

24 years ago[project @ 1999-11-01 02:04:31 by andy]
andy [Mon, 1 Nov 1999 02:04:31 +0000 (02:04 +0000)]
[project @ 1999-11-01 02:04:31 by andy]
Changing to use the new IO primitives.
Addr is no longer a synonym of Int.

24 years ago[project @ 1999-11-01 01:16:18 by andy]
andy [Mon, 1 Nov 1999 01:16:18 +0000 (01:16 +0000)]
[project @ 1999-11-01 01:16:18 by andy]
Adding type signature to main.

24 years ago[project @ 1999-10-31 15:35:32 by sof]
sof [Sun, 31 Oct 1999 15:35:32 +0000 (15:35 +0000)]
[project @ 1999-10-31 15:35:32 by sof]
To workaround gcc/egcs bugs re: handling of non-toplevel "extern" decls,
lift them out to the top. i.e., extend mechanism by which "typedefs"
are lifted out to the toplevel (for the same reasons) to also encompass
"extern"s.

Note: the default is not to emit an "extern" decl for every _ccall_,
as this runs the chance of (trivially) conflicting with header file
includes. So, to enable, use -optC-femit-extern-decls.

24 years ago[project @ 1999-10-29 14:34:25 by sewardj]
sewardj [Fri, 29 Oct 1999 14:34:25 +0000 (14:34 +0000)]
[project @ 1999-10-29 14:34:25 by sewardj]
#include wibble

24 years ago[project @ 1999-10-29 14:33:57 by sewardj]
sewardj [Fri, 29 Oct 1999 14:33:57 +0000 (14:33 +0000)]
[project @ 1999-10-29 14:33:57 by sewardj]
portability wibble

24 years ago[project @ 1999-10-29 14:18:20 by sewardj]
sewardj [Fri, 29 Oct 1999 14:18:21 +0000 (14:18 +0000)]
[project @ 1999-10-29 14:18:20 by sewardj]
Minor efficiency improvements to Prelude I/O functions.

24 years ago[project @ 1999-10-29 14:01:53 by sof]
sof [Fri, 29 Oct 1999 14:01:53 +0000 (14:01 +0000)]
[project @ 1999-10-29 14:01:53 by sof]
Pure Win32 builds doesn't support non-blocking IO

24 years ago[project @ 1999-10-29 13:59:52 by sof]
sof [Fri, 29 Oct 1999 13:59:52 +0000 (13:59 +0000)]
[project @ 1999-10-29 13:59:52 by sof]
wibble

24 years ago[project @ 1999-10-29 13:55:40 by sof]
sof [Fri, 29 Oct 1999 13:57:53 +0000 (13:57 +0000)]
[project @ 1999-10-29 13:55:40 by sof]
attach version info

24 years ago[project @ 1999-10-29 13:54:42 by sof]
sof [Fri, 29 Oct 1999 13:54:42 +0000 (13:54 +0000)]
[project @ 1999-10-29 13:54:42 by sof]
s/TargetPlatform/TARGETPLATFORM/g

24 years ago[project @ 1999-10-29 13:53:37 by sof]
sof [Fri, 29 Oct 1999 13:53:37 +0000 (13:53 +0000)]
[project @ 1999-10-29 13:53:37 by sof]
Support for baking version info into the gen'ed Prelude DLL

24 years ago[project @ 1999-10-29 13:52:30 by sof]
sof [Fri, 29 Oct 1999 13:52:30 +0000 (13:52 +0000)]
[project @ 1999-10-29 13:52:30 by sof]
cbits/ is now also built in a DLL way, if needs be.

24 years ago[project @ 1999-10-29 13:50:16 by sof]
sof [Fri, 29 Oct 1999 13:50:16 +0000 (13:50 +0000)]
[project @ 1999-10-29 13:50:16 by sof]
INSTALL_* tweaks

24 years ago[project @ 1999-10-29 13:41:23 by sewardj]
sewardj [Fri, 29 Oct 1999 13:41:29 +0000 (13:41 +0000)]
[project @ 1999-10-29 13:41:23 by sewardj]
Make foreign import and thus the Prelude work on cygwin.

24 years ago[project @ 1999-10-29 11:41:04 by sewardj]
sewardj [Fri, 29 Oct 1999 11:41:12 +0000 (11:41 +0000)]
[project @ 1999-10-29 11:41:04 by sewardj]
Basic #ifdeffery to make StgHugs compile out of the box on cygwin.

24 years ago[project @ 1999-10-29 01:16:48 by andy]
andy [Fri, 29 Oct 1999 01:16:50 +0000 (01:16 +0000)]
[project @ 1999-10-29 01:16:48 by andy]
Adding in the modified versions of the Standard Haskell 98 libraries.
These should compile under both Hugs and GHC.

use the flags  -D__HUGS__ -DUSE_REPORT_PRELUDE to extract the Hugs src.

24 years ago[project @ 1999-10-29 00:53:25 by andy]
andy [Fri, 29 Oct 1999 00:53:25 +0000 (00:53 +0000)]
[project @ 1999-10-29 00:53:25 by andy]
Fixing bug with derived Read/Show of labeled fields.
(showField and readField were undefined).

24 years ago[project @ 1999-10-28 22:37:27 by andy]
andy [Thu, 28 Oct 1999 22:37:27 +0000 (22:37 +0000)]
[project @ 1999-10-28 22:37:27 by andy]
Wibble in printing of type contexts.

24 years ago[project @ 1999-10-28 18:11:05 by sof]
sof [Thu, 28 Oct 1999 18:11:05 +0000 (18:11 +0000)]
[project @ 1999-10-28 18:11:05 by sof]
When generating C stubs, honour -osuf <x> option

24 years ago[project @ 1999-10-28 16:41:39 by sof]
sof [Thu, 28 Oct 1999 16:41:39 +0000 (16:41 +0000)]
[project @ 1999-10-28 16:41:39 by sof]
More {-# OPTIONS .. #-} tweaks: handle -#include "..." (where
'handle' == 'ignore'.)

24 years ago[project @ 1999-10-28 14:32:06 by sewardj]
sewardj [Thu, 28 Oct 1999 14:32:08 +0000 (14:32 +0000)]
[project @ 1999-10-28 14:32:06 by sewardj]
Make platform-specific dynamic loaders add ".so", ".dll" etc to
library names, so that f-i decls can be written without them.
Modify Prelude accordingly.

Remove unused functionality in dynamic.c and make err msgs a bit
better.

24 years ago[project @ 1999-10-28 08:21:15 by sof]
sof [Thu, 28 Oct 1999 08:21:15 +0000 (08:21 +0000)]
[project @ 1999-10-28 08:21:15 by sof]
Don't warn user of unrecognised options when processing
{-# OPTIONS .. #-} pragmas.

24 years ago[project @ 1999-10-28 07:53:13 by simonpj]
simonpj [Thu, 28 Oct 1999 07:53:13 +0000 (07:53 +0000)]
[project @ 1999-10-28 07:53:13 by simonpj]
More RULES documentation

24 years ago[project @ 1999-10-27 15:29:37 by simonmar]
simonmar [Wed, 27 Oct 1999 15:29:37 +0000 (15:29 +0000)]
[project @ 1999-10-27 15:29:37 by simonmar]
Use C-style comments instead of assembler comments - the '#' confuses
cpp when mkdependC'ing.

24 years ago[project @ 1999-10-27 14:05:27 by sof]
sof [Wed, 27 Oct 1999 14:05:27 +0000 (14:05 +0000)]
[project @ 1999-10-27 14:05:27 by sof]
Support for "{-# OPTIONS <opts> #-}" in headers of (de-litted)
source files. Currently, only -syslib <foo> and "-fglasgow-exts"
settings are picked up from within <opts>.

Mildly tested; give it a twirl.

24 years ago[project @ 1999-10-27 11:57:32 by sewardj]
sewardj [Wed, 27 Oct 1999 11:57:32 +0000 (11:57 +0000)]
[project @ 1999-10-27 11:57:32 by sewardj]
remove debug printing -- wibble

24 years ago[project @ 1999-10-27 11:55:51 by sewardj]
sewardj [Wed, 27 Oct 1999 11:55:51 +0000 (11:55 +0000)]
[project @ 1999-10-27 11:55:51 by sewardj]
Dot-ify local labels.

24 years ago[project @ 1999-10-27 11:11:11 by sewardj]
sewardj [Wed, 27 Oct 1999 11:11:11 +0000 (11:11 +0000)]
[project @ 1999-10-27 11:11:11 by sewardj]
universal_call_c_x86_stdcall: assume *I* have been ccall'd, not
stdcall'd, so don't clear my own args on return.