1. 09 Jun, 2005 4 commits
  2. 08 Jun, 2005 1 commit
  3. 07 Jun, 2005 5 commits
  4. 06 Jun, 2005 3 commits
  5. 03 Jun, 2005 4 commits
  6. 02 Jun, 2005 2 commits
  7. 01 Jun, 2005 1 commit
  8. 31 May, 2005 4 commits
    • simonmar's avatar
      [project @ 2005-05-31 14:14:26 by simonmar] · ae658c18
      simonmar authored
      Make more error messages from the downsweep into ErrMsg exceptions.
      ae658c18
    • simonmar's avatar
      [project @ 2005-05-31 13:10:39 by simonmar] · 31f289ba
      simonmar authored
      oops, fix updating the module graph
      31f289ba
    • simonmar's avatar
      [project @ 2005-05-31 12:45:03 by simonmar] · aa6eb36c
      simonmar authored
      Fix some reporting of errors in the GHC API: errors during the
      downsweep were thrown as exceptions; now they're reported via the
      (Messages->IO ()) callback in the same way as other errors.
      
      getModuleInfo no longer prints anything on stdout.  It does ignore
      error messages and return Nothing, however - we should fix this and
      return the error messages at some point.
      
      The ErrMsg type can now be thrown as an exception.  This can be a
      convenient alternative if collecting multiple error messages isn't
      required.  We do this in the downsweep now.
      aa6eb36c
    • simonmar's avatar
      [project @ 2005-05-31 09:11:27 by simonmar] · 004ed82c
      simonmar authored
      Fix the names of a few fields.
      004ed82c
  9. 27 May, 2005 1 commit
  10. 26 May, 2005 1 commit
    • simonpj's avatar
      [project @ 2005-05-26 21:37:13 by simonpj] · 6a18febc
      simonpj authored
      MERGE TO STABLE
      
      Put back in a missing case for higher-rank types. When the
      definition is
      	a) non-recursive
      	b) a function binding
      	c) lacks a type signature
      we want to *infer* a perhaps-higher-rank type for the RHS,
      before making a monomorphically-typed Id for the LHS.
      
      E.g. 	f = \(x :: forall a. a->a) -> (x True, x 'c')
      
      This case got lost in the transition to 6.4
      
      tc194 tests it
      6a18febc
  11. 25 May, 2005 4 commits
  12. 24 May, 2005 8 commits
  13. 23 May, 2005 2 commits
    • simonmar's avatar
      [project @ 2005-05-23 15:44:10 by simonmar] · 6d16c476
      simonmar authored
      Simplify and improve the Capability-passing machinery for bound
      threads.
      
      The old story was quite complicated: if you find a thread on the run
      queue which the current task can't run, you had to call
      passCapability(), which set a flag saying where the next Capability
      was to go, and then release the Capability.  When multiple
      Capabilities are flying around, it's not clear how this story should
      extend.
      
      The new story is much simpler: each time around the scheduler loop,
      the task looks to see whether it can make any progress, and if not, it
      releases its Capability and wakes up a task which *can* make some
      progress.  The predicate for whether we can make any progress is
      encapsulated in the (inline) function ANY_WORK_FOR_ME(Condition).
      Waking up an appropriate task is encapsulated in the function
      threadRunnable() (previously it was in two places).
      
      The logic in Capability.c is simpler, but unfortunately it is now more
      closely connected with the Scheduler, because it inspects the run
      queue.  However, performance when communicating between bound and
      unbound threads might be better.
      
      The concurrency tests still work, so hopefully this hasn't broken
      anything.
      6d16c476
    • simonpj's avatar
      [project @ 2005-05-23 14:49:59 by simonpj] · 58fa3624
      simonpj authored
      Print only the result of a bind stmt
      58fa3624