This project is mirrored from Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer.
Last successful update .
  1. 20 Oct, 2006 1 commit
    •'s avatar
      Fix processing of imports involving ATs with the new name parent code · 4f55ec2c authored
      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.
  2. 19 Oct, 2006 4 commits
  3. 18 Oct, 2006 2 commits
  4. 11 Oct, 2006 1 commit
  5. 18 Oct, 2006 7 commits
    •'s avatar
    •'s avatar
      Add the primitive type Any, and use it for Dynamics · c128930d authored
      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
    •'s avatar
      Add comment about arity · 5e41a5af authored
      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.
    •'s avatar
      Spelling in comment · 1ee8a6f6 authored
    •'s avatar
      Minor refactoring · 0d1fca15 authored
    •'s avatar
      Comments onl · 41c97fdc authored
    • Simon Marlow's avatar
      fix build for 6.4.x and 6.6.x · 5563de10
      Simon Marlow authored
  6. 17 Oct, 2006 2 commits
  7. 16 Oct, 2006 3 commits
  8. 14 Oct, 2006 2 commits
  9. 16 Oct, 2006 4 commits
  10. 13 Oct, 2006 2 commits
  11. 06 Oct, 2006 2 commits
  12. 16 Oct, 2006 1 commit
  13. 13 Oct, 2006 5 commits
    •'s avatar
      Add assertion checks for mkCoVar/mkTyVar · ac704fca authored
      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.
    • Ian Lynagh's avatar
      Uncomment code to emit a space in place of a '>' in literate scripts · 28d732c3
      Ian Lynagh authored
      This fixes trac #210. Test is read041.
    •'s avatar
    •'s avatar
      More refactoring in RnNames · 5ad61e14 authored
      I rather self-indulgently spent a chunk of yesterday working on 
      refactoring RnNames further.  The result is significantly simpler:
      * A GlobalRdrElt gets an extra field, gre_par, which records
        the parent (if any) of the name
      * ImportAvails has two fields deleted: imp_env and imp_parent.
        The information provided by these fields was only used when
        processing the export list; and the same information is now readily
        generated from the GlobalRdrElts in the GlobalRdrEnv
      I also did some tidying up; notably moving AvailEnv stuff from
      TcRnTypes to RnNames.
      The result is tha the compiler is some 130 lines shorter than before
    •'s avatar
      Keep track of family instance modules · 311b1cdf authored
      - Now each modules carries
        (1) a flag saying whether it contains family instance declarations and
        (2) a list of all modules further down in the import tree that contain
            family instance declarations.
        (The information is split into these two parts for the exact same reasons why
        the info about orphan modules is split, too.)
      - This is the first step to *optimised* overlap checking of family instances
        coming from imported modules.
      *** WARNING: This patch changes the interface file format! ***
      ***          Recompile libraries and stage2 from scratch!  ***
  14. 12 Oct, 2006 2 commits
  15. 11 Oct, 2006 2 commits