Skip to content
Snippets Groups Projects
  1. Dec 23, 1998
  2. Dec 22, 1998
  3. Dec 21, 1998
  4. Dec 18, 1998
    • Simon Peyton Jones's avatar
      [project @ 1998-12-18 17:40:31 by simonpj] · 7e602b0a
      Simon Peyton Jones authored
      Another big commit from Simon.  Actually, the last one
      didn't all go into the main trunk; because of a CVS glitch it
      ended up in the wrong branch.
      
      So this commit includes:
      
      * Scoped type variables
      * Warnings for unused variables should work now (they didn't before)
      * Simplifier improvements:
      	- Much better treatment of strict arguments
      	- Better treatment of bottoming Ids
      	- No need for w/w split for fns that are merely strict
      	- Fewer iterations needed, I hope
      * Less gratuitous renaming in interface files and abs C
      * OccName is a separate module, and is an abstract data type
      
      I think the whole Prelude and Exts libraries compile correctly.
      Something isn't quite right about typechecking existentials though.
      7e602b0a
  5. Dec 15, 1998
  6. Dec 14, 1998
  7. Dec 10, 1998
    • Simon Peyton Jones's avatar
      [project @ 1998-12-10 08:54:18 by simonpj] · 688c1dd3
      Simon Peyton Jones authored
      This massive commit is what Simon has been up to for a couple of weeks.
      
      1.  Scoped type variables are in
      
      2.  The typechecker works a bit differently.
          In partiular, the compiler no longer has TcTyVars of
      	a different type than TyVars.
          All the 's' and 'flexi' type parameters have vanished from Id, TyVar,
      	Type, etc.
          The typchecker monad is now in the IO world (though I didn't get
      	around to removing the 's' parameter from the monad, but it's
      	no longer used)
      
          Bottom line: significantly simpler,
      		 fewer gratuitous conversions from TcType <-> Type
      		 but less type security in the compiler
      
          There was a reason for doing this now; somehow the 's' stuff
          got in the way of kind inference for scoped type variables
          and I lost patience with it.
      
      3.  Haskell98-style reporting of scope errors; i.e. you only get
          an error if you use a variable that could mean two different things.
          At the same time I did a lot of tidying-up in the renamer.
      
      4.  Mostly-complete fix to the reporting of unused variables, which
          has never worked properly.  (The 'mostly' bit is because it reports
          those 'system' tycons like _C as unused.  I'm on the job.)
      
      5.  The parser is a bit tider than it was.  A few more ugn files give
          a more refined C data type.  I had to tackle this because of
          the scoped type variables.
      
      6.  Haskell98-style fixities.  Fixity decls can occur wherever a type
          signature can
      
      7.  Some HsSyn changes that constitute minor tidy ups
      	Put TypeDecl and ClassDecl into one type [HsDecls]
      	Improved the HsMatch/GRHSs etc data types.
      
      8.  TcGRHSs is removed; combined into TcMatches.
      
      I DO NOT PROMISE THAT ALL OF THIS WORKS.  It compiles the Prelude,
      but I have not tested it more than that.  Stick to 4.01 if you want a
      compiler that's sure to work.
      688c1dd3
  8. Dec 09, 1998
  9. Dec 03, 1998
  10. Dec 02, 1998
  11. Nov 26, 1998
  12. Nov 25, 1998
  13. Nov 24, 1998
  14. Nov 23, 1998
    • sof's avatar
      [project @ 1998-11-23 15:44:21 by sof] · bbe9c555
      sof authored
      Extend hConnectTo to also allow output handles to be connected, i.e.,
      
          h1 <- openFile "foo" WriteMode
          h2 <- openFile "bar" WriteMode
          hConnectTo h1 h2
      
        will cause h1's buffer to be flushed when h2's buffer overflows
        (and it is just about to be flushed.) The implementation is currently
        not as lazy as that, it flushes h1's buffer regardless of whether h2's
        buffer overflows or not.
      
        This is used to connect 'stderr' and 'stdout', i.e., output on
        'stderr' will now cause 'stdout' output to (first) be flushed.
      bbe9c555
    • sof's avatar
      [project @ 1998-11-23 11:51:52 by sof] · 9a13d5c8
      sof authored
      Default GhcReportCompiles to NO
      9a13d5c8
    • sof's avatar
      [project @ 1998-11-23 10:03:42 by sof] · 8db1186f
      sof authored
      Added {TEXT,DATA}_SECTION_MARKER_DECL
      8db1186f
  15. Nov 22, 1998
  16. Nov 21, 1998
    • sof's avatar
      [project @ 1998-11-21 14:35:00 by sof] · b37527ec
      sof authored
      Distinguish between defn and use of etext and end syms; they're not
      the same on platforms where we have to resort to asm labels.
      b37527ec
Loading