1. 16 Jul, 2015 1 commit
  2. 14 Jul, 2015 1 commit
  3. 04 Jul, 2015 2 commits
  4. 03 Jul, 2015 1 commit
    • Zejun Wu's avatar
      Enable using qualified field of constructor in GHCi · 1d6ead7d
      Zejun Wu authored
      The -fimplicit-import-qualified made it possible to uses qualifed names
      in GHCi without explicitly import the modules. But it didn't work for
      field of constructor, this patch fixed this issue.
      
      Test Plan:
      cd testsuite/tests/rename/ && make
      cd testsuite/tests/ghci/ && make
      
      Reviewers: austin, simonpj
      
      Reviewed By: austin, simonpj
      
      Subscribers: bgamari, thomie
      
      Differential Revision: https://phabricator.haskell.org/D900
      
      GHC Trac Issues: #10439
      1d6ead7d
  5. 26 Jun, 2015 3 commits
  6. 24 Jun, 2015 1 commit
  7. 20 Jun, 2015 1 commit
  8. 18 Jun, 2015 2 commits
    • Simon Peyton Jones's avatar
      Remove some horrible munging of origins for Coercible · 02bac025
      Simon Peyton Jones authored
      I just didn't think it was buying enough for all the cruft it caused.
      We can put some back if people start complaining about poor error
      messages. I forget quite how I tripped over this but I got sucked in.
      
      * Lots of tidying up in TcErrors
      
      * Rename pprArisingAt to pprCtLoc, by analogy with pprCtOrigin
      
      * Remove CoercibleOrigin data constructor from CtOrigin
      
      * Make relevantBindings return a Ct with a zonked
        and tidied CtOrigin
      
      * Add to TcRnTypes
            ctOrigin   :: Ct -> CtOrigin
            ctEvOrigin :: CtEvidence -> CtOrigin
            setCtLoc   :: Ct -> CtLoc -> Ct
      02bac025
    • Simon Peyton Jones's avatar
      Report arity errors correctly despite kinds · 5879d5aa
      Simon Peyton Jones authored
      Trac #10516 pointed out that when reporting arity errors
      (like "T needs 2 arguments but has been given 1"), we should
      not count kind arguments, since they are implicit.  If we
      include kind args in the count, we get very confusing error
      messages indeed.
      
      I did a little bit of refactoring which make some
      error messages wobble around.  But the payload of
      this fix is in TcValidity.tyConArityErr
      5879d5aa
  9. 15 Jun, 2015 1 commit
  10. 12 Jun, 2015 1 commit
    • Simon Marlow's avatar
      Add parseExpr and compileParsedExpr and use them in GHC API and GHCi · d20031d4
      Simon Marlow authored
      Summary:
      This commit brings following changes and fixes:
      
       * Implement parseExpr and compileParsedExpr;
       * Fix compileExpr and dynCompilerExpr, which returned `()` for empty expr;
       * Fix :def and :cmd, which didn't work if `IO` or `String` is not in scope;
       * Use GHCiMonad instead IO in :def and :cmd;
       * Clean PrelInfo: delete dead comment and duplicate entries, add assertion.
      
      See new tests for more details.
      
      Test Plan: ./validate
      
      Reviewers: austin, dterei, simonmar
      
      Reviewed By: simonmar
      
      Subscribers: thomie, bgamari
      
      Differential Revision: https://phabricator.haskell.org/D974
      
      GHC Trac Issues: #10508
      d20031d4
  11. 11 Jun, 2015 2 commits
  12. 09 Jun, 2015 1 commit
  13. 04 Jun, 2015 2 commits
    • thomie's avatar
      Testsuite: don't show compile/link info for some tests · 0686d76f
      thomie authored
      This info is not needed in the testlogs, and was actually making these
      tests fail on my machine because of some bug with the timeout program:
      ...
      [1 of 1] Compiling Main ( OutOfHeap.hs, tmp_T9579_outofheap_rtssome/Main.o )
      Linking T9579_outofheap_rtsnone ...
      ...
      0686d76f
    • thomie's avatar
      Testsuite: add/fix cleanup for certain tests · e340f6ec
      thomie authored
      * extra_clean argument should be a list
        Add an assert to prevent regressions.
      
      * properly clean package conf direcories
        They are directories now, which was causing problems.
      
      * properly clean write_interface_* tests
        We were getting these errors:
      
        [Errno 21] Is a directory: './driver/write_interface_oneshot'
        [Errno 39] Directory not empty: './driver/write_interface_oneshot'
        [Errno 21] Is a directory: './driver/write_interface_make'
        [Errno 39] Directory not empty: './driver/write_interface_make'
      
      * outputdir() is better than -outputdir, as it knows how to (pre)clean
        itself.
      e340f6ec
  14. 02 Jun, 2015 1 commit
  15. 01 Jun, 2015 2 commits
    • Simon Peyton Jones's avatar
      Refactor the GlobalRdrEnv, fixing #7672 · 9b73cb16
      Simon Peyton Jones authored
      This patch started innocently enough, by deleting a single
      call from rnImportDecl, namely
      
          let gbl_env = mkGlobalRdrEnv (filterOut from_this_mod gres)
      
      The 'filterOut' makes no sense, and was the cause of #7672.
      
      But that little loose end led to into a twisty maze of little
      passages, all alike, which has taken me an unreasonably long
      time to straighten out. Happily, I think the result is really
      much better.
      
      In particular:
      
       * INVARIANT 1 of the GlobalRdrEnv type was simply not true:
         we had multiple GlobalRdrElts in a list with the same
         gre_name field. This kludgily implmented one form of
         shadowing.
      
       * Meanwhile, extendGlobalRdrEnvRn implemented a second form of
         shadowing, by deleting stuff from the GlobalRdrEnv.
      
       * In turn, much of this shadowing stuff depended on the Names of
         the Ids bound in the GHCi InteractiveContext being Internal
         names, even though the TyCons and suchlike all had External
         Names. Very confusing.
      
      So I have made the following changes
      
       * I re-established INVARIANT 1 of GlobalRdrEnv.  As a result
         some strange code in RdrName.pickGREs goes away.
      
       * RnNames.extendGlobalRdrEnvRn now makes one call to deal with
         shadowing, where necessary, and another to extend the
         environment.  It deals separately with duplicate bindings.
      
         The very complicated RdrName.extendGlobalRdrEnv becomes much
         simpler; we need to export the shadowing function, now called
         RdrName.shadowNames; and we can nuke
         RdrName.findLocalDupsRdrEnv altogether.
      
         RdrName Note [GlobalRdrEnv shadowing] summarises the shadowing
         story
      
       * The Names of the Ids bound in the GHCi interactive context are
         now all External.  See Note [Interactively-bound Ids in GHCi]
         in HscTypes.
      
       * Names for Ids created by the debugger are now made by
         IfaceEnv.newInteractiveBinder.  This fixes a lurking bug which
         was that the debugger was using mkNewUniqueSupply 'I' to make
         uniques, which does NOT guarantee a fresh supply of uniques on
         successive calls.
      
       * Note [Template Haskell ambiguity] in RnEnv shows that one TH-related
         error is reported lazily (on occurrences) when it might be better
         reported when extending the environment.  In some (but not all) cases
         this was done before; but now it's uniformly at occurrences.  In
         some ways it'd be better to report when extending the environment,
         but it's a tiresome test and the error is rare, so I'm leaving it
         at the lookup site for now, with the above Note.
      
       * A small thing: RnNames.greAvail becomes RdrName.availFromGRE, where
         it joins the dual RdrName.gresFromAvail.
      9b73cb16
    • rwbarton's avatar
      In ghci linker, link against all previous temp sos (#10322) · a52f1444
      rwbarton authored
      The OS X dlopen() appears to only resolve undefined symbols in
      the direct dependencies of the shared library it is loading.
      
      Reviewed By: trommler, austin
      
      Differential Revision: https://phabricator.haskell.org/D852
      
      GHC Trac Issues: #10322
      a52f1444
  16. 19 May, 2015 3 commits
  17. 18 May, 2015 1 commit
  18. 14 May, 2015 1 commit
    • Austin Seipp's avatar
      Revert multiple commits · 3cf8ecdc
      Austin Seipp authored
      This reverts multiple commits from Simon:
      
        - 04a484ea Test Trac #10359
        - a9ccd37a Test Trac #10403
        - c0aae6f6 Test Trac #10248
        - eb6ca851 Make the "matchable-given" check happen first
        - ca173aa3 Add a case to checkValidTyCon
        - 51cbad15 Update haddock submodule
        - 6e1174da Separate transCloVarSet from fixVarSet
        - a8493e03 Fix imports in HscMain (stage2)
        - a154944b Two wibbles to fix the build
        - 5910a1bc Change in capitalisation of error msg
        - 130e93aa Refactor tuple constraints
        - 8da785d5 Delete commented-out line
      
      These break the build by causing Haddock to fail mysteriously when
      trying to examine GHC.Prim it seems.
      3cf8ecdc
  19. 13 May, 2015 1 commit
  20. 12 May, 2015 2 commits
  21. 06 May, 2015 1 commit
    • Christiaan Baaij's avatar
      Normalise type families in the type of an expression · f7daf5af
      Christiaan Baaij authored
      Before, the type of an expression, and the type of a variable
      binding that expression used to be different in GHCi. The
      reason being that types of bound variables were already normalised.
      Now, both are normalised.
      
      This implements the suggestions as given in Trac #10321
      Also adds an expected output for test T10321
      
      Reviewed By: goldfire, simonpj
      
      Differential Revision: https://phabricator.haskell.org/D870
      
      GHC Trac Issues: #10321
      f7daf5af
  22. 01 May, 2015 1 commit
    • Simon Peyton Jones's avatar
      Move IP, Symbol, Nat to ghc-prim · 2f6a0ac7
      Simon Peyton Jones authored
      This motivation is to declare class IP much earlier (in ghc-prim),
      so that implicit parameters (which depend on IP) is available
      to library code, notably the 'error' function.
      
      * Move class IP from base:GHC.IP
                      to ghc-prim:GHC.Classes
      * Delete module GHC.IP from base
      
      * Move types Symbol and Nat
            from base:GHC.TypeLits
            to ghc-prim:GHC.Types
      
      There was a name clash in GHC.RTS.Flags, where I renamed
      the local type Nat to RtsNat.
      2f6a0ac7
  23. 25 Apr, 2015 1 commit
  24. 24 Apr, 2015 2 commits
  25. 18 Apr, 2015 1 commit
  26. 14 Apr, 2015 1 commit
  27. 07 Apr, 2015 1 commit
  28. 02 Apr, 2015 1 commit
  29. 25 Mar, 2015 1 commit