1. 24 Apr, 2009 5 commits
  2. 23 Apr, 2009 6 commits
  3. 21 Apr, 2009 5 commits
  4. 20 Apr, 2009 1 commit
    • Simon Marlow's avatar
      FIX #2845: Allow breakpoints on expressions with unlifted type · 709c9ce0
      Simon Marlow authored
      It turns out we can easily support breakpoints on expressions with
      unlifted types, by translating 
      
        case tick# of _ -> e
      
      into
      
        let f = \s . case tick# of _ -> e 
        in  f realWorld#
      
      instead of just a plain let-binding.  This is the same trick that GHC
      uses for abstracting join points of unlifted type.
      
      In #2845, GHC has eta-expanded the tick expression, changing the
      result type from IO a to (# State#, a #), which was the reason the
      tick was suddenly being ignored.  By supporting ticks on unlifted
      expressions we can make it work again, although some confusion might
      arise because _result will no longer be available (it now has
      unboxed-tuple type, so we can't bind it in the environment).  The
      underlying problem here is that GHC does transformations like
      eta-expanding the tick expressions, and there's nothing we can do to
      prevent that.
      709c9ce0
  5. 03 Apr, 2009 1 commit
  6. 20 Apr, 2009 3 commits
  7. 19 Apr, 2009 1 commit
  8. 18 Apr, 2009 3 commits
  9. 17 Apr, 2009 1 commit
    • waern's avatar
      Simplify the type grammar · ef70af35
      waern authored
      Simon P-J suggested the following simplifications in #3097:
      
      * Allow nested foralls in `ctype` just like in `ctypedoc`.
      * Use `gentype` rather than `type` in the LHS of type declarations.
      * Inline `type` in `ctype`.
      * Rename `gentype` to `type`.
      
      This patch does this. Also, the equivalent thing is done for documented types.
      ef70af35
  10. 13 Apr, 2009 5 commits
  11. 03 Apr, 2009 2 commits
  12. 07 Apr, 2009 1 commit
  13. 09 Apr, 2009 2 commits
    • simonpj@microsoft.com's avatar
      Fix Trac #3155: better error message when -XRankNTypes is omitted · 6c06fdc7
      simonpj@microsoft.com authored
      This patch sligtly re-adjusts the way in which the syntax of types 
      is handled:
      
       * In the lexer, '.' and '*' are always accepted in types
         (previously it was conditional).  This things can't mean
         anything else in H98, which is the only reason for doing things
         conditionally in the lexer.
      
       * As a result '.' in types is never treated as an operator.
         Instead, lacking a 'forall' keyword, it turns into a plain parse error.
      
       * Test for -XKindSignatures in the renamer when processing
           a) type variable bindings
           b) types with sigs (ty :: kind-sig)
      
       * Make -XKindSignatures be implied by -XTypeFamilies 
         Previously this was buried in the conditonal lexing of '*'
      6c06fdc7
    • simonpj@microsoft.com's avatar
  14. 04 Apr, 2009 1 commit
  15. 31 Mar, 2009 2 commits
  16. 03 Apr, 2009 1 commit