1. 15 May, 2012 2 commits
    • 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
  2. 01 Apr, 2012 1 commit
  3. 09 Feb, 2012 1 commit
  4. 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
  5. 10 Nov, 2011 2 commits
    • chak@cse.unsw.edu.au.'s avatar
      Remove the -fdph-* flags · 40b2a22c
      chak@cse.unsw.edu.au. authored
      40b2a22c
    • chak@cse.unsw.edu.au.'s avatar
      GHC is now independent of the DPH library structure · 0bfe5c05
      chak@cse.unsw.edu.au. authored
      * if -XParallelArrays is given, the symbols for the desugarer are
        taken from 'Data.Array.Parallel' (from whichever package is
        exposed and has the module — the home package is fine, too)
      * if -fvectorise is given, the symbols for the vectoriser are
        taken from 'Data.Array.Parallel.Prim' (as above)
      
      (There is one wired in symbol left, namely the data constructor
      'base:GHC.PArr.[::]. It'll die another day.)
      0bfe5c05
  6. 04 Nov, 2011 1 commit
  7. 26 Oct, 2011 1 commit
  8. 18 Jun, 2011 1 commit
  9. 10 Jun, 2011 1 commit
  10. 25 May, 2011 1 commit
    • Duncan Coutts's avatar
      Implement ${pkgroot} spec, allows relocatable registered packages · 40b6bd47
      Duncan Coutts authored
      Historically ghc implemented relocatable packages by allowing
      "$topdir" in the package registration info and having ghc expand
      this with its notion of $topdir. The topdir refers to where ghc
      itself is installed (specifically the libdir).
      
      The ${pkgroot} spec takes this idea and makes it portable.
      (http://www.haskell.org/pipermail/libraries/2009-May/011772.html)
      Instead of paths relative to where ghc is installed, they can be
      relative to the package database itself. Thus it is no longer a
      ghc-specific idea and can work for package collections other than
      the global package db.
      40b6bd47
  11. 21 Apr, 2011 1 commit
  12. 24 Jan, 2011 1 commit
    • chak@cse.unsw.edu.au.'s avatar
      DPH options updated · 9e6e96bd
      chak@cse.unsw.edu.au. authored
      - '-Odph' is now '-O2 -fsimplifier-phases=3 -fsimplifier-iterations=20'
      - The new option '-fdph-none' is the default; it indicates that no DPH
        backend is selected and is the only valid option if the DPH libraries
        are not installed.  If vectorisation is attempted with -fdph-none a
        suitable error message is generated.
      - Hence, '-fdph-par' (or '-fdph-seq') needs to be explicitly selected
        when using vectorisation and when linking vectorised code.  (There
        seems to be no elegant way to avoid that.)
      9e6e96bd
  13. 22 Dec, 2010 1 commit
  14. 21 Oct, 2010 1 commit
  15. 06 Oct, 2010 1 commit
  16. 23 Sep, 2010 1 commit
  17. 22 Sep, 2010 1 commit
    • simonpj@microsoft.com's avatar
      Fix an ASSERT failure with profiling · 9e6ca39b
      simonpj@microsoft.com authored
      The problem arose with this kind of thing
      
         x = (,) (scc "blah" Nothing)
      
      Then 'x' is marked NoCafRefs by CoreTidy, becuase it has 
      arity 1, and doesn't mention any caffy things.
      
      That in turns means that CorePrep must not float out the
      sat binding to give
      
        sat = scc "blah" Nothing
        x = (,) sat
      
      Rather we must generate
      
        x = \eta. let sat = scc "blah" Nothing 
                  in (,) sat eta
      
      URGH! This Caf stuff is such a mess.
      9e6ca39b
  18. 14 Sep, 2010 1 commit
    • Ian Lynagh's avatar
      Remove (most of) the FiniteMap wrapper · e95ee1f7
      Ian Lynagh authored
      We still have
          insertList, insertListWith, deleteList
      which aren't in Data.Map, and
          foldRightWithKey
      which works around the fold(r)WithKey addition and deprecation.
      e95ee1f7
  19. 19 May, 2010 1 commit
    • Simon Marlow's avatar
      Fix package shadowing order (#4072) · 636c2750
      Simon Marlow authored
      Later packages are supposed to shadow earlier ones in the stack,
      unless the ordering is overriden with -package-id flags.
      Unfortunately an earlier fix for something else had sorted the list of
      packages so that it was in lexicographic order by installedPackageId,
      and sadly our test (cabal/shadow) didn't pick this up because the
      lexicographic ordering happened to work for the test.  I've now fixed
      the test so it tries both orderings.
      636c2750
  20. 03 Dec, 2009 1 commit
  21. 12 Nov, 2009 1 commit
    • Simon Marlow's avatar
      Fix bug when the combined package DB has duplicate package IDs · 1c5fb336
      Simon Marlow authored
      Someone on IRC reported that they were encountering a strange missing
      module error from GHC, and it turned out that they had mtl-1.1.0.2
      installed in both the global and local DB, with the same
      InstalledPackageId.  The two packages should be interchangeable, but
      we were forgetting to eliminate duplicates in part of the
      package-processing phase in GHC.
      
      Really I should switch this code over to use the new PackageIndex data
      type in Cabal, which ought to make things simpler.
      1c5fb336
  22. 04 Nov, 2009 1 commit
  23. 06 Oct, 2009 1 commit
  24. 18 Sep, 2009 1 commit
  25. 17 Sep, 2009 1 commit
  26. 11 Sep, 2009 1 commit
  27. 10 Sep, 2009 1 commit
    • Simon Marlow's avatar
      Change the representation of the package database · 930421d4
      Simon Marlow authored
       - the package DB is a directory containing one file per package
         instance (#723)
      
       - there is a binary cache of the database (#593, #2089)
      
       - the binary package is now a boot package
      
       - there is a new package, bin-package-db, containing the Binary
         instance of InstalledPackageInfo for the binary cache.
      
      Also included in this patch
      
       - Use colour in 'ghc-pkg list' to indicate broken or hidden packages
        
         Broken packages are red, hidden packages are 
        
         Colour support comes from the terminfo package, and is only used when
          - not --simple-output
          - stdout is a TTY
          - the terminal type has colour capability
      
       - Fix the bug that 'ghc-pkg list --user' shows everything as broken
      930421d4
  28. 08 Sep, 2009 1 commit
    • Simon Marlow's avatar
      Add -package-id, improve package shadowing behaviour and error messages · 03bb97e0
      Simon Marlow authored
      A few changes bundled together here:
      
       - Add -package-id flag, like -package but takes an
         InstalledPackageId as an argument (mainly for Cabal)
         (docs to follow)
      
       - Fix the shadowing behaviour: if we end up with
         two packages with the same name/version that came from
         different package databases, then one will shadow the
         other.  This may mean we have to disable other packages
         that depended on the now-shadowed package.  Lots of
         refactoring to ensure that we can get reasonable diagnostics when
         this happens
      
      <command line>: cannot satisfy -package shadowdep: 
          shadowdep-1-XXX is unusable due to missing or recursive dependencies:
            shadow-1-XXX
          (use -v for more information)
      03bb97e0
  29. 24 Aug, 2009 2 commits
  30. 20 Aug, 2009 2 commits
  31. 09 Jul, 2009 1 commit
  32. 06 Jul, 2009 1 commit
  33. 26 Mar, 2009 1 commit
  34. 07 Oct, 2008 1 commit
  35. 03 Oct, 2008 1 commit
  36. 16 Sep, 2008 1 commit