1. 21 Nov, 2014 1 commit
  2. 04 Nov, 2014 2 commits
  3. 07 Oct, 2014 1 commit
  4. 09 Sep, 2014 1 commit
    • Austin Seipp's avatar
      Make Applicative a superclass of Monad · d94de872
      Austin Seipp authored
      
      
      Summary:
      This includes pretty much all the changes needed to make `Applicative`
      a superclass of `Monad` finally. There's mostly reshuffling in the
      interests of avoid orphans and boot files, but luckily we can resolve
      all of them, pretty much. The only catch was that
      Alternative/MonadPlus also had to go into Prelude to avoid this.
      
      As a result, we must update the hsc2hs and haddock submodules.
      Signed-off-by: default avatarAustin Seipp <austin@well-typed.com>
      
      Test Plan: Build things, they might not explode horribly.
      
      Reviewers: hvr, simonmar
      
      Subscribers: simonmar
      
      Differential Revision: https://phabricator.haskell.org/D13
      d94de872
  5. 12 Aug, 2014 4 commits
  6. 15 Jul, 2014 1 commit
    • Simon Peyton Jones's avatar
      Entirely re-jig the handling of default type-family instances (fixes Trac #9063) · 9b8ba629
      Simon Peyton Jones authored
      In looking at Trac #9063 I decided to re-design the default
      instances for associated type synonyms.  Previously it was all
      jolly complicated, to support generality that no one wanted, and
      was arguably undesirable.
      
      Specifically
      
      * The default instance for an associated type can have only
        type variables on the LHS.  (Not type patterns.)
      
      * There can be at most one default instances declaration for
        each associated type.
      
      To achieve this I had to do a surprisingly large amount of refactoring
      of HsSyn, specifically to parameterise HsDecls.TyFamEqn over the type
      of the LHS patterns.
      
      That change in HsDecls has a (trivial) knock-on effect in Haddock, so
      this commit does a submodule update too.
      
      The net result is good though.  The code is simpler; the language
      specification is simpler.  Happy days.
      
      Trac #9263 and #9264 are thereby fixed as well.
      9b8ba629
  7. 01 Jul, 2014 1 commit
  8. 20 Jun, 2014 1 commit
    • Simon Peyton Jones's avatar
      Tidy up the printing of single-predicate contexts · 0ceb84e9
      Simon Peyton Jones authored
      This covers things like
         Eq a => blah   and   (?x::Int) => blah
      where there is just one predicate. Previously we used an ad-hoc
      test to decide whether to parenthesise it, but acutally there is
      a much simpler solution: just use the existing precedence mechamism.
      
      This applies both to Type and HsType.
      0ceb84e9
  9. 11 Jun, 2014 1 commit
    • Simon Peyton Jones's avatar
      Fix tyConToIfaceDecl (Trac #9190) · e5257f8f
      Simon Peyton Jones authored
      There are three bugs here, one serious
      
       * We were failing to tidy the type arguments in an IfTyConParent
         This is what was causing Trac #9190.
      
       * toIfaceTcArgs is careful to suppress kind arguments, but there
         was a clone, tidyToIfaceTcArgs in IfaceSyn which didn't.
         Now the latter goes via the former.
      
       * When pretty-printing a IfaceDecl for an algebraic data type, and
         doing so in Haskell-98 syntax, we were silently assuming that the
         universal type variables of the TyCon and the DataCon were the
         same. But that has not been true for some time. Result: a very
         confusing display.
      
         Solution: during the conversion to IfaceSyn, take the opportunity
         to make the universal type variables line up exactly.  This is very
         easy to do, makes the pretty-printing easy, and leaves open the future
         possiblity of not serialising the universal type variables of the
         data constructor.
      e5257f8f
  10. 27 May, 2014 1 commit
  11. 23 May, 2014 1 commit
  12. 28 Apr, 2014 1 commit
    • Simon Peyton Jones's avatar
      Print for-alls more often (Trac #9018) · 2f3ea952
      Simon Peyton Jones authored
      We now display the foralls of a type if any of the type variables
      is polykinded.  This put kind polymorphism "in your face" a bit more
      often, but eliminates a lot of head scratching.
      
      The user manual reflects the new behaviour.
      2f3ea952
  13. 14 Apr, 2014 1 commit
  14. 08 Apr, 2014 1 commit
  15. 25 Feb, 2014 1 commit
  16. 18 Feb, 2014 1 commit
  17. 09 Feb, 2014 1 commit
  18. 17 Jan, 2014 1 commit
  19. 13 Jan, 2014 1 commit
  20. 06 Jan, 2014 1 commit
  21. 03 Jan, 2014 1 commit
  22. 10 Dec, 2013 1 commit
  23. 19 Nov, 2013 1 commit
  24. 23 Oct, 2013 1 commit
  25. 18 Oct, 2013 1 commit
  26. 03 Oct, 2013 1 commit
  27. 02 Oct, 2013 1 commit
  28. 01 Oct, 2013 2 commits
  29. 27 Sep, 2013 1 commit
  30. 18 Sep, 2013 3 commits
  31. 14 Sep, 2013 1 commit
  32. 10 Sep, 2013 1 commit
    • Simon Peyton Jones's avatar
      Error message wibbles · 9ca4a73d
      Simon Peyton Jones authored
      Almost all are re-orderings of relevant-binding output
      
             Relevant bindings include
        +      m :: Map (a, b) elt (bound at T3169.hs:12:17)
        +      b :: b (bound at T3169.hs:12:13)
               lookup :: (a, b) -> Map (a, b) elt -> Maybe elt
                 (bound at T3169.hs:12:3)
        -      b :: b (bound at T3169.hs:12:13)
        -      m :: Map (a, b) elt (bound at T3169.hs:12:17)
      9ca4a73d
  33. 04 Sep, 2013 1 commit