Skip to content
Snippets Groups Projects
  1. Apr 03, 2000
    • Simon Peyton Jones's avatar
      [project @ 2000-04-03 09:52:28 by simonpj] · e4b0fab5
      Simon Peyton Jones 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. Apr 01, 2000
  3. Mar 31, 2000
    • AndyGill's avatar
      [project @ 2000-03-31 04:13:27 by andy] · 5ae62a56
      AndyGill 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. Mar 30, 2000
  5. Mar 29, 2000
  6. Mar 28, 2000
  7. Mar 27, 2000
    • Simon Peyton Jones's avatar
      [project @ 2000-03-27 16:22:09 by simonpj] · 783e505e
      Simon Peyton Jones 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
    • Simon Peyton Jones's avatar
      [project @ 2000-03-27 13:24:12 by simonpj] · a127213c
      Simon Peyton Jones 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
    • Simon Peyton Jones's avatar
      [project @ 2000-03-27 13:23:49 by simonpj] · 8ddfc3c1
      Simon Peyton Jones 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
    • Simon Peyton Jones's avatar
      [project @ 2000-03-27 08:58:37 by simonpj] · 36908417
      Simon Peyton Jones authored
      Fix sig for guard in module header
      36908417
    • Simon Marlow's avatar
      [project @ 2000-03-27 08:50:15 by simonmar] · f9e2bf38
      Simon Marlow authored
      Don't treat 'ccall' and 'stdcall' as reserved words.  This fixes
      another problem with bootstrapping.
      f9e2bf38
    • Simon Marlow's avatar
      [project @ 2000-03-27 08:46:15 by simonmar] · d807babf
      Simon Marlow authored
      rearrange tokens to be in roughly the same order as everywhere else.
      d807babf
  8. Mar 25, 2000
    • sven.panne@aedion.de's avatar
      [project @ 2000-03-25 12:38:40 by panne] · cca2c69f
      sven.panne@aedion.de 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
Loading