Skip to content
Snippets Groups Projects
  1. Jan 26, 2019
  2. Jan 25, 2019
  3. Jan 23, 2019
  4. Jan 22, 2019
    • Herbert Valerio Riedel's avatar
      Update transformers module · c9fe14cc
      Herbert Valerio Riedel authored and Ben Gamari's avatar Ben Gamari committed
      c9fe14cc
    • Simon Peyton Jones's avatar
      Fix bogus worker for newtypes · a5373c1f
      Simon Peyton Jones authored and Marge Bot's avatar Marge Bot committed
      The "worker" for a newtype is actually a function
      with a small (compulsory) unfolding, namely a cast.
      
      But the construction of this function was plain wrong
      for newtype /instances/; it cast the arguemnt to the
      family type rather than the representation type.
      
      This never actually bit us because, in the case of a
      family instance, we immediately cast the result to
      the family type.  So we get
         \x. (x |> co1) |> co2
      
      where the compositio of co1 and co2 is ill-kinded.
      However the optimiser (even the simple optimiser)
      just collapsed those casts, ignoring the mis-match
      in the middle, so we never saw the problem.
      
      Trac #16191 is indeed a dup of #16141; but the resaon
      these tickets produce Lint errors is not the unnecessary
      forcing; it's because of the ill-typed casts.
      
      This patch fixes the ill-typed casts, properly.  I can't
      see a way to trigger an actual failure prior to this
      patch, but it's still wrong wrong wrong to have ill-typed
      casts, so better to get rid of them.
      a5373c1f
  5. Jan 21, 2019
  6. Jan 20, 2019
  7. Jan 18, 2019
  8. Jan 17, 2019
    • Simon Peyton Jones's avatar
      Small refactor · 56c26f5e
      Simon Peyton Jones authored
      ...to use the same error message rather than duplicating it
      56c26f5e
    • Simon Peyton Jones's avatar
      7b7b338b
    • Simon Peyton Jones's avatar
      96e31b50
    • Alec Theriault's avatar
      'DynFlag'-free version of 'mkParserFlags' · 469fe613
      Alec Theriault authored and Ben Gamari's avatar Ben Gamari committed
      Summary:
      This is a fixed version of the reverted d2fbc33c
      and  5aa29231.
      
      Obtaining a `DynFlags` is difficult, making using the lexer/parser
      for pure parsing/lexing unreasonably difficult, even with `mkPStatePure`.
      This is despite the fact that we only really need
      
          * language extension flags
          * warning flags
          * a handful of boolean options
      
      The new `mkParserFlags'` function makes is easier to directly construct a
      `ParserFlags`. Furthermore, since `pExtsBitmap` is just a footgun, I've gone
      ahead and made `ParserFlags` an abstract type.
      
      Also, we now export `ExtBits` and `getBit` instead of defining/exporting a
      bunch of boilerplate functions that test for a particular 'ExtBits'.
      In the process, I also
      
        * cleaned up an unneeded special case for `ITstatic`
        * made `UsePosPrags` another variant of `ExtBits`
        * made the logic in `reservedSymsFM` match that of `reservedWordsFM`
      
      Test Plan: make test
      
      Reviewers: bgamari, alanz, tdammers
      
      Subscribers: sjakobi, tdammers, rwbarton, mpickering, carter
      
      GHC Trac Issues: #11301
      
      Differential Revision: https://phabricator.haskell.org/D5405
      469fe613
    • Peter Trommler's avatar
      PPC NCG: Rename constructors · d512b330
      Peter Trommler authored and Ben Gamari's avatar Ben Gamari committed
      Rename constructors in calling convention data type to reflect the
      fact that they represent an ELF ABI not only a Linux ABI.
      d512b330
Loading