1. 06 Jan, 2012 3 commits
  2. 05 Jan, 2012 8 commits
  3. 04 Jan, 2012 9 commits
  4. 03 Jan, 2012 7 commits
    • Simon Marlow's avatar
    • Simon Marlow's avatar
    • Simon Marlow's avatar
      Fix minor bug introduced in e7e771d1 · aa1114ed
      Simon Marlow authored
    • Simon Marlow's avatar
      Refer to Control.Concurrent instead of GHC.Conc · 7d7809de
      Simon Marlow authored
      Modified version of a patch by shelarcy <shelarcy@gmail.com>
    • Simon Marlow's avatar
      Don't record outputFile in the hashed flags · f283c391
      Simon Marlow authored
      We don't want
          ghc --make M -o <file>
      to force recompilation of all modules when <file> changes.  The -o
      value is already taken into account by the recompilation machinery
      when we check the modification time on the object file or the
    • Simon Peyton Jones's avatar
      Be less verbose when printing out Vars · b2223682
      Simon Peyton Jones authored
      For some reason we were printing every occurrence with its type
      and that is far too much.
    • Simon Peyton Jones's avatar
      Major refactoring of CoAxioms · 98a642cf
      Simon Peyton Jones authored
      This patch should have no user-visible effect.  It implements a
      significant internal refactoring of the way that FC axioms are
      handled.  The ultimate goal is to put us in a position to implement
      "pattern-matching axioms".  But the changes here are only does
      refactoring; there is no change in functionality.
       * We now treat data/type family instance declarations very,
         very similarly to types class instance declarations:
         - Renamed InstEnv.Instance as InstEnv.ClsInst, for symmetry with
           FamInstEnv.FamInst.  This change does affect the GHC API, but
           for the better I think.
         - Previously, each family type/data instance declaration gave rise
           to a *TyCon*; typechecking a type/data instance decl produced
           that TyCon.  Now, each type/data instance gives rise to
           a *FamInst*, by direct analogy with each class instance
           declaration giving rise to a ClsInst.
         - Just as each ClsInst contains its evidence, a DFunId, so each FamInst
           contains its evidence, a CoAxiom.  See Note [FamInsts and CoAxioms]
           in FamInstEnv.  The CoAxiom is a System-FC thing, and can relate any
           two types, whereas the FamInst relates directly to the Haskell source
           language construct, and always has a function (F tys) on the LHS.
         - Just as a DFunId has its own declaration in an interface file, so now
           do CoAxioms (see IfaceSyn.IfaceAxiom).
         These changes give rise to almost all the refactoring.
       * We used to have a hack whereby a type family instance produced a dummy
         type synonym, thus
            type instance F Int = Bool -> Bool
         translated to
            axiom FInt :: F Int ~ R:FInt
            type R:FInt = Bool -> Bool
         This was always a hack, and now it's gone.  Instead the type instance
         declaration produces a FamInst, whose axiom has kind
            axiom FInt :: F Int ~ Bool -> Bool
         just as you'd expect.
       * Newtypes are done just as before; they generate a CoAxiom. These
         CoAxioms are "implicit" (do not generate an IfaceAxiom declaration),
         unlike the ones coming from family instance declarations.  See
         Note [Implicit axioms] in TyCon
      On the whole the code gets significantly nicer.  There were consequential
      tidy-ups in the vectoriser, but I think I got them right.
  5. 02 Jan, 2012 1 commit
    • Ian Lynagh's avatar
      Fix typo in Makefile · dc6f3a48
      Ian Lynagh authored
      sdist output was being redirected to $src_log, which presumably
      evaluated to rc_log.
  6. 29 Dec, 2011 2 commits
  7. 28 Dec, 2011 1 commit
  8. 23 Dec, 2011 9 commits