1. 19 Feb, 2015 3 commits
    • kgardas's avatar
      fix T7600 run on bigendian platform · 3f30912f
      kgardas authored
    • Simon Peyton Jones's avatar
      Comments only · ef391f88
      Simon Peyton Jones authored
    • thomasw's avatar
      Fix #10045 · e9d72cef
      thomasw authored
      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
  2. 18 Feb, 2015 5 commits
    • Gabor Greif's avatar
      Typo in function name · 35d464bf
      Gabor Greif authored
    • thomie's avatar
      Cleanup ghc-pkg · 32d1a8a5
      thomie authored
      * 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
    • 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
    • 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
    • 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.
  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.
    • 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.
  6. 12 Feb, 2015 2 commits
  7. 11 Feb, 2015 5 commits
  8. 10 Feb, 2015 12 commits
    • Simon Peyton Jones's avatar
    • Simon Peyton Jones's avatar
      Add a couple of tcTraces around reify · 1e58ed87
      Simon Peyton Jones authored
    • Simon Peyton Jones's avatar
      More comments and white space · 12698ff4
      Simon Peyton Jones authored
    • Simon Peyton Jones's avatar
      Comments only · 1e651b90
      Simon Peyton Jones authored
    • 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
    • Rufflewind's avatar
      Don't overwrite input file by default · 78833ca6
      Rufflewind authored
      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
    • Ben Gamari's avatar
      llvmGen: move to LLVM 3.6 exclusively · 5d5abdca
      Ben Gamari authored
      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
    • 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
    • Duncan Coutts's avatar
      Add a workaround to allow older cabal-install to use ghc-7.10 · a1db53cc
      Duncan Coutts authored
      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
    • Roman Cheplyaka's avatar
      Clarify the documentation for 'evaluate' · de9a836c
      Roman Cheplyaka authored
      Reviewers: hvr, Mikolaj, austin
      Reviewed By: Mikolaj, austin
      Subscribers: ezyang, nomeata, thomie
      Differential Revision: https://phabricator.haskell.org/D615
    • 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
    • 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
  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
      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