1. 04 Jan, 2012 3 commits
    • Simon Marlow's avatar
      Remove missing archs (mipseb, mipsel, alpha) (#5734) · 3fc68b5c
      Simon Marlow authored
      It doesn't hurt to map these to ArchUnknown since we don't need to
      know anything specific about them, and adding them would be a pain
      (there are a bunch of places where we have to case-match on all the
      arches to avoid warnings).
      3fc68b5c
    • Simon Marlow's avatar
      osElfTarget should default to False (#5733) · a8b8d657
      Simon Marlow authored
      Another portabilty regression: before Platform we used to use elf_OBJ_FORMAT:
      
       #if linux_TARGET_OS || freebsd_TARGET_OS || openbsd_TARGET_OS || solaris2_TARGET_OS
       #define elf_OBJ_FORMAT 1
       #endif
      
      which defaults to undefined on unknown platforms.  Defaulting to
      non-ELF is correct, it just means that we won't rely on ELF-specific
      functionality.  I've added a comment to explain that.
      a8b8d657
    • Simon Marlow's avatar
      Store the word size as determined by configure, in the settings file (#5735) · 8387f019
      Simon Marlow authored
      Now target32bit works for all targets without any manual intervention,
      as it should do.  #5735 was a portability regression.
      8387f019
  2. 03 Jan, 2012 7 commits
    • Simon Marlow's avatar
      d7d56f58
    • Simon Marlow's avatar
    • Simon Marlow's avatar
      Fix minor bug introduced in e7e771d1 · aa1114ed
      Simon Marlow authored
      aa1114ed
    • 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>
      7d7809de
    • 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
      executable.
      f283c391
    • 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.
      b2223682
    • 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.
      
      Specifically:
      
       * 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.
      98a642cf
  3. 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.
      dc6f3a48
  4. 29 Dec, 2011 2 commits
  5. 28 Dec, 2011 1 commit
  6. 23 Dec, 2011 13 commits
  7. 22 Dec, 2011 4 commits
  8. 21 Dec, 2011 1 commit
  9. 20 Dec, 2011 8 commits