1. 14 Jan, 1999 1 commit
    • sof's avatar
      [project @ 1999-01-14 17:58:41 by sof] · 3160f854
      sof authored
      Assorted minor Haskell 98 changes:
      
        * Maximal munch rule for "--" comments
        * _ as lower-case letter, "_" is a reserved id. Prefixing unused
          variable names in patterns with '_' causes the renamer not to
          report such names as being unused.
        * allow empty decls
        * comprehensions are now list comprehensions, not monadic.
        * use Monad.fail to signal pattern matching errors within
          do expressions.
        * remove record punning.
        * empty contexts are now legal  (go wild!)
        * allow records with no fields
        * allow newtypes with a labelled field
        * default default is now (Integer, Double)
        * turn off defaulting mechanism for args & res to a _ccall_.
        * allow LHSs of the form  (a -.- b) x = ...
        * Main.main can now have type (IO a)
        * nuked Void (and its use in the compiler sources.)
        * deriving machinery for Enum now also generate 'succ' and 'pred'
          method bindings.
      3160f854
  2. 07 Jan, 1999 1 commit
  3. 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
  4. 02 Dec, 1998 1 commit
  5. 14 Aug, 1998 1 commit
  6. 23 Jul, 1998 1 commit
  7. 21 Jul, 1998 1 commit
  8. 20 Jul, 1998 1 commit
  9. 01 Jun, 1998 1 commit
  10. 04 May, 1998 1 commit
  11. 30 Apr, 1998 1 commit
  12. 25 Feb, 1998 1 commit
    • sof's avatar
      [project @ 1998-02-25 19:29:52 by sof] · 6af6951b
      sof authored
      Dictionaries are now named as follows:
      
        $d<class><tycon><n>
      
      where "n" is a positive int, "tycon" is the name of the tyvar/tycon
      of the first argument to the "class" that the dict represent an
      instance of.
      
      The change should improve the behaviour of the recompilation
      checker, preventing the recompilation of all the dependents
      of a module whenever a data type of instance is added to it.
      (The common behaviour should be no recompilations, but there
      are cases where the naming scheme fails to prevent a recompile.)
      6af6951b
  13. 09 Feb, 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. 02 Feb, 1998 1 commit
    • simonm's avatar
      [project @ 1998-02-02 14:52:08 by simonm] · 87fe9c34
      simonm authored
      Split -fwarn-unused-names into
      
      	-fwarn-unused-imports	 Warn about unused explicit imports. (in -W)
      	-fwarn-unused-binds	 Warn about unused bindings	     (in -W)
      	-fwarn-unused-matches    Warn about unused names in pattern matches
      				 (not as useful, relegated to -Wall)
      87fe9c34
  16. 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
  17. 12 Aug, 1997 1 commit
  18. 25 Jul, 1997 1 commit
  19. 05 Jul, 1997 1 commit
  20. 05 Jun, 1997 1 commit
  21. 26 May, 1997 1 commit
  22. 19 May, 1997 2 commits
  23. 17 Mar, 1997 1 commit
  24. 14 Mar, 1997 1 commit
  25. 18 Jan, 1997 1 commit
  26. 17 Jan, 1997 1 commit
  27. 06 Jan, 1997 1 commit
  28. 19 Dec, 1996 1 commit
  29. 19 Jul, 1996 1 commit
  30. 15 Jul, 1996 1 commit
  31. 30 Jun, 1996 1 commit
  32. 26 Jun, 1996 1 commit
  33. 11 Jun, 1996 1 commit
  34. 05 Jun, 1996 1 commit
  35. 20 May, 1996 1 commit
  36. 16 May, 1996 2 commits
  37. 06 May, 1996 2 commits