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 2 commits
  3. 05 Jan, 1999 1 commit
  4. 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
  5. 02 Dec, 1998 1 commit
  6. 08 Nov, 1998 1 commit
  7. 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
  8. 04 Sep, 1998 1 commit
  9. 14 Aug, 1998 2 commits
  10. 23 Jul, 1998 1 commit
  11. 21 Jul, 1998 1 commit
  12. 20 Jul, 1998 1 commit
  13. 01 Jun, 1998 1 commit
  14. 31 May, 1998 1 commit
  15. 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
  16. 11 May, 1998 1 commit
  17. 04 May, 1998 1 commit
  18. 01 May, 1998 1 commit
  19. 30 Apr, 1998 1 commit
  20. 09 Apr, 1998 2 commits
  21. 08 Apr, 1998 1 commit
  22. 07 Apr, 1998 2 commits
  23. 06 Apr, 1998 1 commit
  24. 19 Mar, 1998 1 commit
  25. 04 Mar, 1998 1 commit
  26. 03 Mar, 1998 1 commit
  27. 25 Feb, 1998 2 commits
    • 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
    • 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
  28. 10 Feb, 1998 2 commits
  29. 09 Feb, 1998 2 commits
  30. 03 Feb, 1998 2 commits
    • sof's avatar
      [project @ 1998-02-03 22:20:10 by sof] · 82c39e15
      sof authored
      Support for assertions:
        - if `assert' is not a variable name within
          scope, it is expanded to (GHCerr.assert__ <srcLoc>),
      
             GHCerr.assert__ :: String -> Bool -> a -> a
      
          where <srcLoc> encodes module name plus line number
          of the assertion.
        - enabled with -fglasgow-exts
      82c39e15
    • 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
  31. 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
  32. 29 Jan, 1998 1 commit