Commits on Oct 21, 2006
  1. Fix parent position in RnNames.nubAvails

    mchakravarty committed Oct 21, 2006
    - `RnNames.nubAvails', which amalgamates AvailInfo items that belong to the 
      same parent, needs to be careful that the parent name occurs first if it is
      in the list of subnames at all.  (Otherwise, we can get funny export items
      in ifaces.)
    - I discovered this while debugging family import/exports, but I am pretty 
      sure the bug would also have shown up without using families under the 
      right circumstances.
  2. Fix export of associated families with new name parent story

    mchakravarty committed Oct 21, 2006
      module Exp (T)
      class C a where
        data T a :: *
    we need the AvailInfo for the export item to be C|{T}, not just T.
    This patch achieves that under the new name parent scheme.
Commits on Oct 20, 2006
  1. Fix processing of imports involving ATs with the new name parent code

    mchakravarty committed Oct 20, 2006
    Associated types in import lists require special care and the new name
    parent code broke that.  What's the problem?  in the presence of ATs
    the name parent relation can have a depth of two (not just one as in H98).
    Here is an example:
      class GMapKey a where
        data GMap a :: * -> *
      instance GMapKey Int where
        data GMap Int v = GMapInt ...
    The data constructor GMapInt's parent is GMap whose parent in turn is the 
    class GMapKey; ie, GMapKey is GMapInt's grand parent.  In H98, data types 
    have no parents (which is in some places in the code represented by making 
    them their own parent).
    I fixed this by extending the information in filterImport's occ_env and
    taking the case of associated types explicitly in consideration when 
    processing the various forms of IE items.
Commits on Oct 19, 2006
  1. Fix family instance bug due to the name parent elimination

    mchakravarty committed Oct 19, 2006
    - Its important that `isImplicitTyCon' considers
      (a) associated families to be implicit, but
      (b) considers family instances *not* to be implicit (for the same reasons 
          that a dfun is not implicit).
Commits on Oct 18, 2006
  1. Fix the build with GHC 6.2.2

    igfoo committed Oct 18, 2006
  2. Fix a bug in Lint (which wrongly complained when compiling Data.Seque… committed Oct 18, 2006
    …nce with -02)
  3. Add the primitive type Any, and use it for Dynamics committed Oct 18, 2006
    GHC's code generator can only enter a closure if it's guaranteed
    not to be a function.  In the Dynamic module, we were using the 
    type (forall a.a) as the type to which the dynamic type was unsafely
    	type Obj = forall a.a
    Gut alas this polytype was sometimes instantiated to (), something 
    like this (it only bit when profiling was enabled)
    	let y::() = dyn ()
    	in (y `cast` ..) p q
    As a result, an ASSERT in ClosureInfo fired (hooray).
    I've tided this up by making a new, primitive, lifted type Any, and
    arranging that Dynamic uses Any, thus:
    	type Obj = ANy
    While I was at it, I also arranged that when the type checker instantiates 
    un-constrained type variables, it now instantiates them to Any, not ()
    	e.g.  length Any []
    [There remains a Horrible Hack when we want Any-like things at arbitrary 
    kinds.  This essentially never happens, but see comments with 
    Anyway, this fixes Trac #905
  4. Add comment about arity committed Oct 18, 2006
    I'm not sure what the significance of the "arity" of a primtive
    TyCon is.  They aren't necessarily saturated, so it's not that.
    I rather think that arity is only relevant for 
    This comment (and commit message) is just an aide memoire.
  5. Spelling in comment committed Oct 18, 2006
  6. Minor refactoring committed Oct 18, 2006
  7. Comments onl committed Oct 18, 2006
  8. fix build for 6.4.x and 6.6.x

    Simon Marlow committed Oct 18, 2006
Commits on Oct 17, 2006
  1. Rejig TABLES_NEXT_TO_CODE: the -unreg flag was broken by earlier changes

    Simon Marlow committed Oct 17, 2006
    A GHC binary can generally build either registerised or unregisterised
    code, unless it is unregisterised only.  
    The previous changes broke this, but I think I've now restored it.
Commits on Oct 16, 2006
  1. remove use of FiniteMap, use Text.Printf

    Simon Marlow committed Oct 16, 2006
  2. fix a regular expression in banner_re

    Simon Marlow committed Oct 16, 2006
  3. Fix build on x86_64

    Simon Marlow committed Oct 16, 2006
  4. Fix deadlock on second call to newSession

    Simon Marlow committed Oct 16, 2006
    Tracked down by Krasimir Angelov
  5. Build the GHC package in stage 3 too

    Simon Marlow committed Oct 16, 2006
    This fixes the problem with the nightly builds not including the GHC
  6. fix non-DEBUG build (probably my fault, sorry)

    Simon Marlow committed Oct 16, 2006
Commits on Oct 14, 2006
Commits on Oct 13, 2006
  1. more fixups to make a stage 3 build do the right thing with the ghc p…

    Simon Marlow committed Oct 13, 2006
  2. use the correct $(HC)

    Simon Marlow committed Oct 13, 2006
  3. Add assertion checks for mkCoVar/mkTyVar committed Oct 13, 2006
    A type variable has a flag saying whether it is a *type* variable or
    a *coercion* variable.  This patch adds assertions to check the flag.
    And it adds fixes to places which were Wrong (and hence fired the
    Also removed isCoVar from Coercion, since it's done by Var.isCoVar.
  4. Uncomment code to emit a space in place of a '>' in literate scripts

    igfoo committed Oct 13, 2006
    This fixes trac #210. Test is read041.
Commits on Oct 11, 2006
  1. Fixed spelling error in compiler/ghci/InteractiveUI.hs and docs/users… committed Oct 11, 2006
Commits on Oct 6, 2006
  1. remove unused origPkgIdMap field from PackageState

    Simon Marlow committed Oct 6, 2006
  2. Cache the package database the first time it is read

    Simon Marlow committed Oct 6, 2006
    This was a slight oversight on my part, I intended to store the
    pristine database in the pkgDatabase of DynFlags, but managed to
    forget to do it.