1. 18 Jun, 2011 4 commits
  2. 16 Jun, 2011 1 commit
    • Simon Peyton Jones's avatar
      Re-do (again) the handling of binders in Template Haskell · e3dcc0d5
      Simon Peyton Jones authored
      See the long Note [Binders in Template Haskell] in Convert.lhs
      which explains it all.  This patch fixes Trac #5037.
      
      The key change is that NameU binders (ones made up by newName in
      Template Haskell, and by TH quotations) now make Exact RdrNames again,
      rather than making RdrNames with heavily encoded OccNames like x[03cv].
      (This encoding is what was making #5037 fail.)
      e3dcc0d5
  3. 13 Jun, 2011 1 commit
  4. 11 Jun, 2011 2 commits
  5. 10 Jun, 2011 2 commits
  6. 09 Jun, 2011 1 commit
    • Ian Lynagh's avatar
      Refactor SrcLoc and SrcSpan · b2bd63f9
      Ian Lynagh authored
      The "Unhelpful" cases are now in a separate type. This allows us to
      improve various things, e.g.:
      * Most of the panic's in SrcLoc are now gone
      * The Lexer now works with RealSrcSpans rather than SrcSpans, i.e. it
        knows that it has real locations and thus can assume that the line
        number etc really exists
      * Some of the more suspicious cases are no longer necessary, e.g.
        we no longer need this case in advanceSrcLoc:
            advanceSrcLoc loc _ = loc -- Better than nothing
      
      More improvements can probably be made, e.g. tick locations can
      probably use RealSrcSpans too.
      b2bd63f9
  7. 09 May, 2011 1 commit
  8. 04 May, 2011 4 commits
  9. 03 May, 2011 1 commit
    • Simon Peyton Jones's avatar
      More hacking on monad-comp · e01036f8
      Simon Peyton Jones authored
      Lots of refactoring. In particular I have now combined
      TansformStmt and GroupStmt into a single constructor TransStmt.
      This gives lots of useful code sharing.
      e01036f8
  10. 02 May, 2011 2 commits
  11. 29 Apr, 2011 1 commit
  12. 28 Apr, 2011 2 commits
  13. 26 Apr, 2011 1 commit
  14. 20 Apr, 2011 1 commit
  15. 19 Apr, 2011 3 commits
  16. 12 Apr, 2011 1 commit
  17. 02 Apr, 2011 1 commit
  18. 06 Mar, 2011 1 commit
  19. 20 Feb, 2011 1 commit
    • chak@cse.unsw.edu.au.'s avatar
      Added a VECTORISE pragma · f2aaae97
      chak@cse.unsw.edu.au. authored
      - Added a pragma {-# VECTORISE var = exp #-} that prevents
        the vectoriser from vectorising the definition of 'var'.
        Instead it uses the binding '$v_var = exp' to vectorise
        'var'.  The vectoriser checks that the Core type of 'exp'
        matches the vectorised Core type of 'var'.  (It would be
        quite complicated to perform that check in the type checker
        as the vectorisation of a type needs the state of the VM
        monad.)
      - Added parts of a related VECTORISE SCALAR pragma
      - Documented -ddump-vect
      - Added -ddump-vt-trace
      - Some clean up
      f2aaae97
  20. 12 Jan, 2011 1 commit
  21. 10 Jan, 2011 1 commit
    • simonpj@microsoft.com's avatar
      Do dependency analysis when kind-checking type declarations · 6ea06bbf
      simonpj@microsoft.com authored
      This patch fixes Trac #4875.  The main point is to do dependency
      analysis on type and class declarations, and kind-check them in
      dependency order, so as to improve error messages.
      
      This patch means that a few programs that would typecheck before won't
      typecheck any more; but before we were (naughtily) going beyond
      Haskell 98 without any language-extension flags, and Trac #4875
      convinces me that doing so is a Bad Idea.
      
      Here's an example that won't typecheck any more
             data T a b = MkT (a b)
             type F k = T k Maybe
      
      If you look at T on its own you'd default 'a' to kind *->*;
      and then kind-checking would fail on F.
      
      But GHC currently accepts this program beause it looks at
      the *occurrences* of T.
      6ea06bbf
  22. 27 Nov, 2010 1 commit
  23. 22 Dec, 2010 2 commits
    • simonpj@microsoft.com's avatar
      Implement fuzzy matching for the renamer · 820ddd55
      simonpj@microsoft.com authored
      ...so that you get helpful suggestions when you mis-spell a name
      Based on Max's patch in Trac #2442, but heavily refactored.
      820ddd55
    • simonpj@microsoft.com's avatar
      Tidy up rebindable syntax for MDo · ba05282d
      simonpj@microsoft.com authored
      For a long time an 'mdo' expression has had a SyntaxTable
      attached to it.  However, we're busy deprecating SyntaxTables
      in favour of rebindable syntax attached to individual Stmts,
      and MDoExpr was totally inconsistent with DoExpr in this
      regard.
      
      This patch tidies it all up.  Now there's no SyntaxTable on
      MDoExpr, and 'modo' is generally handled much more like 'do'.
      
      There is resulting small change in behaviour: now MonadFix is
      required only if you actually *use* recursion in mdo. This
      seems consistent with the implicit dependency analysis that
      is done for mdo.
      
      Still to do:
        * Deal with #4148 (this patch is on the way)
        * Get rid of the last remaining SyntaxTable on HsCmdTop
      ba05282d
  24. 19 Dec, 2010 1 commit
  25. 10 Dec, 2010 1 commit
    • simonpj@microsoft.com's avatar
      Fix Trac #4534: renamer bug · 78363495
      simonpj@microsoft.com authored
        
      The renamer wasn't attaching the right used-variables to a
      TransformStmt constructor.
      
      The real modification is in RnExpr; the rest is just
      pretty-printing and white space.
      78363495
  26. 27 Nov, 2010 1 commit
  27. 30 Oct, 2010 1 commit