1. 24 Jul, 2012 1 commit
  2. 20 Jul, 2012 1 commit
  3. 18 Jul, 2012 1 commit
    • pcapriotti's avatar
      Remove hPrintDump and make rule dump output more consistent (#7060) · 2b341fc4
      pcapriotti authored
      The only difference between SevDump and SevOutput in defaultLogAction is
      an extra blank line, so we don't need a separate hPrintDump function.
      
      Also make -ddump-to-file consistent with the stdout version, by avoiding
      to add the extra empty line when dumping rules.
      2b341fc4
  4. 16 Jul, 2012 4 commits
  5. 26 Jun, 2012 1 commit
  6. 25 Jun, 2012 2 commits
  7. 20 Jun, 2012 2 commits
  8. 18 Jun, 2012 4 commits
  9. 14 Jun, 2012 2 commits
  10. 13 Jun, 2012 2 commits
    • Simon Peyton Jones's avatar
      Simplify the implementation of Implicit Parameters · 5a8ac0f8
      Simon Peyton Jones authored
      This patch re-implements implicit parameters via a class
      with a functional dependency:
      
          class IP (n::Symbol) a | n -> a where
            ip :: a
      
      This definition is in the library module GHC.IP. Notice
      how it use a type-literal, so we can have constraints like
         IP "x" Int
      Now all the functional dependency machinery works right to make
      implicit parameters behave as they should.
      
      Much special-case processing for implicit parameters can be removed
      entirely. One particularly nice thing is not having a dedicated
      "original-name cache" for implicit parameters (the nsNames field of
      NameCache).  But many other cases disappear:
      
        * BasicTypes.IPName
        * IPTyCon constructor in Tycon.TyCon
        * CIPCan constructor  in TcRnTypes.Ct
        * IPPred constructor  in Types.PredTree
      
      Implicit parameters remain special in a few ways:
      
       * Special syntax.  Eg the constraint (IP "x" Int) is parsed
         and printed as (?x::Int).  And we still have local bindings
         for implicit parameters, and occurrences thereof.
      
       * A implicit-parameter binding  (let ?x = True in e) amounts
         to a local instance declaration, which we have not had before.
         It just generates an implication contraint (easy), but when
         going under it we must purge any existing bindings for
         ?x in the inert set.  See Note [Shadowing of Implicit Parameters]
         in TcSimplify
      
       * TcMType.sizePred classifies implicit parameter constraints as size-0,
         as before the change
      
      There are accompanying patches to libraries 'base' and 'haddock'
      
      All the work was done by Iavor Diatchki
      5a8ac0f8
    • Ian Lynagh's avatar
      Follow spelling fixes · 0cba443f
      Ian Lynagh authored
      0cba443f
  11. 12 Jun, 2012 4 commits
  12. 11 Jun, 2012 4 commits
  13. 08 Jun, 2012 2 commits
  14. 07 Jun, 2012 1 commit
  15. 29 May, 2012 2 commits
  16. 28 May, 2012 1 commit
    • Ian Lynagh's avatar
      Add defaultLogActionHPrintDoc to DynFlags · a7b1d219
      Ian Lynagh authored
      We now use this function rather than Outputable.{printSDoc,printErrs}.
      
      Outputable is arguably a better home for the function, but putting it
      in DynFlags should dissuade people from using it inappropriately (in
      particular, nothing other than the default hooks should have stdout
      or stderr hardcoded).
      
      Not exporting it at all would also be an option, but exporting it with
      an ungainly name will make it slightly easier for people who want to
      send output to other Handles for some reason.
      a7b1d219
  17. 22 May, 2012 1 commit
  18. 15 May, 2012 3 commits
    • pcapriotti's avatar
      Simplify the behavior of package db flags. · ba409e30
      pcapriotti authored
      Previously, the `-no-user-package` and `-no-global-package` flags
      affected the "initial" stack only, while `user-package` and
      `global-packages` appended to the end of the stack.
      
      This commit changes the behavior of those flags, so that they are always
      applied to the stack as a whole.
      
      The effect of the GHC_PACKAGE_PATH environment variable has also been
      changed: terminating it with a separator now adds the default package
      dbs (user and global) instead of the initial stack.
      ba409e30
    • pcapriotti's avatar
      Rename package-conf flags to package-db. · ca2debb2
      pcapriotti authored
      Rename package database flags in both GHC and ghc-pkg so that they are
      consistent with Cabal nomenclature.
      
      Add a version check to the build system so that the correct set of
      package db flags are used when the bootstrapping GHC has version < 7.5.
      ca2debb2
    • pcapriotti's avatar
      Add flags to manipulate package db stack (#5977) · 6a831be4
      pcapriotti authored
      Introduce new flags to allow any package database stack to be set up.
      The `-no-user-package-conf` and `-no-global-package-conf` flags remove
      the corresponding package db from the initial stack, while
      `-user-package-conf` and `-global-package-conf` push it back on top of
      the stack.
      6a831be4
  19. 24 Apr, 2012 1 commit
  20. 20 Apr, 2012 1 commit