1. 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
  2. 02 Dec, 1998 1 commit
  3. 14 Aug, 1998 1 commit
  4. 16 Jun, 1998 1 commit
    • sof's avatar
      [project @ 1998-06-16 12:25:36 by sof] · 1ca8c2c7
      sof authored
      New function: okToUnfoldInHiFile.
      
        - For values whose RHS have been deemed to be interface
          file unfolding candidates, do a last minute check to
          see whether the unfolding is really suitable.
      
          An unfolding is not suitable iff
      
             - contains a _casm_
             - contains a lit-lit
      
          The reason for not unfolding _casm_/lit-lits into
          interface files is that their C fragments are likely
          to mention #defines/functions that will be
          out-of-scope at an unfolding site. Turning off unfolding
          of such expressions avoid this unfortunate situation.
      1ca8c2c7
  5. 22 May, 1998 1 commit
    • simonm's avatar
      [project @ 1998-05-22 15:23:11 by simonm] · f36fb2ce
      simonm authored
      Add NOINLINE pragma.
      
      - add new type of inline info: IDontWantToBeINLINEd
      
      - hopefully get the interactions between IMustNotBeINLINEd (which is
        used by the simplifier to ensure termination when simplifying
        recursive binding groups) and IDontWantToBeINLINEd.
      
      - no need to pass NOINLINE across modules, we just make sure that any
        function marked as NOLINE doesn't get an unfolding in the interface.
      f36fb2ce
  6. 14 Apr, 1998 1 commit
  7. 08 Apr, 1998 1 commit
  8. 07 Apr, 1998 1 commit
  9. 19 Mar, 1998 2 commits
  10. 25 Feb, 1998 1 commit
    • sof's avatar
      [project @ 1998-02-25 19:48:54 by sof] · 33362962
      sof authored
      Interface file version checking support. Added a compiler version field
      to the interface file header. The format is now
      
        _interface_ <IfaceName> <ModuleVersion> <CompilerVersion>
      
      where the compiler version follow the value of $(ProjectVersionInt).
      Any mismatch in version numbers causes the renamer to give up.
      
      A compiler version number of 0 means turn off version checking (used
      by PrelGHC.hi to avoid having to update every time we release.)
      
      .hi-boot files are treated specially, the absence of a compiler
      version number in the header is taken to mean that there was a `0'.
      Need to do this since hsc's .hi-boot files have to also be useable
      by versions of the compiler that don't grok version info in interface
      files (e.g., ghc-2.10.)
      33362962
  11. 08 Jan, 1998 1 commit
    • simonm's avatar
      [project @ 1998-01-08 18:03:08 by simonm] · 9dd6e1c2
      simonm authored
      The Great Multi-Parameter Type Classes Merge.
      
      Notes from Simon (abridged):
      
      * Multi-parameter type classes are fully implemented.
      * Error messages from the type checker should be noticeably improved
      * Warnings for unused bindings (-fwarn-unused-names)
      * many other minor bug fixes.
      
      Internally there are the following changes
      
      * Removal of Haskell 1.2 compatibility.
      * Dramatic clean-up of the PprStyle stuff.
      * The type Type has been substantially changed.
      * The dictionary for each class is represented by a new
        data type for that purpose, rather than by a tuple.
      9dd6e1c2
  12. 05 Sep, 1997 1 commit
  13. 05 Jul, 1997 1 commit
  14. 05 Jun, 1997 1 commit
  15. 26 May, 1997 1 commit
  16. 19 May, 1997 1 commit
  17. 14 Mar, 1997 1 commit
  18. 18 Jan, 1997 1 commit
  19. 06 Jan, 1997 1 commit
  20. 19 Dec, 1996 1 commit
  21. 19 Jul, 1996 1 commit
  22. 15 Jul, 1996 1 commit
  23. 30 Jun, 1996 1 commit
  24. 26 Jun, 1996 1 commit
  25. 11 Jun, 1996 1 commit
  26. 05 Jun, 1996 1 commit
  27. 17 May, 1996 1 commit
  28. 16 May, 1996 1 commit
  29. 06 May, 1996 1 commit
  30. 01 May, 1996 1 commit
  31. 30 Apr, 1996 1 commit
  32. 25 Apr, 1996 3 commits
  33. 20 Apr, 1996 1 commit
  34. 07 Apr, 1996 1 commit
  35. 05 Apr, 1996 1 commit
  36. 19 Mar, 1996 1 commit
  37. 18 Jan, 1996 1 commit