1. 19 Feb, 2015 3 commits
    • kgardas's avatar
      fix T7600 run on bigendian platform · 3f30912f
      kgardas authored
      3f30912f
    • Simon Peyton Jones's avatar
      Comments only · ef391f88
      Simon Peyton Jones authored
      ef391f88
    • thomasw's avatar
      Fix #10045 · e9d72cef
      thomasw authored
      Summary:
      SPJ's solution is to only bring the `TcId` (which includes the type) of a
      binder into scope when it had a non-partial type signature.
      
      Take care of this by only storing the `TcId` in `TcSigInfo` of non-partial
      type signatures, hence the change to `sig_poly_id :: Maybe TcId`. Only in case
      of a `Just` will we bring the `TcId` in scope. We still need to know the name
      of the binder, even when it has a partial type signature, so add a `sig_name
      :: Name` field. The field `sig_partial :: Bool` is no longer necessary, so
      reimplement `isPartialSig` in terms of `sig_poly_id`.
      
      Note that the new test case fails, but not because of a panic, but because the
      `Num a` constraint is missing. Adding an extra-constraints wildcard to
      `copy`'s signature would fix it.
      
      Test Plan: validate
      
      Reviewers: simonpj, austin
      
      Reviewed By: simonpj
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D646
      
      GHC Trac Issues: #10045
      e9d72cef
  2. 18 Feb, 2015 5 commits
    • Gabor Greif's avatar
      Typo in function name · 35d464bf
      Gabor Greif authored
      35d464bf
    • thomie's avatar
      Cleanup ghc-pkg · 32d1a8a5
      thomie authored
      Summary:
      * Delete dead code in ghc-pkg (not_yet ready since 2004)
      * remove --auto-ghc-libs
      Commit 78185538 (2011) mentions:
      "Deprecate the ghc-pkg --auto-ghci-libs flag
      It was never a universal solution. It only worked with the GNU linker.
      It has not been used by Cabal for ages. GHCi can now load .a files so it will
      not be needed in future."
      "Warning: --auto-ghci-libs is deprecated and will be removed in GHC 7.4"
      
      Reviewers: austin
      
      Reviewed By: austin
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D666
      32d1a8a5
    • thomie's avatar
      runghc: be explicit about ghc version (#9054) · 6d17125d
      thomie authored
      Summary: runghc-7.x should always call ghc-7.x
      
      Reviewers: austin
      
      Reviewed By: austin
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D664
      
      GHC Trac Issues: #9054
      6d17125d
    • PHO's avatar
      Do not clobber CPPFLAGS nor LDFLAGS, fixes #10093 · 9caf71a8
      PHO authored
      Summary: Append -I/-L flags to CPPFLAGS/LDFLAGS instead of clobbering.
      
      Test Plan: Install libiconv into /some/non-standard/path. Set CONF_GCC_LINKER_OPTS_STAGE{0,1,2} to -Wl,-rpath,/some/non-standard/path/lib. And then run ./configure with arguments --with-iconv-includes=/some/non-standard/path/include and --with-iconv-libraries=/some/non-standard/path/lib
      
      Reviewers: hvr, austin
      
      Reviewed By: austin
      
      Subscribers: thomie, PHO
      
      Differential Revision: https://phabricator.haskell.org/D663
      
      GHC Trac Issues: #10093
      9caf71a8
    • Austin Seipp's avatar
      Revert "Eta-expand argument to foldr in mapM_ for []" · 91d95305
      Austin Seipp authored
      This change lacked justification (or a test!) for its improvements, and
      I merged it on a sweep of Phabricator without fixing this. Trac #10034.
      
      This reverts commit 7cf87fc6.
      91d95305
  3. 17 Feb, 2015 7 commits
  4. 15 Feb, 2015 3 commits
  5. 13 Feb, 2015 2 commits
    • Simon Peyton Jones's avatar
      Improve documentation of 'trace' · 7fdded4e
      Simon Peyton Jones authored
      See Trac #9795.
      7fdded4e
    • Simon Peyton Jones's avatar
      Refactor decideQuantification · b96db75c
      Simon Peyton Jones authored
      Richard was interrogating me about decideQuantification yesterday.
      I got a bit stuck on the promote_tvs part. This refactoring
      
       * simplifes the API of decideQuantification
      
       * move mkMinimalBySCs into decideQuantification (a better place for it)
      
       * moves promotion out of decideQuantification (where it didn't really
         fit), and comments much more fully what is going on with the promtion stuff
      
       * comments decideQuantification more fully
      
       * coments the EqPred case of quantifyPred more fully
      
      It turned out that the theta returned by decideQuantification,
      and hence by simplifyInfer, is now fully zonked, so I could remove
      a zonking in TcBinds.
      b96db75c
  6. 12 Feb, 2015 2 commits
  7. 11 Feb, 2015 5 commits
  8. 10 Feb, 2015 12 commits
    • Simon Peyton Jones's avatar
      1d982ba1
    • Simon Peyton Jones's avatar
      Add a couple of tcTraces around reify · 1e58ed87
      Simon Peyton Jones authored
      1e58ed87
    • Simon Peyton Jones's avatar
      More comments and white space · 12698ff4
      Simon Peyton Jones authored
      12698ff4
    • Simon Peyton Jones's avatar
      Comments only · 1e651b90
      Simon Peyton Jones authored
      1e651b90
    • Simon Peyton Jones's avatar
      Refactor the handling of quasi-quotes · f46360ed
      Simon Peyton Jones authored
      As Trac #10047 points out, a quasi-quotation [n|...blah...|] is supposed
      to behave exactly like $(n "...blah...").  But it doesn't!  This was outright
      wrong: quasiquotes were being run even inside brackets.
      
      Now that TH supports both typed and untyped splices, a quasi-quote is properly
      regarded as a particular syntax for an untyped splice. But apart from that
      they should be treated the same.  So this patch refactors the handling of
      quasiquotes to do just that.
      
      The changes touch quite a lot of files, but mostly in a routine way.
      The biggest changes by far are in RnSplice, and more minor changes in
      TcSplice.  These are the places where there was real work to be done.
      Everything else is routine knock-on changes.
      
      * No more QuasiQuote forms in declarations, expressions, types, etc.
        So we get rid of these data constructors
          * HsBinds.QuasiQuoteD
          * HsExpr.HsSpliceE
          * HsPat.QuasiQuotePat
          * HsType.HsQuasiQuoteTy
      
      * We get rid of the HsQuasiQuote type altogether
      
      * Instead, we augment the HsExpr.HsSplice type to have three
        consructors, for the three types of splice:
          * HsTypedSplice
          * HsUntypedSplice
          * HsQuasiQuote
        There are some related changes in the data types in HsExpr near HsSplice.
        Specifically: PendingRnSplice, PendingTcSplice, UntypedSpliceFlavour.
      
      * In Hooks, we combine rnQuasiQuoteHook and rnRnSpliceHook into one.
        A smaller, clearer interface.
      
      * We have to update the Haddock submodule, to accommodate the hsSyn changes
      f46360ed
    • Rufflewind's avatar
      Don't overwrite input file by default · 78833ca6
      Rufflewind authored
      Summary:
      If the default filename of the output executable coincides with that of main
      source file, throw an error instead of silently clobbering the input file.
      
      Reviewers: austin
      
      Reviewed By: austin
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D642
      
      GHC Trac Issues: #9930
      78833ca6
    • Ben Gamari's avatar
      llvmGen: move to LLVM 3.6 exclusively · 5d5abdca
      Ben Gamari authored
      Summary:
      Rework llvmGen to use LLVM 3.6 exclusively. The plans for the 7.12 release are to ship LLVM alongside GHC in the interests of user (and developer) sanity.
      
      Along the way, refactor TNTC support to take advantage of the new `prefix` data support in LLVM 3.6. This allows us to drop the section-reordering component of the LLVM mangler.
      
      Test Plan: Validate, look at emitted code
      
      Reviewers: dterei, austin, scpmw
      
      Reviewed By: austin
      
      Subscribers: erikd, awson, spacekitteh, thomie, carter
      
      Differential Revision: https://phabricator.haskell.org/D530
      
      GHC Trac Issues: #10074
      5d5abdca
    • Edward Z. Yang's avatar
      Add Uniquable instances for InstalledPackageId/SourcePackageId/PackageName · d5a80dbe
      Edward Z. Yang authored
      Summary: Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
      
      Test Plan: validate
      
      Reviewers: austin
      
      Reviewed By: austin
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D633
      d5a80dbe
    • Duncan Coutts's avatar
      Add a workaround to allow older cabal-install to use ghc-7.10 · a1db53cc
      Duncan Coutts authored
      Summary:
      This should smooth the upgrade process for people and help with testing
      the 7.10 RCs. Otherwise people need to first install cabal-install-1.22
      before they can use 7.10.
      
      The problem is that older cabal still used file-style package dbs for
      the inplace package db when building packages. The workaround is that
      both ghc and ghc-pkg will notice when cabal tells them to use a file
      style db e.g. "dist/package.conf.inplace" and, so long as that db is
      empty (ie content is []) then they'll instead us a dir style db with
      the same name but ".d" appended, so in this example that would be
      "dist/package.conf.inplace.d". We have to use a separate dir rather
      than transparently upgrading because old Cabal really assumes the path
      is a file, and if it encounters a dir it will fail.
      
      This seems to be enough for older Cabal to work, and may well be enough
      for other scripts that create dbs using "echo [] > package.conf".
      
      Test Plan:
      validate and check new and old cabal can sucessfully install things,
      including packages that have internal deps (ie using the inplace db)
      
      Reviewers: hvr, tibbe, austin
      
      Reviewed By: tibbe, austin
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D628
      a1db53cc
    • Roman Cheplyaka's avatar
      Clarify the documentation for 'evaluate' · de9a836c
      Roman Cheplyaka authored
      Summary:
      See:
      
        https://www.haskell.org/pipermail/ghc-devs/2015-January/007900.html
        https://ghc.haskell.org/trac/ghc/ticket/5129#comment:17
      
      Reviewers: hvr, Mikolaj, austin
      
      Reviewed By: Mikolaj, austin
      
      Subscribers: ezyang, nomeata, thomie
      
      Differential Revision: https://phabricator.haskell.org/D615
      de9a836c
    • thomie's avatar
      Remove deprecated libraries/base/include/Typeable.h · e22282e5
      thomie authored
      Test Plan: I grepped for other references, there were none.
      
      Reviewers: ekmett, hvr, austin
      
      Reviewed By: austin
      
      Subscribers: ekmett, thomie, carter
      
      Differential Revision: https://phabricator.haskell.org/D483
      e22282e5
    • rodlogic's avatar
      Replace .lhs with .hs in compiler comments · 83efb985
      rodlogic authored
      Summary: It looks like during .lhs -> .hs switch the comments were not updated. So doing exactly that.
      
      Reviewers: austin, jstolarek, hvr, goldfire
      
      Reviewed By: austin, jstolarek
      
      Subscribers: thomie, goldfire
      
      Differential Revision: https://phabricator.haskell.org/D621
      
      GHC Trac Issues: #9986
      83efb985
  9. 09 Feb, 2015 1 commit
    • Herbert Valerio Riedel's avatar
      Provide default implementation of `Monad(return)` · a741e69a
      Herbert Valerio Riedel authored
      This was dropped last-minute from d94de872
      (re #4834) together with the default implementation for `(>>)`
      (see 65f887e1 for explanation).
      
      However, the risk of accidental mutually recursive definitions of
      `return`/`pure` is rather low as unlike with the `(>>) = (*>)` default,
      any cyclic definitions would necessarily wind up being new ones, rather
      than changing the semantics for old operations and introducing bottoms.
      
      On the other hand, not having the default method implementation in place
      in GHC 7.10 would complicate/delay any future attempt to clean-up the
      `Monad`-class.
      
      This finally allows (for `base >= 4.8`) to define a F/A/M instance-chain
      with the following minimal definitions (while ignoring that `return` is
      still a class-method in `Monad`)
      
        instance Functor M where
          fmap  = ...
      
        instance Applicative M where
          pure  = ...
          (<*>) = ...
      
        instance Monad M where
          (>>=) = ...
      
      Reviewed By: ekmett, austin
      
      Differential Revision: https://phabricator.haskell.org/D647
      a741e69a