1. 11 Dec, 2001 1 commit
  2. 17 Jul, 2001 1 commit
    • simonpj's avatar
      [project @ 2001-07-17 15:28:30 by simonpj] · fdc83001
      simonpj authored
      --------------------------------
      	First cut at the demand analyser
      	--------------------------------
      
      This demand analyser is intended to replace the strictness/absence
      analyser, and the CPR analyser.
      
      This commit adds it to the compiler, but in an entirely non-invasive
      way.
      
      	If you build the compiler without -DDEBUG,
      	you won't get it at all.
      
      	If you build the compiler with -DDEBUG,
      	you'll get the demand analyser, but the existing
      	strictness analyser etc are still there.  All the
      	demand analyser does is to compare its output with
      	the existing stuff and report differences.
      
      There's no cross-module stuff for demand info yet.
      
      The strictness/demand info is put the IdInfo as
      	newStrictnessInfo
      	newDemandInfo
      
      Eventually we'll remove the old ones.
      
      Simon
      fdc83001
  3. 12 Oct, 2000 1 commit
    • simonmar's avatar
      [project @ 2000-10-12 13:11:45 by simonmar] · 30d55993
      simonmar authored
      Move FAST_INT and FAST_BOOL into their own module FastTypes, replacing
      the macro definitions in HsVersions.h with real definitions.  Change
      most of the names in the process.
      
      Now we don't get bogus imports of GlaExts all over the place, and
      -fwarn-unused-imports is less noisy.
      30d55993
  4. 03 Dec, 1999 1 commit
    • lewie's avatar
      [project @ 1999-12-03 18:17:29 by lewie] · c2b053f3
      lewie authored
      Extend getTyVarsToGen to take the closure of the set of tyvars
      with respect to functional dependencies.  Really simple programs
      using functional dependencies work now.  Also fixed a small glitch
      where trivial (empty) FunDeps were being tossed into the context willy nilly.
      c2b053f3
  5. 22 Jun, 1999 1 commit
  6. 26 May, 1999 1 commit
  7. 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
  8. 02 Dec, 1998 1 commit
  9. 15 Aug, 1998 1 commit
  10. 01 May, 1998 1 commit
  11. 16 Apr, 1998 1 commit
  12. 15 Apr, 1998 1 commit
  13. 08 Mar, 1998 1 commit
  14. 03 Feb, 1998 1 commit
    • simonm's avatar
      [project @ 1998-02-03 17:13:54 by simonm] · be33dbc9
      simonm authored
      - Fixes for bootstrapping with 3.01.
        - Use 'official' extension interfaces rather than internal prelude
          modules (such as ArrBase) where possible.
        - Remove some cruft.
        - Delete some unused imports found by '-fwarn-unused-imports'.
      be33dbc9
  15. 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
  16. 25 Aug, 1997 1 commit
  17. 20 Jun, 1997 1 commit
  18. 05 Jun, 1997 1 commit
  19. 26 May, 1997 1 commit
  20. 18 May, 1997 1 commit
  21. 14 Mar, 1997 1 commit
  22. 19 Dec, 1996 1 commit
  23. 15 Jul, 1996 2 commits
  24. 26 Jun, 1996 1 commit
  25. 05 Jun, 1996 1 commit
  26. 30 Apr, 1996 1 commit
  27. 08 Apr, 1996 1 commit
  28. 07 Apr, 1996 1 commit
  29. 05 Apr, 1996 1 commit
  30. 19 Mar, 1996 1 commit
  31. 08 Jan, 1996 1 commit