Starting with tag: [TAG 2008-09-12 2 Ian Lynagh **20080912132848] [Fix #2586, bug in THUNK_SELECTORs (again) Simon Marlow **20080912130404 This time, we had forgetten the write barrier in one place. ] [Use --force-local when calling tar in bindisttest/ Ian Lynagh **20080912012855 Otherwise it thinks that c:/foo is a remote file ] [If USE_NEW_MKDEPEND_FLAGS is YES then don't use the deprecated -optdep flags Ian Lynagh **20080912110316] [Reinstate the driver/ghc directory, to create a versioned GHC program Ian Lynagh **20080912113619 e.g. $(bindir)/ghc-6.9.20080911 ] [wibble the distrib Makefile Ian Lynagh **20080912135932 We now need to install driver after ghc ] [Change how we detect if we are using the bootstrapping compiler or not Ian Lynagh **20080913104658 I think looking for $(GHC_COMPILER_DIR_ABS) was failing on the Windows buildbot due to different path separators. Now we just look for "inplace". ] [Move the "show" target from target.mk to boilerplate.mk Ian Lynagh **20080913141312 target.mk isn't included everywhere, but show is always handy ] [Remove the duplicate show rule in libraries/Makefile Ian Lynagh **20080913144413] [If we're profiling GHC, don't bother building the GHC package the vanilla way Ian Lynagh **20080913144820] [We need to tell ghc-pkg to --force if we've only built a profiling library Ian Lynagh **20080913153142] [Comments only: ".core" => ".hcr" Tim Chevalier **20080914203645] [Slightly more helpful panic message in DynFlags Tim Chevalier **20080915080650] [Add aliases for bags of warnings and errors. Thomas Schilling **20080914160337] [Return parser errors and warnings instead of dying. Thomas Schilling **20080914162644] [Return instead of print warnings and errors in desugarer. Thomas Schilling **20080914163641] [Provide default MonadIO instance for IO. Thomas Schilling **20080914164245] [Introduce an 'ExceptionMonad' class. Thomas Schilling **20080914172154 This monad provides variants of 'catch', 'bracket', and 'finally', so exceptions can be handled in monads that wrap IO. The latter two methods need to be part of the class definition, because GHC uses 'block' and 'unblock' which are used in the definition of those two methods for the IO monad. A perhaps better class interface would consist of 'gcatch', 'gblock', and 'gunblock' and let the latter two default to 'id' like is done for non-GHC implementations of 'bracket' and 'finally'. ] [Generalise 'handleGhcException' to work with any 'ExceptionMonad'. Thomas Schilling **20080914172404] [Reflect changes of desugarer error reporting in VectMonad. Thomas Schilling **20080914172711] [Make typechecker top-level functions also return messages instead of Thomas Schilling **20080914173228 printing them. ] [Give the "Failing due to -Werror" message a name. Thomas Schilling **20080914173904] [Introduce 'GhcMonad' class and two default implementations 'Ghc' and 'GhcT'. Thomas Schilling **20080914204930 This monad will be required by most public API calls. ] [Document 'parseStaticFlags'. Thomas Schilling **20080914205316] [Start haddockifying 'HsBindLR'. Thomas Schilling **20080914205629] [Provide accessors for 'ImportDecl'. Thomas Schilling **20080914205811] [Haddockify 'IE'. Thomas Schilling **20080914210016] [Haddockify DynFlags (partial). Thomas Schilling **20080914211718] [Use 'GhcMonad' in DriverMkDepend. Thomas Schilling **20080914212113] [Use 'GhcMonad' in HscMain. Thomas Schilling **20080914213655] [Use 'GhcMonad' in DriverPipeline. Also haddockify a bit while we're at it. Thomas Schilling **20080914220628] [Use 'GhcMonad' in GHC and split up checkModule into phases. Thomas Schilling **20080914232044 I'm not sure I covered all the ways of throwing errors in the code. Some functions throw ProgramErrors, some error messages. It's still quite a mess, but we're getting closer. The missing cases are mostly errors that cannot be fixed by the API client either or are a result of wrong usage, so are in any case fatal. One function, 'getModuleInfo', still returns a 'Maybe', but the documentation suggests it should always succeed. So I may change that soon. The spit-up of of 'checkModule' has pros and cons. The various forms of 'checkModule*' now become: checkAndLoadModule ms False ~~> loadModule =<< typecheckModule =<< parseModule (ms_mod_name ms) checkAndLoadModule ms True ~~> loadModule =<< desugarModule =<< typecheckModule =<< parseModule (ms_mod_name ms) checkModule mn False ~~> typecheckModule =<< parseModule mn checkModule mn True ~~> desugarModule =<< typecheckModule =<< parseModule mn The old APIs cannot easily be provided, since the result type would be different depending on the second argument. However, a more convenient API can be modelled on top of these four functions ({parse,typecheck,desugar,load}Module). ] [Use 'GhcMonad' in InteractiveEval. Thomas Schilling **20080914232454] [Require PatternSignatures for bootstrapping compiler. Thomas Schilling **20080914232642] [Use 'GhcMonad' in ghc/Main. Thomas Schilling **20080914232957] [Use 'GhcMonad' in ghci/GhciMonad. Thomas Schilling **20080915084646] [Use 'GhcMonad' in ghci/Debugger. Thomas Schilling **20080915084738] [Use 'GhcMonad' in ghci/GhciTags. Thomas Schilling **20080915084922] [Use 'GhcMonad' in ghci/InteractiveUI. Thomas Schilling **20080915085633] [Generalise type of 'withExtendedLinkEnv'. Thomas Schilling **20080915085738] [add refs and fix a bug (noted by Peter Gammie) in docs of arrow notation Ross Paterson **20080915104757] [Don't try to float type-lets simonpj@microsoft.com**20080914113324 A type let shouldn't really occur in SetLevels, but if it does, this patch makes sure it is left alone. ] [Fix Trac #2587: take account of type lets simonpj@microsoft.com**20080914113434 GHC allows a non-recursive let for type varaibles let a = TYPE ty in ... But the free-variable finder had not caught up with this fact. This patch catches up. ] [Comments, and a couple of asserts, only simonpj@microsoft.com**20080914114641] [Do not use the Static Arg Transformation by default with -O2 simonpj@microsoft.com**20080915150433 Max has some more heuristics to add, and is meanwhile worried that having SAT on by default will make some highly-tuned array programs worse. So it's off by default. Use -fstatic-argument-transformation to switch it on. ] [Refactor the desugaring of RULE lhss a bit simonpj@microsoft.com**20080915150601 This is just a tidy-up. Previously we were calling occurAnalyse twice on each LHS which was silly and a bit unclean too. This patch should have no overall effect, though. ] [Minor refactoring to get rid of Type.splitNewTyConApp simonpj@microsoft.com**20080915072946] [White space only simonpj@microsoft.com**20080915154841] [Improve warning for SpecConstr simonpj@microsoft.com**20080915154908] [-Odph implies -fno-spec-constr-count Roman Leshchinskiy **20080910045339] [Don't panic on non-vectorisable expressions Roman Leshchinskiy **20080911054333] [Expose the dph packages automatically if -dph-* is set Roman Leshchinskiy **20080912004403] [Change desugaring of PArr literals Roman Leshchinskiy **20080912015609] [Track changes to dph Roman Leshchinskiy **20080912114028] [Fix vectoriser bug Roman Leshchinskiy **20080915042823 We were using mkWildId in situations where it cause disastrous shadowing ] [Clean up vectorisation error messages Roman Leshchinskiy **20080916013236] [Remove last traces of package ndp Roman Leshchinskiy **20080916033428] [Add -fdph-this Roman Leshchinskiy **20080916033710] [Improve handling of -fdph-* flags Roman Leshchinskiy **20080916034746] [add $(GhcStage[123]HcOpts) Simon Marlow **20080912155549] [Stop using mremap() to allocate space for trampolines Simon Marlow **20080915145924 This was causing problems because sometimes mremap() moved the memory we had allocated from the low 2Gb to above the 2Gb boundary, causing some linkages to fail. There's no MAP_32BIT flag to mremap(). So now we just use mmap(MAP_ANON|MAP_32BIT) to allocated space for the trampolines. People without MAP_32BIT (eg. *BSD) will still have to do something else here, such as allocating memory from a fixed address; so I've made it slightly easier for those guys, but there's still work to do (#2063). One solution (that Simon PJ is advocating) is to turn on -fPIC by default on x86-64. This is a good solution as it removes the need for MAP_32BIT, but doesn't work with -fvia-C, so probably this is for later. ] [Fix a warning Simon Marlow **20080916130922] [FIX #2469: sort out our static/extern inline story Simon Marlow **20080916132222 gcc has changed the meaning of "extern inline" when certain flags are on (e.g. --std=gnu99), and this broke our use of it in the header files. ] [Fix Trac #2311: creates subdirs for package coverage information andygill@ku.edu**20080915204322] [Fix Trac #2052 Allowing hpc to understand hsc files. andygill@ku.edu**20080916030521] [Fixing directory creation to not create "" directories inside hpc report (harmless but needless) andygill@ku.edu**20080916172313] [Add a "#!/bin/sh" to ghc.wrapper Ian Lynagh **20080914153344] [Add "#!/bin/sh" to runghc.wrapper Ian Lynagh **20080914153507] [Use "exec" when running ghc in the wrapper Ian Lynagh **20080915100217] [Use the new -optdep flag replacements when building with >= GHC 6.9 Ian Lynagh **20080916220057 Fix building the HEAD with itself ] [Type families: completed the new equality solver Manuel M T Chakravarty **20080913133631 - Implements normalisation of class constraints containing synonym family applications or skolems refined by local equalities. - Clean up of TcSimplify.reduceContext by using the new equality solver. - Removed all the now unused code of the old algorithm. - This completes the implementation of the new algorithm, but it is largely untested => many regressions. ] [Type families: fixed all non-termination in the testsuite Manuel M T Chakravarty **20080914120638] [Remember if RewriteInst is swapped & bug fixes Manuel M T Chakravarty **20080914163639] [Signature for Inst.isValidWantedEqInst Manuel M T Chakravarty **20080915030118] [TcTyFuns: tidy warning Manuel M T Chakravarty **20080915031423] [Type families: apply flattening coercions in the right order Manuel M T Chakravarty **20080916055136] [Keep sysnonyms folded in equalities if possible Manuel M T Chakravarty **20080916075700] [Type families: bug fixes Manuel M T Chakravarty **20080916151254] [Type families: unify with family apps in checking mode Manuel M T Chakravarty **20080917062548] [Fix: GhcStage2HcOpts were being added to stage 3 too Simon Marlow **20080917085917] [Change 'loadWithCompiler' callback argument to just print warnings. Thomas Schilling **20080917102925 Rename function accordingly. The callback wasn't very flexible to begin with. There's pretty much no way around to calling 'compile' inside that callback since 'upsweep' depends on certain side effects of compile. It therefore makes more sense to restrict the callback to its intended use only, namely to log warnings and errors. ] [ghc-pkg needs to make package.conf with sensible permissions Ian Lynagh **20080917192155 It was calling openTempFile which uses a 600 permissions mask. ] [Wibble ghc-pkg imports to fix building on Windows Ian Lynagh **20080917210813] [ext-core library: Parser fixes; make it build with the HEAD Tim Chevalier **20080918090349 In the ext-core parser I guess I never tested: * existential type variable bindings in case alts * empty data declarations That'll learn me! ] [Type families: fixes in the new solver Manuel M T Chakravarty **20080918100934] [require Alex version 2.1.0 Simon Marlow **20080918112812 Having 2.0.1 causes some unicode tests to fail ] [Fix MacOS X build: don't believe __GNUC_GNU_INLINE__ on MacOS X Simon Marlow **20080918112856] [Add link to GADT paper re rigid types simonpj@microsoft.com**20080916094521] [Improve error reporting for 'deriving' (Trac #2604) simonpj@microsoft.com**20080917135104] [Add Outputable GhcMode instance simonpj@microsoft.com**20080917161847] [Re-adjust interaction between -ddump flags and force-recompilation simonpj@microsoft.com**20080917161920 If you say -ddump-xx we effectively add -fforce-recomp, so that you see your dump output. But this works badly in --make mode, because you get the ddump output for every module, which is probably not what you want. This patch forces recompilation with -ddump-X only in one-shot mode. Of course, this only affects people using -ddump options. ] [Comments only simonpj@microsoft.com**20080917162350] [Add extra WARN test simonpj@microsoft.com**20080917162434 This warning tests that the arity of a function does not decrease. And that it's at least as great as the strictness signature. Failing this test isn't a disater, but it's distinctly odd and usually indicates that not enough information is getting propagated around, and hence you may get more simplifier iterations. ] [Avoid arity reduction when doing eta-reduce simonpj@microsoft.com**20080917162704 We like things with high arity, so when doing eta reduction it's probably a good idea to avoid reducing arity. ] [Fix nasty infelicity: do not short-cut empty substitution in the simplifier simonpj@microsoft.com**20080917162910 I was perplexed about why an arity-related WARN was tripping. It took me _day_ (sigh) to find that it was because SimplEnv.substExpr was taking a short cut when the substitution was empty, thereby not subsituting for Ids in scope, which must be done (CoreSubst Note [Extending the Subst]). The fix is a matter of deleting the "optimisation". Same with CoreSubst.substSpec, although I don't know if that actually caused a probem. ] [Add a missing "prime" (env' --> env'') thereby fixing a tripping WARN. Hurrah! simonpj@microsoft.com**20080918155144] [Replace ASSERT with WARN, and explain why simonpj@microsoft.com**20080918155245 The DPH library tripped an ASSERT. The code is actually OK, but it's badly-optimised so I changed it to WARN. The issue here is explained in ClosureInfo, Note [Unsafe coerce complications]. ] [Comments only simonpj@microsoft.com**20080918155602] [Fix Trac #1470: improve handling of recursive instances (needed for SYB3) simonpj@microsoft.com**20080918161719 This bug has been hanging around for a long time, as you'll see by its number. The fix implements a feature that is really needed by SYB3, to allow an instance to (rather indirectly) refer to itself. The trickiness comes when solving the superclass constraints. The whoel issue is explained in Note [Recursive instances and superclases] in TcSimplify. In cracking this one I found I could remove the WantSCs argument to the ReduceMe flag, which is a worthwhile simplification. Good! ] [Make the ghci scripts point to the versioned GHC program, not just "ghc" Ian Lynagh **20080918122516] [Generate ghc.cabal and ghc-bin.cabal with configure Ian Lynagh **20080918133636 This allows us to put the proper version number into them ] [Be more forceful when cleaning in compiler/ and ghc/ Ian Lynagh **20080918134443 Now that the Cabal file is generated by configure, it would be nice if clean worked even if the cabal file is missing. So now we just rm -rf the dist directory. ] [Don't put the mingw directory in RTS's package.conf Ian Lynagh **20080918143118] [When passing gcc -B, also tell it where the mingw include directory is Ian Lynagh **20080918143312] [RichTokenStream support Chaddai Fouche **20080918165256 This patch adds support for raw token streams, that contain more information than normal token streams (they contains comments at least). The "lexTokenStream" function brings this support to the Lexer module. In addition to that, functions have been added to the GHC module to make easier to recover of the token stream of a module ("getTokenStream"). Building on that, I added what could be called "rich token stream": token stream to which have been added the source string corresponding to each token, the function addSourceToToken takes a StringBuffer and a starting SrcLoc and a token stream and build this rich token stream. getRichTokenStream is a convenience function to get a module rich token stream. "showRichTokenStream" use the SrcLoc information in such a token stream to get a string similar to the original source (except unsignificant whitespaces). Thus "putStrLn . showRichTokenStream =<< getRichTokenStream s mod" should print a valid module source, the interesting part being to modify the token stream between the get and the show of course. ] [wibble pepe **20080418172303] [Fix a couple of issues with :print pepe**20080918122133 - Ticket #1995: Unsoundness with newtypes - Ticket #2475: "Can't unify" error when stopped at an exception In addition this patch adds the following: - Unfailingness: RTTI cannot panic anymore. In case of failure, it recovers gracefully by returning the "I know nothing" type - A -ddump-rtti flag ] [Add libraries/syb to .darcs-boring Ian Lynagh **20080918190116] [Put generated files in source dists Ian Lynagh **20080918194424 We don't want to require that users building source dists have alex/happy ] [TAG GHC 6.10 fork Ian Lynagh **20080919004516] [Change version number to 6.10.0 Ian Lynagh **20080919123359] [Fix the list of generated files that need to go into the source dists Ian Lynagh **20080919112522] [Improve documentation of overlapping instances simonpj@microsoft.com**20080919093147] [Add HpcParser.hs to source dists Ian Lynagh **20080919115816] [Don't require Parser.y in a source dist Ian Lynagh **20080919115831] [TAG 6.10 branch has been forked Ian Lynagh **20080919123437] [Fix how we put libffi into bindists Ian Lynagh **20080919125528] [Install libffi when installing frmo a bindist Ian Lynagh **20080919130332] [Fix building the extralibs tarball Ian Lynagh **20080919133555 We now need to dig the appropriate lines out of packages, rather than just catting libraries/extra-packages, in order to find out what the extralibs are. ] [Create runhaskell as well as runghc Ian Lynagh **20080919153010] [Move the context_switch flag into the Capability Simon Marlow **20080919102601 Fixes a long-standing bug that could in some cases cause sub-optimal scheduling behaviour. ] [Gix the ghcii script Ian Lynagh **20080919174651 The ghc executable name doesn't have a version number on Windows, so don't put one in the script. ] [Add release notes for the compiler Ian Lynagh **20080920114857] [Add library release notes Ian Lynagh **20080920155722] [Fix building with GHC 6.6 Ian Lynagh **20080920162918] [Update dependencies Ian Lynagh **20080920183534] [Escape a hash in the Makefile (it was breaking source dist creation) Ian Lynagh **20080920232945] [Add some special cases for putting dph in bindists Ian Lynagh **20080921000406] [Use -f rather than -e for portability Ian Lynagh **20080921111436] [Make "sh -e boot" work Ian Lynagh **20080921111508] [Generalise type of 'defaultErrorHandler' so it can be used inside a Ghc session. Thomas Schilling **20080921085647] [On Linux use libffi for allocating executable memory (fixed #738) Simon Marlow **20080919134602] [Remove fno-method-sharing from the list of static flags Ian Lynagh **20080920010635 It is now a dynamic flag ] [Fix Trac #2597 (second bug): complain about an empty DoE block simonpj@microsoft.com**20080920211101 When converting an empty do-block from TH syntax to HsSyn, complain rather than crashing. ] [Fix Trac #2597 (first bug): correct type checking for empty list simonpj@microsoft.com**20080920212010 The GHC front end never generates (ExplicitList []), but TH can. This patch makes the typechecker robust to such programs. ] [clean sm/Evac_thr.c and sm/Scav_thr.c Simon Marlow **20080922152827] [Fix to new executable allocation code (fixed print002 etc.) Simon Marlow **20080922210915 The problem here is caused by the fact that info tables include a relative offset to the string naming the constructor. Executable memory now resides at two places in the address space: one for writing and one for executing. In the info tables generated by GHCi, we were calculating the offset relative to the writable instance, rather than the executable instance, which meant that the GHCi debugger couldn't find the names for constructors it found in the heap. ] [Remove some dependencies on bootstrapping.conf from libraries/Makefile Ian Lynagh **20080923205755 They were causing some unnecessary work: Running make in a built tree reregisters the GHC package in bootstrapping.conf, and the build system thought that this updated timestamp meant that the configure stamps were out of date. This is particularly bad for the libraries with configure scripts, as those take a while to run. The bootstrapping.conf is built in an earlier phase ("make boot") so one shouldn't rely on the dependencies anyway. ] [Use test -f rather than test -e, for portability (Solaris) Ian Lynagh **20080924120840] [Add $(strip) to a Makefile test Ian Lynagh **20080924120940 Fixes making bindists on solaris. Patch from Christian Maeder. ] [Use $(TAR) rather than tar Ian Lynagh **20080924121759 Fixes problems on Solaris, where we need to use gtar instead of tar ] [In configure, don't call FPTOOLS_HADDOCK Ian Lynagh **20080924122558 We now use the in-tree haddock, so we don't need to look for it. ] [Look for gfind as well as find Ian Lynagh **20080924123046] [Use $(FIND) rather than find, as the former may be gfind Ian Lynagh **20080924123323] [Use -perm -100 rather than -perm /a+x when looking for executable files Ian Lynagh **20080924124137 /a+x doesn't work on some Solaris and OS X machines. Spotted by Christian Maeder. ] [Use -f when making the runhaskell symlink Ian Lynagh **20080924124255 Otherwise installation fails if runhaskell already exists. ] [#2566: emit a warning for 'ghc -c foo.bar' Simon Marlow **20080923144956 $ ghc -c foo.bar Warning: the following files would be used as linker inputs, but linking is not being done: foo.bar ghc: no input files Usage: For basic information, try the `--help' option. ] [Disallow package flags in OPTIONS_GHC pragmas (#2499) Simon Marlow **20080923173904] [Fix maintainer-clean Ian Lynagh **20080924230553] [Don't exit ghci if :info is called on an undefined identifier. Judah Jacobson **20080924212422] [Follow the integer package changes Ian Lynagh **20080925133855] [Fix the behaviour of flags like --help and --version; fixes trac #2620 Ian Lynagh **20080925165618 They should override other mode flags, not conflict with them ] [Improve runghc docs; fixes trac #2477 Ian Lynagh **20080926124425] [Pass SRC_HC_OPTS to GHC when building GHC's Main.hs Ian Lynagh **20080926131609] [Split ShowVersion etc off into a different type to DoInteractive etc Ian Lynagh **20080926140539 This fixes trac #1348 (ghci --help gave ghc's help), and also tidies things up a bit. Things would be even tidier if the usage.txt files were put into a .hs file, so that ShowUsage wouldn't need to be able to find the libdir. ] [Remove a redundant options pragma Ian Lynagh **20080926152731] [Type families: fix decomposition problem Manuel M T Chakravarty **20080925084139 * Fixes the problem reported in ] [Type families: fixes in flattening & finalisation Manuel M T Chakravarty **20080925225324 * Finalisation didn't do the right thing for equalities x ~ y, where x was instantiated, but not zonked and y flexible (need to do y := x) * During flattening we weren't careful enough when turning wanteds intermediates into locals Both bugs showed up in a small example of SPJ: linear :: HasTrie (Basis v) => (Basis v, v) linear = basisValue class HasTrie a where type family Basis u :: * basisValue :: (Basis v,v) basisValue = error "urk" ] [Add some description of the +RTS -t/-s/-S output Ian Lynagh **20080926200203] [Add an example of how to use SCCs to the user guide Ian Lynagh **20080926203832] [Fix parsing of -ignore-package flag. Bertram Felgenhauer **20080925053820] [Make the matching of the filename ghc.exe case insensitive, fixes bug #2603 Neil Mitchell **20080916160311] [Fix making OS X installers from source tarballs Ian Lynagh **20080927150507 I'm not sure why it works in the HEAD, but when making an installer from the 6.10.1 beta configure hangs when doing the CHECK_HIST_ERRORS test (during rl_initialize, I believe). Giving make /dev/null as stdin fixes it. ] [Fix #2411: missing case for CATCH_STM_FRAME in raiseAsync() Simon Marlow **20080926232806] [don't install the installPackage program Ian Lynagh **20080930145714] [Unconditionalize definition of DYNAMIC_* so that libffi.so/.dll is removed even when BuildSharedLibs is reset to NO Clemens Fruhwirth **20080930085449] [Don't capture error calls in tryUser pepe**20080926204836 A previous patch slightly changed the semantics of tryUser. This patch restores the original behaviour (as expected in :print) ] [Clean up a bit and improve an error message pepe**20080926211429] [Type families: consider subst rules both way Manuel M T Chakravarty **20080929141040 - applySubstFam, applySubstVarVar & applySubstVarFam need to return their second argument -to be put into the todo list- if the rule would be applicable if the equalities would be supplied in the opposite order. MERGE TO 6.10 ] [Fix warnings Manuel M T Chakravarty **20080929142227] [Type families: need to instantiate flexible skolems before other flexibles Manuel M T Chakravarty **20080930053559 MERGE TO 6.10 ] [fix #2594: we were erroneously applying masks, as the reporter suggested Simon Marlow **20080930115611 My guess is that this is left over from when we represented Int8 and friends as zero-extended rather than sign-extended. It's amazing it hasn't been noticed earlier. ] [Fix #2410: carefully generate unique names for CAF CCs Simon Marlow **20080930141812] [Remover PROT_EXEC flag from mmap() Simon Marlow **20080930141842 Needed for #738 fix ] [Call $(PERL) rather than perl when making the manpage Ian Lynagh **20080930155054] [Make sure to zonk the kind of coercion variables Manuel M T Chakravarty **20081001053243 MERGE TO 6.10 ] [TcSimplify.reduceImplication: clean up Manuel M T Chakravarty **20081001091315 - This cleans up some of the mess in reduceImplication and documents the precondition on the form of wanted equalities properly. - I also made the back off test a bit smarter by allowing to back off in the presence of wanted equalities as long as none of them got solved in the attempt. (That should save generating some superfluous bindings.) MERGE TO 6.10 ] [TFs: Fixed InstContextNorm (and simplification of IPs) Manuel M T Chakravarty **20081001131303 MERGE TO 6.10 ] [Remove outdated link to OGI webpage Simon Marlow **20080930150912] [Fix #2637: conc032(threaded2) failure Simon Marlow **20081001135549 There was a race condition whereby a thread doing throwTo could be blocked on a thread that had finished, and the GC would detect this as a deadlock rather than raising the pending exception. We can't close the race, but we can make the right thing happen when the GC runs later. ] [Prevent excessive inlining with DPH Roman Leshchinskiy **20081002012055 This adds a new flag -finline-if-enough-args which disables inlining for partially applied functions. It is automatically set by -Odph. This is a temporary hack and should remain undocumented. MERGE TO 6.10 ] [Proper error message for unsupported pattern signatures Manuel M T Chakravarty **20081001144339 - Pattern signatures must be identical to the type expected for the pattern; see Note [Pattern coercions] - We now signal an appropriate error if an equality coercion would be needed (instead of just generating Core that doesn't typecheck) MERGE TO 6.10 ] [Document +RTS -hT Simon Marlow **20081001163222 We forgot to document this in GHC 6.8 ] [add some more GC roots (fixes conc048, and possibly some others) Simon Marlow **20081001164427] [Suppress invalid Core Lint complaint about lack of constructors simonpj@microsoft.com**20081002132426] [Clean up some comments Manuel M T Chakravarty **20081002074642 MERGE TO 6.10 ] [TFs: Allow repeated variables in left-hand sides of instances Manuel M T Chakravarty **20081002134539 MERGE TO 6.10 ] [add -XNewQualifiedOperators (Haskell' qualified operator syntax) Simon Marlow **20080922152340] [oops, forgot to add -XNewQualifiedOperators to the flags table Simon Marlow **20080923140449] [fix new-qualified-operators link Simon Marlow **20081001163105] [Add -outputdir flag (#2295) Simon Marlow **20080927141822] [tweaks to this section of the docs Simon Marlow **20080927141834] [Let parseModule take a ModSummary like checkAndLoadModule did. Thomas Schilling **20081002230412 To get the ModSummary for a ModuleName getModSummary can be used. It's not called find* or lookup* because it assumes that the module is in the module graph and throws an exception if it cannot be found. Overall, I'm not quite sure about the usefulness of this function since the user has no control about which filetype to grab (hs or hs-boot). ] [Make a debug check more refined simonpj@microsoft.com**20081003140144] [Expunge ThFake, cure Trac #2632 simonpj@microsoft.com**20081003140423 This patch fixes a dirty hack (the fake ThFake module), which in turn was causing Trac #2632. The new scheme is that the top-level binders in a TH [d| ... |] decl splice get Internal names. That breaks a previous invariant that things like TyCons always have External names, but these TyCons are never long-lived; they live only long enough to typecheck the TH quotation; the result is discarded. So it seems cool. Nevertheless -- Template Haskell folk: please test your code. The testsuite is OK but it's conceivable that I've broken something in TH. Let's see. ] [use ghcError for error in command line Clemens Fruhwirth **20081001125648] [removed Data.Generics.Basics, added Data.Data 'Jose Pedro Magalhaes '**20081002082808] [prep-bin-dist-mingw complains if it finds a bad version of windres Ian Lynagh **20081004175351] [We need to set datadir = $(libdir) in bindists Ian Lynagh **20081005143307 We already do in the normal Makefiles. This is because GHC needs package.conf and unlit to be in the same place (and things like ghc-pkg need to agree on where package.conf is, so we just set it globally). ] [Fix generating OS X installers: Set COMMAND_MODE=unix2003 Ian Lynagh **20081005222715 If we don't specify COMMAND_MODE=unix2003 then xcodebuild defaults to setting it to legacy, which means that ar builds archives without a table of contents. That makes the build fail later on. ] [Fix warnings simonpj@microsoft.com**20081003171207] [Build a profiled GHC API by default if p is in GhcLibWays Ian Lynagh **20081007152318] [fix markup Simon Marlow **20081007150943] [update documentation for PostfixOperators Simon Marlow **20081007150957] [add a section id for +RTS -hT Simon Marlow **20081007151007] [various updates to the release notes Simon Marlow **20081007151647] [Fix bindist creation: Only the main RTS was being put in the bindists Ian Lynagh **20081009163451] [Install a versioned ghc-pkg script; fixes trac #2662 Ian Lynagh **20081009164946] [Add short DPH section to users guide Roman Leshchinskiy **20081008064754 MERGE TO 6.10 ] [Users Guide: added type family documentation Manuel M T Chakravarty **20081008061927 MERGE TO 6.10 ] [Fix bug in DPH docs Roman Leshchinskiy **20081008101618] [Fix #1955 for heap profiles generated by +RTS -hT Simon Marlow **20081003150745] [Fix #2663: we had a hard-wired capabilities[0] Simon Marlow **20081008112609 For some unknown reason in schedulePostRunThread() we were always passing capabilities[0] rather than the current Capability to throwToSingleThreaded(). This caused all kinds of weird failures and crashes in STM code when running on multiple processors. ] [add comments and an ASSERT_LOCK_HELD() Simon Marlow **20081008112627] [fix syntax errors in src-dist publish rules Simon Marlow **20081008103432] [undo incorrect assertion, and fix comments Simon Marlow **20081009085118] [pushAtom: add missing case for MachNullAddr (#2589) Simon Marlow **20081009091118] [FIX #2639 Manuel M T Chakravarty **20081009132328 MERGE TO 6.10 ] [Cover PredTy case in Type.tyFamInsts Manuel M T Chakravarty **20081009061435 MERGE TO 6.10 ] [Simplify the "is $bindir in $PATH" test Ian Lynagh **20081011191008] [Correct the "is $bindir in $PATH" test Ian Lynagh **20081011191030 We were testing neq instead of eq ]