1. 05 Mar, 2001 3 commits
    • simonmar's avatar
      [project @ 2001-03-05 10:06:27 by simonmar] · 9c59d745
      simonmar authored
      small rearrangement
    • simonmar's avatar
      [project @ 2001-03-05 10:05:58 by simonmar] · b671b141
      simonmar authored
      fix -fgenerics
    • qrczak's avatar
      [project @ 2001-03-05 00:07:23 by qrczak] · 429854e8
      qrczak authored
      Use custom parser monad instead of Parsec. It remembers the text which
      has been parsed, so it needs not to be reconstructed after parsing.
      Operators containing '--' are now handled correctly. '#' triggers
      special processing only if it's not a part of an operator, i.e. if
      a varsym token is exactly a single '#'.
      Backslash-newline pairs in C lexical world are now handled correctly
      (removed at an early stage).
      Option --keep replaced with --no-compile (stop after writing *.hs_make.c).
  2. 04 Mar, 2001 2 commits
  3. 03 Mar, 2001 1 commit
  4. 02 Mar, 2001 8 commits
    • simonmar's avatar
      [project @ 2001-03-02 17:35:20 by simonmar] · 920d0d7e
      simonmar authored
      Fix :type again, by resurrecting typecheckExpr.  Now the expression
      doesn't get the monomorphism restriction applied to it.
    • simonmar's avatar
      [project @ 2001-03-02 16:15:53 by simonmar] · 435b1086
      simonmar authored
      ASSERT in updateWithIndirection() that we haven't already updated this
      object with an indirection, and fix two places in the RTS where this
      could happen.
      The problem only occurs when we're in a black-hole-style loop, and
      there are multiple update frames on the stack pointing to the same
      object (this is possible because of lazy black-holing).  Both stack
      squeezing and asynchronous exception raising walk down the stack and
      remove update frames, updating their contents with indirections.  If
      we don't protect against multiple updates, the mutable list in the old
      generation may get into a bogus state.
    • simonmar's avatar
      [project @ 2001-03-02 16:12:18 by simonmar] · b126c85f
      simonmar authored
      Add a new closure flag, IND, to identify indirections.
    • simonmar's avatar
      [project @ 2001-03-02 14:36:16 by simonmar] · ffaa2614
      simonmar authored
      Add some ASSERT()s so we can catch updates where updatee==target.
    • simonmar's avatar
      [project @ 2001-03-02 14:28:44 by simonmar] · 18f73b07
      simonmar authored
      Yet another good bug (I'm on a roll today! :-)
      When squeezing update frames, make sure the updatee pointers aren't
      identical before updating one to point to the other.  This is mostly
      harmless, but in one example I have caused the program to go into an
      infinite loop rather than fall down a black hole.
      To be merged into the 4.08 branch.
    • simonmar's avatar
      [project @ 2001-03-02 14:26:40 by simonmar] · 5cd7cb62
      simonmar authored
      Another good bug: the stack check in the AP_UPD entry code was wrong.
      This one is a definite source of crashes.
      To be merged into the 4.08 branch.
    • simonmar's avatar
      [project @ 2001-03-02 14:25:04 by simonmar] · 2efbfc25
      simonmar authored
      A good bug: detectBlackHoles wasn't checking for ThreadRelocated,
      which is why we sometimes get "no threads to run: infinite loop or
      deadlock?" when we should get a NonTermination exception.
      To be merged into the 4.08 branch.
    • simonmar's avatar
      [project @ 2001-03-02 10:52:15 by simonmar] · ac76dbc4
      simonmar authored
      Don't context switch on the timer if the flag +RTS -C0 is given.  This
      gives us reliable/repeatable runs with -C0 (I've been running with a
      similar change for months now, debugging is virtually impossible
      without it).
  5. 01 Mar, 2001 25 commits
  6. 28 Feb, 2001 1 commit
    • simonmar's avatar
      [project @ 2001-02-28 17:57:52 by simonmar] · 85c61e76
      simonmar authored
      Compiling a module outside of a running GHCi and expecting GHCi to
      pick it up when you do ':r' ain't gonna work.
      We thought it would, but there's a problem with module versions and
      the recompilation machinery, namely that the outside compiler doesn't
      know about the versions being used internally in the running GHCi.
      The "right" solution is to implement a ':compile' command in GHCi, but
      we aren't going to do that before the release.
      This commit disables the picking up of newly compiled modules, until
      you do a full load (i.e. :load).