1. 03 Apr, 2000 1 commit
    • simonpj's avatar
      [project @ 2000-04-03 09:52:28 by simonpj] · e4b0fab5
      simonpj authored
      * Make it so that recursive newtype declarations don't send
        GHC into an infinite loop.
      
      	newtype T = MkT T
      
        This happened because Type.repType looked throught newtypes,
        and that never stopped!  Now TcTyDecls.mkNewTyConRep does the job
        more carefully, and the result is cached in the TyCon itself.
      
      
      * Improve the handling of type signatures & pragmas.  Previously a
        mis-placed (say) SPECIALISE instance pragmas could be silently
        ignored.
      
      
      Both these changes involved moving quite a lot of stuff between modules.
      e4b0fab5
  2. 01 Apr, 2000 1 commit
  3. 31 Mar, 2000 2 commits
    • andy's avatar
      [project @ 2000-03-31 04:13:27 by andy] · 5ae62a56
      andy authored
      Fixing a couple of problems with Quantified identifiers.
      
      (1) The string building routine for Qid's was not using
          the new abstraction for showing names. The old abstraction
          worked most of the time in the new system, so was only
          getting tickled sometimes.
      (2) Fixing the local module that top level expressions
          evaluate in. By importing quantified Prelude,
          this allows top level expressions like Prelude.take
      
      And a trivial Makefile change.
      5ae62a56
    • hwloidl's avatar
      [project @ 2000-03-31 03:09:35 by hwloidl] · dd4c28a9
      hwloidl authored
      Numerous changes in the RTS to get GUM-4.06 working (currently works with
      parfib-ish programs). Most changes are isolated in the rts/parallel dir.
      
      rts/parallel/:
        The most important changes are a rewrite of the (un-)packing code (Pack.c)
        and changes in LAGA, GALA table operations (Global.c) expecially in
        rebuilding the tables during GC.
      
      rts/:
        Minor changes in Schedule.c, GC.c (interface to par specific root marking
        and evacuation), and lots of additions to Sanity.c (surprise ;-)
        Main.c change for startup: I use a new function rts_evalNothing to
        start non-main-PEs in a PAR || SMP setup (RtsAPI.c)
      
      includes/:
        Updated GranSim macros in PrimOps.h.
      
      lib/std:
        Few changes in PrelHandle.c etc replacing ForeignObj by Addr in a PAR
        setup (we still don't support ForeignObjs or WeakPtrs in GUM).
        Typically use
          #define FILE_OBJECT	    Addr
        when dealing with files.
      
      hslibs/lang/:
        Same as above (in Foreign(Obj).lhs, Weak.lhs, IOExts.lhs etc).
      
      -- HWL
      dd4c28a9
  4. 30 Mar, 2000 14 commits
    • simonpj's avatar
      [project @ 2000-03-30 16:23:56 by simonpj] · b822aa0e
      simonpj authored
      * Remove the unnecessary CPR parameter to mkUnfolding and friends
      
      * Make sure that even trivial wrappers have a __inline__
        (this was causing lots of 'substWorker' DEBUG messages)
      
      * Nuke demand info when the unfolding is a value
        (see notes with IdInfo.setUnfoldingInfo)
      
      * Add an update-in-place test to the 'interesting context'
        predicate in SimplUtils.
      b822aa0e
    • simonmar's avatar
      [project @ 2000-03-30 16:07:53 by simonmar] · bbf0592f
      simonmar authored
      Support AP_UPDs/PAPs larger than a block in size.  It turned out not
      to be too hard to do this.  This fixes George Russell's bug ("hsc:
      fatal error: scavenge: stack frame").
      bbf0592f
    • simonmar's avatar
      [project @ 2000-03-30 15:35:13 by simonmar] · 958e98fa
      simonmar authored
      Add an ASSERT to catch a known bug: when allocating an AP_UPD in
      raiseAsync, if the object is larger than a block in size then all
      sorts of things can go wrong.
      958e98fa
    • rrt's avatar
      [project @ 2000-03-30 14:12:42 by rrt] · f101ebc1
      rrt authored
      Filter out PrelHugs in all ways for building DLLs.
      f101ebc1
    • rrt's avatar
      [project @ 2000-03-30 14:11:34 by rrt] · aa58acc1
      rrt authored
      Added subl clause to epilogue munging.
      aa58acc1
    • rrt's avatar
      [project @ 2000-03-30 14:09:44 by rrt] · e2ceaa1a
      rrt authored
      Added rules for building GMP as a DLL. N.B. GMP is not actually used
      yet as a DLL; this remains to be added to the build system.
      e2ceaa1a
    • rrt's avatar
      [project @ 2000-03-30 14:08:43 by rrt] · 6456c6ca
      rrt authored
      Removed __init_PrelMain, which shouldn't be in here.
      6456c6ca
    • simonpj's avatar
      [project @ 2000-03-30 13:46:54 by simonpj] · f6772feb
      simonpj authored
      Document hoisting foralls
      f6772feb
    • simonmar's avatar
      [project @ 2000-03-30 12:04:13 by simonmar] · 9a3395bd
      simonmar authored
      update for extra parameter to startupHaskell().
      9a3395bd
    • simonmar's avatar
      [project @ 2000-03-30 12:03:30 by simonmar] · c108d3f6
      simonmar authored
      HEADS UP!!!
      
      change the type of startupHaskell():
      
         void startupHaskell  ( int argc, char *argv[], void *init_root );
      
      the extra parameter is a pointer to the initialisation function for
      the root module in the program.  eg., Main.c now passes __init_Main for
      this parameter.  It can be left as NULL if there is no root module.
      
      This interface may need to be revised, since in some circumstances
      there may be more than one "root module".
      
      Sigbjorn: H/Direct will need some changes to stay in sync here.
      c108d3f6
    • simonmar's avatar
      [project @ 2000-03-30 10:37:09 by simonmar] · 83ea6d69
      simonmar authored
      Remove this file, it moved to ghc/rts.  (sigh, I thought I removed it
      already, but apparently not).
      83ea6d69
    • simonmar's avatar
      [project @ 2000-03-30 10:36:15 by simonmar] · 7ba6697c
      simonmar authored
      Replace _static_closures with _closures.
      7ba6697c
    • andy's avatar
      [project @ 2000-03-30 09:04:34 by andy] · 03d3a511
      andy authored
      Wibble One.
      03d3a511
    • andy's avatar
      [project @ 2000-03-30 09:02:12 by andy] · 042ab680
      andy authored
      Fixing bug with import privileged clashing with import hidden.
      This caused a rather nasty name-leak, where catch from the prelude
      was being given the type of catch from Exceptions.
      
      Now, when you use import privileged Prelude (...) you also
      need to do import Prelude, allowing you the option of
      import Prelude hiding (...).
      
      A bucket load of wibbles will follow in various libraries,
      implementing this restriction.
      042ab680
  5. 29 Mar, 2000 2 commits
  6. 28 Mar, 2000 13 commits
  7. 27 Mar, 2000 6 commits
    • simonpj's avatar
      [project @ 2000-03-27 16:22:09 by simonpj] · 783e505e
      simonpj authored
      Fix a bug in import listing in interface files that meant we lost track of
      interface files.  This fixes the problem that led Sven to add lots of
      import PprType() decls.  I've removed them all again!
      783e505e
    • simonpj's avatar
      [project @ 2000-03-27 13:24:12 by simonpj] · a127213c
      simonpj authored
      a) Move Unfolding and UnfoldingGuidance to CoreSyn
         As a result, remove several SOURCE imports
         Shrink CoreSyn.hi-boot considerably
         Delete CoreUnfold.hi-boot altogether
      
      b) Add CoreUtils.exprIsConApp_maybe
         Use in PrelRules to fix a bug in the dataToTag rule
      
      c) Fix boolean polarity error in Simplify.lhs
      a127213c
    • simonpj's avatar
      [project @ 2000-03-27 13:23:49 by simonpj] · 8ddfc3c1
      simonpj authored
      Improve the error messages given when a definition isn't polymorphic enough.
      In paticular, for this program:
      
          let v = runST (newSTRef True)
          in
          runST (readSTRef v)
      
      we get the message
      
          Inferred type is less polymorphic than expected
      	Quantified type variable `s' escapes
      	It is reachable from the type variable(s) `a'
      	  which are free in the signature
          Signature type:     forall s. ST s a
          Type to generalise: ST s (STRef s Bool)
          When checking an expression type signature
          In the first argument of `runST', namely `(newSTRef True)'
          In the right-hand side of a pattern binding: runST (newSTRef True)
      8ddfc3c1
    • simonpj's avatar
      [project @ 2000-03-27 08:58:37 by simonpj] · 36908417
      simonpj authored
      Fix sig for guard in module header
      36908417
    • simonmar's avatar
      [project @ 2000-03-27 08:50:15 by simonmar] · f9e2bf38
      simonmar authored
      Don't treat 'ccall' and 'stdcall' as reserved words.  This fixes
      another problem with bootstrapping.
      f9e2bf38
    • simonmar's avatar
      [project @ 2000-03-27 08:46:15 by simonmar] · d807babf
      simonmar authored
      rearrange tokens to be in roughly the same order as everywhere else.
      d807babf
  8. 25 Mar, 2000 1 commit
    • panne's avatar
      [project @ 2000-03-25 12:38:40 by panne] · cca2c69f
      panne authored
      Adding a bunch of `import PprType ()' to make 4.07 compile itself.
      Strangely enough, compilation with 4.06 worked without these, so
      this is probably only fighting the symptoms of something deeper,
      and somebody should have a look at it. But for now, I simply need
      a bootstrapping 4.07...
      cca2c69f