1. 29 Dec, 2011 2 commits
  2. 28 Dec, 2011 1 commit
  3. 23 Dec, 2011 13 commits
  4. 22 Dec, 2011 4 commits
  5. 21 Dec, 2011 1 commit
  6. 20 Dec, 2011 8 commits
  7. 19 Dec, 2011 10 commits
    • Ross Paterson's avatar
      fix #5022: polymorphic definitions inside arrow rec · 4c8e0307
      Ross Paterson authored
      This is quite tricky, with examples like this:
      import Control.Arrow
      pRepeat :: a -> [a]
      pRepeat =
          proc x -> do
              s <- returnA -< f_rec x:s       -- f_rec is monomorphic here
              let f_later y = y               -- f_later is polymorphic here
              _ <- returnA -< (f_later True, f_later 'a')
              let f_rec y = y                 -- f_rec is polymorphic here
            returnA -< f_later s              -- f_later is monomorphic here
      Fixed the typechecking of arrow RecStmt to track changes to the monad
      version.  It was simplest to add a field recS_later_rets corresponding
      to recS_rec_rets.  It's only used for the arrow version, and always
      empty for the monad version.  But I think it would be cleaner to put
      the rec_ids and later_ids in a single list with supplementary info
      saying how they're used.
      Also fixed several glitches in the desugaring of arrow RecStmt.  The fact
      that the monomorphic variables shadow their polymorphic counterparts is a
      major pain.  Also a bit of general cleanup of DsArrows while I was there.
    • Ian Lynagh's avatar
    • Simon Peyton Jones's avatar
    • Simon Peyton Jones's avatar
      Tidy up pretty-printing for variables · c492e50b
      Simon Peyton Jones authored
      We already have a class OutputableBndr; this patch adds
      methods pprInfixOcc and pprPrefixOcc, so that we can get
      rid of the hideous hack (the old) Outputable.pprHsVar.
      The hack was exposed by Trac #5657, which is thereby fixed.
    • Ian Lynagh's avatar
    • Ian Lynagh's avatar
      Add a class HasDynFlags(getDynFlags) · 06c6d970
      Ian Lynagh authored
      We no longer have many separate, clashing getDynFlags functions
      I've given each GhcMonad its own HasDynFlags instance, rather than
      using UndecidableInstances to make a GhcMonad m => HasDynFlags m
    • Ian Lynagh's avatar
      Remove an old hack for bad FilePath behaviour · 0c047a83
      Ian Lynagh authored
      We now require GHC >= 7.0, which has the behaviour we want.
    • Ian Lynagh's avatar
      Fix typo · c1a30d7f
      Ian Lynagh authored
    • dmp's avatar
      Hide STG register declarations for LLVM C compilers · f542da48
      dmp authored and Simon Marlow's avatar Simon Marlow committed
      This commit swaps the import order of Rts.h and Stg.h in
      StgCRun.c for non-SPARC architectures. Swapping the import
      order prevents the declaration of the global registers thus
      allowing the GHC runtime to be compiled by LLVM-based C
      LLVM-base C compilers cannot use the global register
      declarations (for R1, R2, etc.) because they use
      GCC-specific extensions. The declarations are not needed in
      StgCRun.c except for the SPARC architecture. The other
      architectures use hand-written assembly that accesses the
      appropriate register directly.
    • Simon Marlow's avatar
  8. 18 Dec, 2011 1 commit