1. 07 Jan, 1999 4 commits
  2. 06 Jan, 1999 2 commits
  3. 05 Jan, 1999 1 commit
  4. 24 Dec, 1998 1 commit
  5. 23 Dec, 1998 2 commits
  6. 22 Dec, 1998 6 commits
  7. 21 Dec, 1998 3 commits
  8. 18 Dec, 1998 1 commit
    • simonpj's avatar
      [project @ 1998-12-18 17:40:31 by simonpj] · 7e602b0a
      simonpj 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
  9. 10 Dec, 1998 1 commit
    • simonpj's avatar
      [project @ 1998-12-10 08:54:18 by simonpj] · 688c1dd3
      simonpj 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
  10. 03 Dec, 1998 1 commit
    • simonm's avatar
      [project @ 1998-12-03 17:23:30 by simonm] · 052f7342
      simonm authored
      Inline PrimOps (inc. _c{call,asm}_GC_): load the arguments into
      temporaries early, just in case one of the arguments is in the spot on
      the stack where we want to push the return address.
      052f7342
  11. 02 Dec, 1998 1 commit
  12. 16 Nov, 1998 1 commit
  13. 13 Nov, 1998 2 commits
  14. 09 Nov, 1998 2 commits
  15. 08 Nov, 1998 7 commits
  16. 23 Oct, 1998 1 commit
    • sof's avatar
      [project @ 1998-10-23 09:48:46 by sof] · bff3893a
      sof authored
      getAllFilesMatching: increase malleability factor by a notch;
      just warn if an element along the import search path doesn't
      exist, don't barf.
      bff3893a
  17. 21 Oct, 1998 1 commit
    • sof's avatar
      [project @ 1998-10-21 11:28:00 by sof] · e88bfcee
      sof authored
      - added primops for read&writing StablePtrs to ByteArrays, Adds and FOs
      - egcs crashes in odd ways when encountering the typedefs we need to
        produce when compiling 'foreign import dynamic's. To workaround the
        problem, kludgily add a CCallTypedef constructor to AbsCSyn.AbstractC
        which the flattener will produce (at the toplevel) when encountering
        CCallOps inside COptStmts.
      - augmented PrimOp.CCallOp to carry a unique when it represents a
        'foreign import dynamic' call. The CoreToStg pass ensures that these
        uniques are exactly that. They're used to eventuall generate (unique)
        typedef names.
      e88bfcee
  18. 30 Sep, 1998 3 commits