Skip to content
Snippets Groups Projects
  1. Jan 06, 1999
  2. Jan 05, 1999
  3. Dec 24, 1998
  4. Dec 23, 1998
  5. Dec 22, 1998
  6. Dec 21, 1998
  7. 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
  8. Dec 15, 1998
  9. Dec 14, 1998
  10. 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
  11. Dec 09, 1998
  12. Dec 03, 1998
  13. Dec 02, 1998
  14. Nov 26, 1998
  15. Nov 25, 1998
  16. Nov 24, 1998
Loading