1. 02 Dec, 2010 5 commits
  2. 01 Nov, 2010 1 commit
  3. 24 Nov, 2010 1 commit
  4. 18 Nov, 2010 3 commits
  5. 17 Nov, 2010 1 commit
  6. 16 Nov, 2010 1 commit
    • simonpj@microsoft.com's avatar
      Warn a bit less often about unlifted bindings. · 67157c5c
      simonpj@microsoft.com authored
      Warn when
         (a) a pattern bindings binds unlifted values
         (b) it has no top-level bang
         (c) the RHS has a *lifted* type
      Clause (c) is new, argued for by Simon M
      Eg     x# = 4# + 4#      -- No warning
             (# a,b #) = blah  -- No warning
             I# x = blah       -- Warning
  7. 15 Nov, 2010 3 commits
  8. 05 Nov, 2010 2 commits
  9. 12 Nov, 2010 2 commits
    • simonpj@microsoft.com's avatar
      A (final) re-engineering of the new typechecker · c80364f8
      simonpj@microsoft.com authored
      Regression testing and user feedback for GHC 7.0 taught
      us a lot.  This patch fixes numerous small bugs, and some
      major ones (eg Trac #4484, #4492), and improves type
      error messages.
      The main changes are:
      * Entirely remove the "skolem equivalance class" stuff;
        a very useful simplification
      * Instead, when flattening "wanted" constraints we generate
        unification variables (not flatten-skolems) for the
        flattened type function application
      * We then need a fixup pass at the end, TcSimplify.solveCTyFunEqs,
        which resolves any residual equalities of form
            F xi ~ alpha
      * When we come across a definite failure (e.g. Int ~ [a]),
        we now defer reporting the error until the end, in case we
        learn more about 'a'.  That is particularly important for
        occurs-check errors.  These are called "frozen" type errors.
      * Other improvements in error message generation.
      * Better tracing messages
    • simonpj@microsoft.com's avatar
      Allow the old [$foo| ... |] syntax for quasi-quotes · 9ba922ee
      simonpj@microsoft.com authored
      This is just a backward-compatibility thing, to be removed
  10. 01 Nov, 2010 1 commit
  11. 27 Oct, 2010 2 commits
    • Simon Marlow's avatar
      Refactoring and tidyup of HscMain and related things (also fix #1666) · 94bf0d36
      Simon Marlow authored
      While trying to fix #1666 (-Werror aborts too early) I decided to some
      tidyup in GHC/DriverPipeline/HscMain.
       - The GhcMonad overloading is gone from DriverPipeline and HscMain
         now.  GhcMonad is now defined in a module of its own, and only
         used in the top-level GHC layer.  DriverPipeline and HscMain
         use the plain IO monad and take HscEnv as an argument.
       - WarnLogMonad is gone.  printExceptionAndWarnings is now called
         printException (the old name is deprecated).  Session no longer
         contains warnings.
       - HscMain has its own little monad that collects warnings, and also
         plumbs HscEnv around.  The idea here is that warnings are collected
         while we're in HscMain, but on exit from HscMain (any function) we
         check for warnings and either print them (via log_action, so IDEs
         can still override the printing), or turn them into an error if
         -Werror is on.
       - GhcApiCallbacks is gone, along with GHC.loadWithLogger.  Thomas
         Schilling told me he wasn't using these, and I don't see a good
         reason to have them.
       - there's a new pure API to the parser (suggestion from Neil Mitchell):
            parser :: String
                   -> DynFlags
                   -> FilePath
                   -> Either ErrorMessages (WarningMessages, 
                                            Located (HsModule RdrName))
    • simonpj@microsoft.com's avatar
      Warn (not error) for SPECIALISE pragmas without INLINE · 47778c38
      simonpj@microsoft.com authored
      See Note [SPECIALISE pragmas] in TcBinds.  Fixes Trac #444.
  12. 23 Oct, 2010 1 commit
  13. 22 Oct, 2010 2 commits
  14. 21 Oct, 2010 5 commits
  15. 20 Oct, 2010 3 commits
  16. 19 Oct, 2010 1 commit
  17. 20 Oct, 2010 1 commit
  18. 19 Oct, 2010 5 commits