Skip to content
Snippets Groups Projects
  1. Oct 22, 2015
  2. Sep 29, 2015
  3. Sep 23, 2015
  4. Jul 21, 2015
  5. Jul 17, 2015
  6. Jul 15, 2015
    • Eric Seidel's avatar
      Expose source locations via Implicit Parameters of type GHC.Location.Location · e3dc2804
      Eric Seidel authored
      IPs with this type will always be solved for the current source
      location. If another IP of the same type is in scope, the two locations will be
      appended, creating a call-stack. The Location type is kept abstract so users
      cannot create them, but a Location can be turned into a list of SrcLocs, which
      correspond to individual locations in a program. Each SrcLoc contains a
      package/module/file name and start/end lines and columns.
      
      The only thing missing from the SrcLoc in my opinion is the name of the
      top-level definition it inhabits. I suspect that would also be useful, but it's
      not clear to me how to extract the current top-level binder from within the
      constraint solver. (Surely I'm just missing something here?)
      
      I made the (perhaps controversial) decision to have GHC completely ignore
      the names of Location IPs, meaning that in the following code:
      
          bar :: (?myloc :: Location) => String
          bar = foo
      
          foo :: (?loc :: Location) => String
          foo = show ?loc
      
      if I call `bar`, the resulting call-stack will include locations for
      
      1. the use of `?loc` inside `foo`,
      2. `foo`s call-site inside `bar`, and
      3. `bar`s call-site, wherever that may be.
      
      This makes Location IPs very special indeed, and I'm happy to change it if the
      dissonance is too great.
      
      I've also left out any changes to base to make use of Location IPs, since there
      were some concerns about a snowball effect. I think it would be reasonable to
      mark this as an experimental feature for now (it is!), and defer using it in
      base until we have more experience with it. It is, after all, quite easy to
      define your own version of `error`, `undefined`, etc. that use Location IPs.
      
      Test Plan: validate, new test-case is testsuite/tests/typecheck/should_run/IPLocation.hs
      
      Reviewers: austin, hvr, simonpj
      
      Reviewed By: simonpj
      
      Subscribers: simonmar, rodlogic, carter, thomie
      
      Differential Revision: https://phabricator.haskell.org/D578
      
      
      
      GHC Trac Issues: #9049
      
      Cherry-Picked-From: c024af13
      Cherry-Picked-By: default avatarNiklas Hambüchen <niklas@fpcomplete.com>
      
      Changes for the cherry-pick:
      
      * Commit d2b6e767 "Make the location in TcLclEnv and CtLoc into a RealSrcSpan"
        was cherry-picked before to ensure that
          EvCsPushCall, EvCsTop :: EvCallStack
        can indeed carry `RealSrcSpan`s instead of `SrcSpan`s.
      * The use of `setWantedEvBind` was replaced by `setEvBind`, as
        `setWantedEvBind` is not yet present in 7.10.1; it was added to
        the 7.12 series in commit 32973bf3.
      * docs/users_guide/7.10.1-notes.xml was adjusted to contain the
        documentation about CallStack, copied from the 7.12 notes.
      e3dc2804
  7. Jun 28, 2015
  8. Jun 15, 2015
  9. Jun 12, 2015
  10. Jun 09, 2015
  11. Jun 02, 2015
  12. May 26, 2015
  13. May 19, 2015
    • AlexET's avatar
      user guide: correct documentation for -Wall (fixes #10386) · 6d5387f6
      AlexET authored
      This fixes the documentation for -Wall.
      As was done previously it leaves out deprecated flags and also
      fwarn-safe and fwarn-unsafe. I don't know
      if that was intended or not. -fwarn-safe and fwarn-unsafe are
      not mentioned on the warnings page at all instead they are
      mentioned in the safe haskell section.
      
      Reviewed By: austin
      
      Differential Revision: https://phabricator.haskell.org/D889
      
      GHC Trac Issues: #10386
      
      (cherry picked from commit 5cbac886)
      6d5387f6
  14. May 11, 2015
  15. Apr 14, 2015
    • Thomas Miedema's avatar
      Fix detection of llvm-x.x · 335c0256
      Thomas Miedema authored
      Summary:
      Four bug fixes and a little refactoring.
      * `find -perm \mode` should be `find -perm /mode` (#9697)
      
      * `find -regex '$3' should be `find -regex "$3"` (#7661)
      
      From `man sh` on my system (Ubuntu 14.04):
      "Enclosing characters in single quotes preserves the literal meaning of all
      the characters ..."
      
      * LlcCmd and OptCmd should be passed to ghc, using `-pgmlo` and `-pgmlc`, for
        detection of #9439.
      
      * -pgmlo and -pgmlc were undocumented because of an xml tag misplacement.
      
      Test Plan:
      The aclocal.m4 macro has seen about 10 iterations since its inception. Without a
      testsuite, I can't guarantee this version is bug free either. It's all pretty
      frustrating.
      
      Reviewers: bgamari, austin
      
      Reviewed By: austin
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D683
      
      GHC Trac Issues: #9697, #7661, #9439
      
      (cherry picked from commit 1dfab7a8)
      335c0256
  16. Apr 07, 2015
  17. Apr 03, 2015
  18. Mar 25, 2015
  19. Mar 24, 2015
    • Doug Burke's avatar
      Rearrange order of the release note highlights · d4ae21ae
      Doug Burke authored and thoughtpolice's avatar thoughtpolice committed
      Summary:
      I noticed that the highlights do not highlight the breaking changes first,
      so I re-ordered them to what - to me, as a general and not power-user of
      ghc - seems a more sensible order.
      
      Should I have opened a ticket for this?
      
      Test Plan: This is a doc change.
      
      Reviewers: ezyang, austin
      
      Reviewed By: ezyang, austin
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D736
      
      GHC Trac Issues: #10038
      d4ae21ae
  20. Mar 17, 2015
  21. Mar 13, 2015
    • Iavor S. Diatchki's avatar
      Custom `Typeable` solver, that keeps track of kinds. · 6f46fe15
      Iavor S. Diatchki authored
      Summary:
      This implements the new `Typeable` solver: when GHC sees `Typeable` constraints
      it solves them on the spot.
      
      The current implementation creates `TyCon` representations on the spot.
      
      Pro: No overhead at all in code that does not use `Typeable`
      Cons: Code that uses `Typeable` may create multipe `TyCon` represntations.
      
      We have discussed an implementation where representations of `TyCons` are
      computed once, in the module, where a datatype is declared.  This would
      lead to more code being generated:  for a promotable datatype we need to
      generate `2 + number_of_data_cons` type-constructro representations,
      and we have to do that for all programs, even ones that do not intend to
      use typeable.
      
      I added code to emit warning whenevar `deriving Typeable` is encountered---
      the idea being that this is not needed anymore, and shold be fixed.
      
      Also, we allow `instance Typeable T` in .hs-boot files, but they result
      in a warning, and are ignored.  This last one was to avoid breaking exisitng
      code, and should become an error, eventually.
      
      Test Plan:
      1. GHC can compile itself.
      2. I compiled a number of large libraries, including `lens`.
          - I had to make some small changes:
            `unordered-containers` uses internals of `TypeReps`, so I had to do a 1 line fix
          - `lens` needed one instance changed, due to a poly-kinded `Typeble` instance
      
      3. I also run some code that uses `syb` to traverse a largish datastrucutre.
      I didn't notice any signifiant performance difference between the 7.8.3 version,
      and this implementation.
      
      Reviewers: simonpj, simonmar, austin, hvr
      
      Reviewed By: austin, hvr
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D652
      
      GHC Trac Issues: #9858
      
      (cherry picked from commit b359c886)
      6f46fe15
  22. Feb 23, 2015
  23. Feb 02, 2015
Loading