Thu Oct 19 17:23:28 CEST 2006  [EMAIL PROTECTED]
  * A little abstraction
New patches:

[A little abstraction
[EMAIL PROTECTED] {
hunk ./compiler/main/DriverPipeline.hs 419
-      start_phase
-	| Just x_phase <- mb_phase = x_phase
-	| otherwise                = startPhase suffix
+      start_phase = fromMaybe (startPhase suffix) mb_phase
}

Context:

[Fix stage1 build with 6.2.1 (from Andy Gill)
Ian Lynagh <[EMAIL PROTECTED]>**20061019000807] 
[Fix the build with GHC 6.2.2
Ian Lynagh <[EMAIL PROTECTED]>**20061018230555] 
[Cross-module consistency check for family instances
Manuel M T Chakravarty <[EMAIL PROTECTED]>**20061018221300] 
[Fix a bug in Lint (which wrongly complained when compiling Data.Sequence with -02)
[EMAIL PROTECTED] 
[Add the primitive type Any, and use it for Dynamics
[EMAIL PROTECTED]
 
 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
 cast:
 	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 
 TysPrim.mkAnyPrimTyCon.]
 
 Anyway, this fixes Trac #905
 
] 
[Add comment about arity
[EMAIL PROTECTED]
 
 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 
 	SynTyCon 
 	AlgTyCon
 	CoercionTyCon
 
 This comment (and commit message) is just an aide memoire.
 
] 
[Spelling in comment
[EMAIL PROTECTED] 
[Minor refactoring
[EMAIL PROTECTED] 
[Comments onl
[EMAIL PROTECTED] 
[fix build for 6.4.x and 6.6.x
Simon Marlow <[EMAIL PROTECTED]>**20061018080526] 
[compensate for gmp/configure sometimes not being executable
Simon Marlow <[EMAIL PROTECTED]>**20061017132215] 
[Rejig TABLES_NEXT_TO_CODE: the -unreg flag was broken by earlier changes
Simon Marlow <[EMAIL PROTECTED]>**20061017094435
 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.
 
] 
[Stage 2 fix to "Keep track of family instance modules"
Manuel M T Chakravarty <[EMAIL PROTECTED]>**20061016194048] 
[remove use of FiniteMap, use Text.Printf
Simon Marlow <[EMAIL PROTECTED]>**20061016151935] 
[fix a regular expression in banner_re
Simon Marlow <[EMAIL PROTECTED]>**20061016150802] 
[Try to get the right output for nofib-analyse
Samuel Bronson <[EMAIL PROTECTED]>**20061014175855] 
[Get nofib-analyse to build with 6.4 at least...
Samuel Bronson <[EMAIL PROTECTED]>**20061014163442] 
[Don't squish "Inlined fn" into the right margin quite as much in trace output
Samuel Bronson <[EMAIL PROTECTED]>**20061016130004] 
[Fix build on x86_64
Simon Marlow <[EMAIL PROTECTED]>**20061016112045
 
] 
[Fix deadlock on second call to newSession
Simon Marlow <[EMAIL PROTECTED]>**20061016111741
 Tracked down by Krasimir Angelov
] 
[Build the GHC package in stage 3 too
Simon Marlow <[EMAIL PROTECTED]>**20061016110926
 This fixes the problem with the nightly builds not including the GHC
 package.
] 
[more fixups to make a stage 3 build do the right thing with the ghc package
Simon Marlow <[EMAIL PROTECTED]>**20061013135318] 
[use the correct $(HC)
Simon Marlow <[EMAIL PROTECTED]>**20061013134443] 
[remove unused origPkgIdMap field from PackageState
Simon Marlow <[EMAIL PROTECTED]>**20061006105148] 
[Cache the package database the first time it is read
Simon Marlow <[EMAIL PROTECTED]>**20061006104221
 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.
] 
[fix non-DEBUG build (probably my fault, sorry)
Simon Marlow <[EMAIL PROTECTED]>**20061016105852] 
[Add assertion checks for mkCoVar/mkTyVar
[EMAIL PROTECTED]
 
 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
 assertion)! 
 
 Also removed isCoVar from Coercion, since it's done by Var.isCoVar.
 
 
 
] 
[Uncomment code to emit a space in place of a '>' in literate scripts
Ian Lynagh <[EMAIL PROTECTED]>**20061013131514
 This fixes trac #210. Test is read041.
] 
[Change type of TcGadt.refineType, plus consequences
[EMAIL PROTECTED] 
[More refactoring in RnNames
[EMAIL PROTECTED]
 
 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
 
] 
[Keep track of family instance modules
Manuel M T Chakravarty <[EMAIL PROTECTED]>**20061013004223
 - 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!  ***
] 
[Overlap check for family instances def'd in current module
Manuel M T Chakravarty <[EMAIL PROTECTED]>**20061012203737
 - All family instances are checked for overlap when entered into TcGblEnv.
   Their are checked against all instances in the EPS and those currently in
   the TcGblEnv.
] 
[Comments only
[EMAIL PROTECTED] 
[Make Inst into a record type to ease subsequent changes
[EMAIL PROTECTED] 
[Improve pretty-printing slightly
[EMAIL PROTECTED] 
[Add comments about primop rules
[EMAIL PROTECTED] 
[fix definition of fib in example code
Simon Marlow <[EMAIL PROTECTED]>*-20061012110711] 
[Track changes in source packaging scheme
[EMAIL PROTECTED] 
[fix definition of fib in example code
Simon Marlow <[EMAIL PROTECTED]>**20061012110711] 
[Partially fix GHCi when unregisterised
Ian Lynagh <[EMAIL PROTECTED]>**20061012013901
 We were constructing info tables designed for TABLES_NEXT_TO_CODE,
 but were building without TABLES_NEXT_TO_CODE.
 
 This patch also fixes a bug when we are unregisterised on amd64 and
 have code with an address above 2^32.
] 
[More import tidying and fixing the stage 2 build
Simon Marlow <[EMAIL PROTECTED]>**20061011200110] 
[Fixed spelling error in compiler/ghci/InteractiveUI.hs and docs/users_guide/ghci.xml
[EMAIL PROTECTED] 
[Use relative URLs when referring to libraries; push to 6.6 branch
[EMAIL PROTECTED] 
[Improve documentation of concurrent and parallel Haskell; push to branch
[EMAIL PROTECTED] 
[Correct id to linkend
[EMAIL PROTECTED] 
[Fix trac #921: generate *q instructions for int-float conversions
Ian Lynagh <[EMAIL PROTECTED]>**20061011140007
 We need to generate, e.g., cvtsi2sdq rather than cvtsi2sd on amd64 in
 order to have int-float conversions work correctly for values not
 correctly representable in 32 bits.
] 
[Module header tidyup #2
Simon Marlow <[EMAIL PROTECTED]>**20061011143523
 Push this further along, and fix build problems in the first patch.
] 
[remove BitSet, it isn't used
Simon Marlow <[EMAIL PROTECTED]>**20061011131614] 
[Module header tidyup, phase 1
Simon Marlow <[EMAIL PROTECTED]>**20061011120517
 This patch is a start on removing import lists and generally tidying
 up the top of each module.  In addition to removing import lists:
 
    - Change DATA.IOREF -> Data.IORef etc.
    - Change List -> Data.List etc.
    - Remove $Id$
    - Update copyrights
    - Re-order imports to put non-GHC imports last
    - Remove some unused and duplicate imports
] 
[Interface file optimisation and removal of nameParent
Simon Marlow <[EMAIL PROTECTED]>**20061011120518
 
 This large commit combines several interrelated changes:
 
   - IfaceSyn now contains actual Names rather than the special
     IfaceExtName type.  The binary interface file contains
     a symbol table of Names, where each entry is a (package,
     ModuleName, OccName) triple.  Names in the IfaceSyn point
     to entries in the symbol table.
 
     This reduces the size of interface files, which should
     hopefully improve performance (not measured yet).
 
     The toIfaceXXX functions now do not need to pass around
     a function from Name -> IfaceExtName, which makes that
     code simpler.
 
   - Names now do not point directly to their parents, and the
     nameParent operation has gone away.  It turned out to be hard to
     keep this information consistent in practice, and the parent info
     was only valid in some Names.  Instead we made the following
     changes:
 
     * ImportAvails contains a new field 
           imp_parent :: NameEnv AvailInfo
       which gives the family info for any Name in scope, and
       is used by the renamer when renaming export lists, amongst
       other things.  This info is thrown away after renaming.
 
     * The mi_ver_fn field of ModIface now maps to
       (OccName,Version) instead of just Version, where the
       OccName is the parent name.  This mapping is used when
       constructing the usage info for dependent modules.
       There may be entries in mi_ver_fn for things that are not in
       scope, whereas imp_parent only deals with in-scope things.
 
     * The md_exports field of ModDetails now contains
       [AvailInfo] rather than NameSet.  This gives us
       family info for the exported names of a module.
 
 Also:
 
    - ifaceDeclSubBinders moved to IfaceSyn (seems like the
      right place for it).
 
    - heavily refactored renaming of import/export lists.
 
    - Unfortunately external core is now broken, as it relied on
      IfaceSyn.  It requires some attention.
] 
[add extendNameEnvList_C
Simon Marlow <[EMAIL PROTECTED]>**20061010153137] 
[getMainDeclBinder should return Nothing for a binding with no variables
Simon Marlow <[EMAIL PROTECTED]>**20061010153023
 See test rn003
 
] 
[Use ":Co", not "Co" to prefix coercion TyCon names
Simon Marlow <[EMAIL PROTECTED]>**20061010134449
 Avoid possibility of name clash
] 
[Fix another hi-boot file
Ian Lynagh <[EMAIL PROTECTED]>**20061010235157] 
[Removed unused unwrapFamInstBody from MkId
Manuel M T Chakravarty <[EMAIL PROTECTED]>**20061010205843] 
[Rejig the auto-scc wrapping stuff
[EMAIL PROTECTED] 
[Do not filter the type envt after each GHCi stmt
[EMAIL PROTECTED]
 
 Fixes Trac #925
 
 A new comment in TcRnDriver in tcRnStmt reads thus: 
 
 At one stage I removed any shadowed bindings from the type_env;
 they are inaccessible but might, I suppose, cause a space leak if we leave them there.
 However, with Template Haskell they aren't necessarily inaccessible.  Consider this
 GHCi session
 	 Prelude> let f n = n * 2 :: Int
 	 Prelude> fName <- runQ [| f |]
 	 Prelude> $(return $ AppE fName (LitE (IntegerL 7)))
 	 14
 	 Prelude> let f n = n * 3 :: Int
 	 Prelude> $(return $ AppE fName (LitE (IntegerL 7)))
 In the last line we use 'fName', which resolves to the *first* 'f'
 in scope. If we delete it from the type env, GHCi crashes because
 it doesn't expect that.
 
 
] 
[Fail more informatively when a global isn't in the type environment
[EMAIL PROTECTED] 
[Rough matches for family instances
Manuel M T Chakravarty <[EMAIL PROTECTED]>**20061010044656
 - Class and type family instances just got a lot more similar.
 - FamInst, like Instance, now has a rough match signature.  The idea is the
   same: if the rough match doesn't match, there is no need to pull in the while
   tycon describing the instance (from a lazily read iface).
 - IfaceFamInst changes in a similar way and the list of all IFaceFamInsts is
   now written into the binary iface (as for class instances), as deriving it
   from the tycon (as before) would render the whole rough matching useless.
 - As a result of this, the plumbing of class instances and type instances 
   through the various environments, ModIface, ModGuts, and ModDetails is now
   almost the same.  (The remaining difference are mostly because the dfun of a
   class instance is an Id, but type instance refer to a TyCon, not an Id.)
 
 *** WARNING: The interface file format changed! ***
 ***	     Rebuild from scratch.		***
] 
[Tweaks and missing case in disassembler
Ian Lynagh <[EMAIL PROTECTED]>**20061009230539] 
[Update hi-boot files to fix building with old GHCs
Ian Lynagh <[EMAIL PROTECTED]>**20061009193218] 
[STM invariants
[EMAIL PROTECTED] 
[Fix unregisterised alpha builds
Ian Lynagh <[EMAIL PROTECTED]>**20061004125857] 
[Comments and an import-trim
[EMAIL PROTECTED] 
[Mention that the module sub-directory structure for .o and .hi files is created automatically by GHC
[EMAIL PROTECTED] 
[Bale out before renamer errors are duplicated
[EMAIL PROTECTED]
 
 With the new Haddock patch, renamer errors can be duplicated;
 so we want to bale out before doing the Haddock stuff if errors
 are found.
 
 (E.g test mod67 shows this up.)
 
] 
[Avoid repeatedly loading GHC.Prim
[EMAIL PROTECTED]
 
 This patch changes HscTypes.lookupIfaceByModule.  The problem was that
 when compiling the 'base' package, we'd repeatedly reload GHC.Prim.
 This is easily fixed by looking in the PIT too. A comment with
 lookupIfaceByModule explains
 
] 
[Print the 'skipping' messages at verbosity level 1
[EMAIL PROTECTED] 
[Fix up the typechecking of interface files during --make
[EMAIL PROTECTED]
 
 This patch fixes Trac #909.  The problem was that when compiling 
 the base package, the handling of wired-in things wasn't right;
 in TcIface.tcWiredInTyCon it repeatedly loaded GHC.Base.hi into the
 PIT, even though that was the very module it was compiling.
 
 The main fix is by introducing TcIface.ifCheckWiredInThing.
 
 But I did some minor refactoring as well.
 
] 
[Import trimming
[EMAIL PROTECTED] 
[Figure out where the rest of the repositories are, based on defaultrepo
Simon Marlow <[EMAIL PROTECTED]>**20061006100049
 This is a slight improvement over the patch sent by [EMAIL PROTECTED],
 we now do it properly if the source repo was a GHC tree on the local
 filesystem too.
 
 Merge post 6.6.
] 
[Yet another fix to mkAtomicArgs (for floating of casts)
[EMAIL PROTECTED]
 
 Comment Note [Take care] explains.
 
 mkAtomicArgs is a mess.  A substantial rewrite of Simplify is needed.
 
] 
[Improve comments and error tracing
[EMAIL PROTECTED] 
[Improve error message
[EMAIL PROTECTED] 
[Undo an accidentally-committed  patch by Audrey
[EMAIL PROTECTED] 
[Merge Haddock comment support from ghc.haddock -- big patch
[EMAIL PROTECTED] 
[Remove casts from lvalues to allow compilation under GCC 4.0
[EMAIL PROTECTED] 
[Correct the float-coercions-out-of-let patch
[EMAIL PROTECTED] 
[Merge changes
Ian Lynagh <[EMAIL PROTECTED]>**20061005150630] 
[Improve the correlation betweens documented and existent options
Ian Lynagh <[EMAIL PROTECTED]>**20061003220354] 
[Document -dfaststring-stats
Ian Lynagh <[EMAIL PROTECTED]>**20061003154147] 
[Rearrange docs to have all the -ddump-* options together
Ian Lynagh <[EMAIL PROTECTED]>**20061003153422] 
[Remove unused option -femit-extern-decls
Ian Lynagh <[EMAIL PROTECTED]>**20061003145854] 
[Documentation updates
Ian Lynagh <[EMAIL PROTECTED]>**20061003142658] 
[Fix typo
Ian Lynagh <[EMAIL PROTECTED]>**20061003121926] 
[More bootstrapping updates
Ian Lynagh <[EMAIL PROTECTED]>**20061005145629] 
[TAG 2006-10-05
Lemmih <[EMAIL PROTECTED]>**20061005150234] 
Patch bundle hash:
be53857b66fa6879ea80680267df81e83794ab3b
_______________________________________________
Cvs-ghc mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to