1. 18 Dec, 2017 1 commit
  2. 25 Oct, 2017 1 commit
    • Tobias Dammers's avatar
      Factor out readField (#14364) · dbd81f7e
      Tobias Dammers authored and Ben Gamari's avatar Ben Gamari committed
      Improves compiler performance of deriving Read instances, as suggested
      in the issue.
      
      Additionally, we introduce `readSymField`, a companion to `readField`
      that parses symbol-type fields (where the field name is a symbol, e.g.
      `(#)`, rather than an alphanumeric identifier. The decision between
      these two functions is made a compile time, because we already know
      which one we need based on the field name.
      
      Reviewers: austin, hvr, bgamari, RyanGlScott
      
      Reviewed By: bgamari
      
      Subscribers: RyanGlScott, rwbarton, thomie
      
      Differential Revision: https://phabricator.haskell.org/D4108
      dbd81f7e
  3. 04 Sep, 2017 1 commit
  4. 17 Mar, 2017 1 commit
  5. 10 Nov, 2016 1 commit
    • David Feuer's avatar
      Read parentheses better · bef7e784
      David Feuer authored and Ben Gamari's avatar Ben Gamari committed
      Instead of pulling a token and looking for `'('` or `')'`,
      just look for the character itself. This prevents us from
      lexing every single item twice, once to see if it's a
      left parenthesis and once to actually parse it.
      
      Partially fixes #12665
      
      Make parens faster more aggressively
      
      * Strip spaces before parsing, so we never have to strip
      the same spaces twice.
      
      * String parsers together manually, to try to avoid unnecessary closure
      creation.
      
      Test Plan: Validate
      
      Reviewers: austin, hvr, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2630
      
      GHC Trac Issues: #12665
      bef7e784
  6. 31 Aug, 2016 1 commit
    • Ryan Scott's avatar
      Add Read1/Read2 methods defined in terms of ReadPrec · 9cfef167
      Ryan Scott authored and Ben Gamari's avatar Ben Gamari committed
      This adds new methods `liftReadList(2)` and `liftReadListPrec(2)` to the
      `Read1`/`Read2` classes which are defined in terms of `ReadPrec` instead
      of `ReadS`. This also adds related combinators and changes existing
      `Read1` and `Read2` instances to be defined in terms of the new methods.
      
      Reviewers: hvr, austin, bgamari
      
      Reviewed By: bgamari
      
      Subscribers: thomie
      
      Differential Revision: https://phabricator.haskell.org/D2379
      
      GHC Trac Issues: #12358
      9cfef167
  7. 16 Jul, 2016 1 commit
  8. 06 Jun, 2016 1 commit
  9. 08 Sep, 2015 1 commit
  10. 07 Nov, 2014 1 commit
  11. 04 Nov, 2014 1 commit
    • Herbert Valerio Riedel's avatar
      Remove redundant "Minimal complete definition"-comments · 1408c8dc
      Herbert Valerio Riedel authored
      Those manual descriptions in Haddock strings have become redundant since
      Haddock gained the ability to print the minimal complete definition as
      specified via `{-# MINIMAL #-}` annotation (or otherwise inferred by
      GHC).
      
      Moreover, this commit moves all `{-# MINIMAL #-}` annotations in `base`
      to the start of the respective `class` definitions, as this is more
      readable and matches more closely the way Haddock renders that
      information.
      1408c8dc
  12. 11 Oct, 2014 1 commit
  13. 28 Aug, 2014 1 commit
  14. 09 Oct, 2013 1 commit
  15. 28 Sep, 2013 1 commit
  16. 22 Sep, 2013 1 commit
  17. 18 Sep, 2013 1 commit
  18. 17 Sep, 2013 1 commit
  19. 06 Jun, 2013 1 commit
    • Simon Peyton Jones's avatar
      Re-jig SOURCE imports · 8d87b5bf
      Simon Peyton Jones authored
      * Do not have have an hs-boot file for Data.Typeable
      * Instead make all the loops go through
           GHC.Err (just a couple of magic functions)
           GHC.Exception (some non-exceptional functions)
      
      The main idea is
        a) don't involve classes in the hs-boot world
        b) loop through error cases where performance doesn't matter
        c) be careful not to SOURCE import things that are bottom,
           unless MkCore knows about them in eRROR_IDS, so that we
           see their strictness
      8d87b5bf
  20. 03 Jan, 2013 1 commit
  21. 21 Dec, 2012 1 commit
  22. 17 Nov, 2012 1 commit
  23. 27 Oct, 2012 2 commits
    • ian@well-typed.com's avatar
      Remove GHC.Read.readp · 9e9c6ebc
      ian@well-typed.com authored
      It was marked with "XXX Can this be removed?", so let's remove it and
      see if anything breaks.
      9e9c6ebc
    • ian@well-typed.com's avatar
      Remove commented types in module export lists · fda30027
      ian@well-typed.com authored
      These comments are rather less useful now that haddock can give docs
      with the same informatino in the module synopsis.
      
      Having to maintain them when making changes to the library is a pain,
      and when people forget about doing so there is nothing that checks that
      the comments are right, so mistakes tend to linger.
      
      Of the comments that my script detected, 78 of 684 were already
      incorrect in one way or another, e.g. missing context:
          Text.Show.showsPrec
          Comment type: Int -> a -> ShowS
          Actual type:  Show a => Int -> a -> ShowS
      wrong context:
          Numeric.readInt
          Comment type: Integral a => a -> (Char -> Bool) -> (Char -> Int) -> ReadS a
          Actual type:  Num a => a -> (Char -> Bool) -> (Char -> Int) -> ReadS a
      not following a class change (e.g. Num losing its Eq superclass):
          Text.Read.Lex.readOctP
          Comment type: Num a => ReadP a
          Actual type:  (Eq a, Num a) => ReadP a
      not following the Exceptions change:
          GHC.Conc.childHandler
          Comment type: Exception -> IO ()
          Actual type:  SomeException -> IO ()
      or just always been wrong:
          GHC.Stable.deRefStablePtr
          Comment type: StablePtr a -> a
          Actual type:  StablePtr a -> IO a
      fda30027
  24. 21 Jun, 2012 1 commit
  25. 21 May, 2012 1 commit
  26. 11 Mar, 2012 1 commit
  27. 01 Mar, 2012 2 commits
  28. 28 Feb, 2012 1 commit
  29. 18 Jun, 2011 1 commit
  30. 03 May, 2011 1 commit
  31. 28 Jan, 2011 1 commit
  32. 13 Sep, 2010 1 commit
  33. 07 Jul, 2010 1 commit
    • simonpj@microsoft.com's avatar
      Partial fix for Trac #4136 · 564d00c7
      simonpj@microsoft.com authored
      In 'choose' (which is a library function designed specifically
      to support derived instances of Read), we must match Symbol
      as well as Ident, for nullary constructors that (wierdly) are
      symbols.
      564d00c7
  34. 20 Aug, 2008 1 commit
  35. 06 Aug, 2008 1 commit
  36. 05 Aug, 2008 1 commit
  37. 16 Jun, 2008 1 commit
  38. 05 Mar, 2008 1 commit