1. 14 Jun, 2012 1 commit
  2. 12 Jun, 2012 4 commits
  3. 11 Jun, 2012 5 commits
  4. 29 May, 2012 1 commit
    • Ian Lynagh's avatar
      Replace printDump with a new Severity · 78252479
      Ian Lynagh authored
      We now use log_action with severity SevDump, rather than calling
      printDump. This means that what happens to dumped info is now under
      the control of the GHC API user, rather than always going to stdout.
      78252479
  5. 04 Apr, 2012 1 commit
  6. 27 Feb, 2012 2 commits
  7. 12 Jan, 2012 1 commit
    • Simon Peyton Jones's avatar
      Implememt -fdefer-type-errors (Trac #5624) · 5508ada4
      Simon Peyton Jones authored
      This patch implements the idea of deferring (most) type errors to
      runtime, instead emitting only a warning at compile time.  The
      basic idea is very simple:
      
       * The on-the-fly unifier in TcUnify never fails; instead if it
         gets stuck it emits a constraint.
      
       * The constraint solver tries to solve the constraints (and is
         entirely unchanged, hooray).
      
       * The remaining, unsolved constraints (if any) are passed to
         TcErrors.reportUnsolved.  With -fdefer-type-errors, instead of
         emitting an error message, TcErrors emits a warning, AND emits
         a binding for the constraint witness, binding it
         to (error "the error message"), via the new form of evidence
         TcEvidence.EvDelayedError.  So, when the program is run,
         when (and only when) that witness is needed, the program will
         crash with the exact same error message that would have been
         given at compile time.
      
      Simple really.  But, needless to say, the exercise forced me
      into some major refactoring.
      
       * TcErrors is almost entirely rewritten
      
       * EvVarX and WantedEvVar have gone away entirely
      
       * ErrUtils is changed a bit:
           * New Severity field in ErrMsg
           * Renamed the type Message to MsgDoc (this change
             touches a lot of files trivially)
      
       * One minor change is that in the constraint solver we try
         NOT to combine insoluble constraints, like Int~Bool, else
         all such type errors get combined together and result in
         only one error message!
      
       * I moved some definitions from TcSMonad to TcRnTypes,
         where they seem to belong more
      5508ada4
  8. 18 Nov, 2011 2 commits
  9. 16 Nov, 2011 2 commits
  10. 04 Nov, 2011 1 commit
  11. 21 Jul, 2011 1 commit
  12. 03 Jul, 2011 1 commit
    • Ian Lynagh's avatar
      defaultErrorHandler now only takes LogAction · e01fffc6
      Ian Lynagh authored
      It used to take a whole DynFlags, but that meant we had to
      create a DynFlags with (panic "No settings") for settings, as
      we didn't have any real settings.
      
      Now we just pass the LogAction, which is all that it actually needed.
      The default is exported from DynFlags as defaultLogAction.
      e01fffc6
  13. 05 Jun, 2011 1 commit
    • Ian Lynagh's avatar
      Make dumpIfSet_dyn_or use dumpSDoc · 86add45d
      Ian Lynagh authored
      This means that for example
          ghc -ddump-simpl -ddump-to-file ...
      now puts the simpl output in a file, rather htan sending it to stdout.
      86add45d
  14. 15 May, 2011 1 commit
  15. 07 Apr, 2011 1 commit
    • Thomas Schilling's avatar
      Start support for coloured SDoc output. · 4e6bac1e
      Thomas Schilling authored
      The SDoc type now passes around an abstract SDocContext rather than
      just a PprStyle which required touching a few more files.  This should
      also make it easier to integrate DynFlags passing, so that we can get
      rid of global variables.
      4e6bac1e
  16. 15 Dec, 2010 1 commit
  17. 27 Oct, 2010 1 commit
    • 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))
      94bf0d36
  18. 08 Aug, 2010 1 commit
  19. 24 Dec, 2009 1 commit
  20. 05 Dec, 2009 1 commit
  21. 29 Oct, 2009 1 commit
  22. 15 Sep, 2009 1 commit
  23. 23 Jul, 2009 1 commit
  24. 22 Nov, 2008 1 commit
  25. 10 Oct, 2008 1 commit
  26. 03 Oct, 2008 1 commit
    • Ian Lynagh's avatar
      Use an extensible-exceptions package when bootstrapping · 1f3a7730
      Ian Lynagh authored
      Ifdefs for whether we had extensible exceptions or not were spreading
      through GHC's source, and things would only have got worse for the next
      2-3 years, so instead we now use an implementation of extensible
      exceptions built on top of the old exception type.
      1f3a7730
  27. 21 Sep, 2008 1 commit
  28. 14 Sep, 2008 2 commits
  29. 26 Aug, 2008 1 commit