1. 17 Mar, 2004 4 commits
    • simonpj's avatar
      [project @ 2004-03-17 13:59:06 by simonpj] · af5a2151
      simonpj authored
      	More newtype clearing up
      * Change the representation of TyCons so that it accurately reflects
      	* data     (0 or more constrs)
      	* newtype  (1 constr)
      	* abstract (unknown)
        Replaces DataConDetails and AlgTyConFlavour with AlgTyConRhs
      * Add IfaceSyn.IfaceConDecls, a kind of stripped-down analogue
        of AlgTyConRhs
      * Move NewOrData from BasicTypes to HsDecl (it's now an HsSyn thing)
      * Arrange that Type.newTypeRep and splitRecNewType_maybe unwrap just
        one layer of new-type-ness, leaving the caller to recurse.
        This still leaves typeRep and repType in Type.lhs; these functions
        are still vaguely disturbing and probably should get some attention.
      Lots of knock-on changes.  Fixes bug in ds054.
    • simonpj's avatar
      [project @ 2004-03-17 10:44:06 by simonpj] · a34e79f1
      simonpj authored
      More Windows building notes
    • simonpj's avatar
      [project @ 2004-03-17 10:12:31 by simonpj] · 2407332d
      simonpj authored
      Fix debug-printing for Insts
    • simonpj's avatar
      [project @ 2004-03-17 08:54:19 by simonpj] · a6001411
      simonpj authored
      Use sub-kind rather than kind-equality check in matchTys,
      just as we do in TcUnify.  This is someting I failed to
      do when shifting to the funky new kind representation.
  2. 16 Mar, 2004 5 commits
  3. 15 Mar, 2004 1 commit
  4. 13 Mar, 2004 1 commit
  5. 12 Mar, 2004 2 commits
  6. 11 Mar, 2004 9 commits
  7. 10 Mar, 2004 1 commit
  8. 08 Mar, 2004 5 commits
  9. 07 Mar, 2004 1 commit
  10. 05 Mar, 2004 6 commits
  11. 03 Mar, 2004 2 commits
    • simonpj's avatar
      [project @ 2004-03-03 17:11:51 by simonpj] · 2072e42a
      simonpj authored
      Comments only
    • simonpj's avatar
      [project @ 2004-03-03 17:10:33 by simonpj] · a69327ed
      simonpj authored
      Patches to configuration script for MSYS.  It's not clear that this'll
      always work, because we generate paths like /c/mingw/bin, which MinGW
      binaries won't understand -- but all of them seem to be fed to the
      MSYS shell, which translates them to c:/mingw/bin etc.
      Perhaps the Right Thing is to implement msyspath, by analogy with
      cygpath, to convert /c/xxx to c:/xxx? 
      Anyway, this patch seems to work for now.
  12. 02 Mar, 2004 2 commits
  13. 01 Mar, 2004 1 commit
    • simonmar's avatar
      [project @ 2004-03-01 14:18:35 by simonmar] · a20ec0ce
      simonmar authored
      Threaded RTS improvements:
        - Make the main_threads list doubly linked.  Have threads
          remove themselves from this list when they complete, rather
          than searching for completed main threads each time around
          the scheduler loop.  This removes an O(n) loop from the
          scheduler, but adds some new constraints (basically completed
          threads must remain on the run queue until dealt with, including
          threads which have been killed by an async exception).
        - Add a pointer from the TSO to the StgMainThread struct, for
          main threads.  This avoids a number of places where we had
          to traverse the list of main threads to find the right one,
          including one place in the scheduler loop.  Adding a field to
          a TSO is cheap.
        - taskStart: we should be resetting the startingWorkerThread flag
          in here.  Not sure why we aren't; maybe this got lost at some point.
        - Use the BlockedOnCCall flags in the non-threaded RTS too.  Q: what
          should happen if a thread does a foreign call which re-enters the
          RTS, and then sends an async exception to the original thread?
          Answer: it should deadlock, which it does in the threaded RTS, and
          this commit makes it do so in the non-threaded RTS too (see