Ticket #2180: xcpu.bundle

File xcpu.bundle, 128.8 KB (added by Baughn, 6 years ago)
Line 
1
2New patches:
3
4[Ignore XCPU handler in deadlock-detection logic
5svein.ove@aas.no**20080327181923] {
6hunk ./rts/Schedule.c 999
7-       if ( RtsFlags.MiscFlags.install_signal_handlers && anyUserHandlers() ) {
8+       if ( RtsFlags.MiscFlags.install_signal_handlers && anyIdleTriggerableUserHandlers() ) {
9hunk ./rts/posix/Signals.c 265
10-anyUserHandlers(void)
11+anyIdleTriggerableUserHandlers(void)
12hunk ./rts/posix/Signals.c 267
13-    return n_haskell_handlers != 0;
14+  /* Check for XCPU being the only installed handler.
15+   * As the cpu time limit is not going to be exceeded if
16+   * there are no runnable threads, consider this a deadlock. */
17+
18+  if (n_haskell_handlers == 1 &&
19+      signal_handlers[SIGXCPU] != STG_SIG_DFL &&
20+      signal_handlers[SIGXCPU] != STG_SIG_IGN) {
21+      return 0;
22+  }
23+  return n_haskell_handlers != 0;
24hunk ./rts/posix/Signals.h 12
25-extern rtsBool anyUserHandlers(void);
26+extern rtsBool anyIdleTriggerableUserHandlers(void);
27hunk ./rts/win32/ConsoleHandler.h 37
28- * Function: anyUserHandlers()
29+ * Function: anyIdleTriggerableUserHandlers()
30hunk ./rts/win32/ConsoleHandler.h 42
31- * and isn't considered a 'user handler'.
32+ * and isn't considered a 'user handler'. Signals that can't be delivered when
33+ * the program isn't running are ignored.
34hunk ./rts/win32/ConsoleHandler.h 45
35-#define anyUserHandlers() (rtsFalse)
36+#define anyIdleTriggerableUserHandlers() (rtsFalse)
37}
38
39Context:
40
41[Make use of the SDoc type synonym
42Ian Lynagh <igloo@earth.li>**20080326175306]
43[Fix warnings in rename/RnTypes
44Ian Lynagh <igloo@earth.li>**20080326174657]
45[Fix warnings in basicTypes/IdInfo
46Ian Lynagh <igloo@earth.li>**20080326170014]
47[Fix warnings in basicTypes/NameEnv
48Ian Lynagh <igloo@earth.li>**20080326165139]
49[Fix warnings in basicTypes/NameSet
50Ian Lynagh <igloo@earth.li>**20080326164837]
51[Fix warning in basicTypes/NewDemand
52Ian Lynagh <igloo@earth.li>**20080326160017]
53[Fix warnings in basicTypes/VarEnv
54Ian Lynagh <igloo@earth.li>**20080326155412]
55[Fix warnings in basicTypes/VarSet
56Ian Lynagh <igloo@earth.li>**20080326155105]
57[main/BreakArray has no warnings
58Ian Lynagh <igloo@earth.li>**20080326154747]
59[In validate settings, make -Werror easier to override
60Ian Lynagh <igloo@earth.li>**20080326141030]
61[Remove a redundant type sig
62Ian Lynagh <igloo@earth.li>**20080326004932]
63[Fix warnings in main/DriverPhases
64Ian Lynagh <igloo@earth.li>**20080325235828]
65[Remove redundant type sig
66Ian Lynagh <igloo@earth.li>**20080325235801]
67[Fix warnings in main/HscStats
68Ian Lynagh <igloo@earth.li>**20080325234110]
69[Fix warnings in main/Constants
70Ian Lynagh <igloo@earth.li>**20080325233034]
71[Fix warnings in main/InteractiveEval
72Ian Lynagh <igloo@earth.li>**20080325230153]
73[Fix warnings in main/Packages
74Ian Lynagh <igloo@earth.li>**20080325224444]
75[Fix warnings in main/PprTyThing
76Ian Lynagh <igloo@earth.li>**20080325223104]
77[Fix warnings in main/StaticFlags
78Ian Lynagh <igloo@earth.li>**20080325221632]
79[Change syntax for newtypes in External Core
80Tim Chevalier <chevalier@alum.wellesley.edu>**20080325170218
81 
82 The way that newtype declarations were printed in External Core files was
83 incomplete, since there was no declaration for the coercion introduced by a
84 newtype.
85 
86 For example, the Haskell source:
87 
88 newtype T a = MkT (a -> a)
89 
90 foo (MkT x) = x
91 
92 got printed out in External Core as (roughly):
93 
94   %newtype T a = a -> a;
95 
96   foo :: %forall t . T t -> t -> t =
97     %cast (\ @ t -> a1 @ t)
98     (%forall t . T t -> ZCCoT t);
99 
100 There is no declaration anywhere in the External Core program for :CoT, so
101 that's bad.
102 
103 I changed the newtype decl syntax so as to include the declaration for the
104 coercion axiom introduced by the newtype. Now, it looks like:
105 
106   %newtype T a ^ (ZCCoT :: ((T a) :=: (a -> a))) = a -> a;
107 
108 And an external typechecker could conceivably typecheck code that uses this.
109 
110 The major changes are to MkExternalCore and PprExternalCore (as well as
111 ExternalCore, to change the External Core AST.) I also corrected some typos in
112 comments in other files.
113 
114 Documentation and external tool changes to follow.
115 
116]
117[Fix warnings in the RTS
118Ian Lynagh <igloo@earth.li>**20080325160314
119 For some reason this causes build failures for me in my 32-bit chroot,
120]
121[Another change for GHC.PrimopWrappers moving from base to ghc-prim
122Ian Lynagh <igloo@earth.li>**20080324224006]
123[Update darcs-boring
124Ian Lynagh <igloo@earth.li>**20080324212319]
125[Fix primMname in External Core printer
126Tim Chevalier <chevalier@alum.wellesley.edu>**20080324014311
127 
128  My earlier changes broke printing of function types in .hcr files.
129   In other words: the z-encoding must die.
130]
131[Fix primMname in External Core printer
132Tim Chevalier <chevalier@alum.wellesley.edu>**20080324005246
133 
134 My earlier changes broke printing of function types in .hcr files.
135 In other words: the z-encoding must die.
136]
137[Follow library changes
138Ian Lynagh <igloo@earth.li>**20080323182557
139 Integer, Bool and Unit/Inl/Inr are now in new packages integer
140 and ghc-prim.
141]
142[CgTicky now doesn't know about the Integer data constructors
143Ian Lynagh <igloo@earth.li>**20080320195836]
144[-DDEBUG build fix
145Ian Lynagh <igloo@earth.li>**20080322140641]
146[Rename rebuild to remake, and define rebuild to "clean; build"
147Ian Lynagh <igloo@earth.li>**20080320221915]
148[Handle hierarchical module names in External Core tools
149Tim Chevalier <chevalier@alum.wellesley.edu>**20080320014449
150 
151 I updated the parser to handle hierarchical module names (with package names)
152 the way GHC is currently printing them out in External Core.
153 
154 Beware kludgy use of z-encoding and gratutious copy-pasta from GHC.
155 
156 You can now use the stand-alone Core parser to parse a very simple
157 GHC-generated .hcr file (progress!) but not to typecheck or interpret it
158 (the typechecker/interpreter don't snarf in the right libraries yet, among
159 other things.) And, the parser is still incomplete in that it doesn't handle
160 programs with newtypes/GADTs/etc. whose syntax has changed since 2003. In
161 other words: probably don't try to use this yet.
162 
163]
164[Improve hierarchical module name handling in MkExternalCore
165Tim Chevalier <chevalier@alum.wellesley.edu>**20080319190429
166 
167 It's easier for the External Core parser if MkExternalCore prints
168 module names like:
169    base:GHCziBase
170 rather than like:
171    base:GHC.Base
172 (which it was doing before.)
173 
174 So now we z-encode the hierarchical module-name part of a module
175 name, but don't z-encode the ':'.
176 
177 I also removed some old comments that don't seem relevant anymore.
178]
179[Fixed remaining warning in coreSyn/MkExternalCore
180Tim Chevalier <chevalier@alum.wellesley.edu>**20080319182521
181 
182 There was a (suppressed) warning about an incomplete pattern match in make_alt. This was because the DEFAULT alt never has variable bindings. I thought it would be better to check that case and panic if it happens than to have an incomplete pattern. It's still not great, but at least now we don't have to suppress any warnings in this file.
183]
184[Revert an accidental change
185Ian Lynagh <igloo@earth.li>**20080317200130]
186[Print some extra debugging info when doing --show-iface
187Ian Lynagh <igloo@earth.li>**20080317185032]
188[Eliminate a global variable
189Ian Lynagh <igloo@earth.li>**20080317180150
190 Very little parameter passing is needed without it, so there was no real
191 benefit to it.
192]
193[Follow changes in editline
194Ian Lynagh <igloo@earth.li>**20080317103617]
195[Use editline instead of readline
196Ian Lynagh <igloo@earth.li>**20080316060407]
197[Vectorise tuple constructorsn
198Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080317033436]
199[Added double divide and unzipP
200keller@cse.unsw.edu.au**20080317025553]
201[Added 'div' to set of vectorising functions
202keller@cse.unsw.edu.au**20080311125035]
203[If unregisterised, link with -optl-Wl,--relax on IA64
204Ian Lynagh <igloo@earth.li>**20080316214104
205 This fixes part of trac #856
206]
207[When concatenating variables in Makefile, strip spaces in case one is empty
208Ian Lynagh <igloo@earth.li>**20080315141751
209 Otherwise "$(A) $(B)" will not be equal to "" even if A and B are empty.
210 Trac #856.
211]
212[Fix a space leak in :trace (trac #2128)
213Ian Lynagh <igloo@earth.li>**20080316211748
214 We were doing lots of cons'ing and tail'ing without forcing the tails,
215 so were building up lots of thunks.
216]
217[If we are failing due to a warning and -Werror, say so
218Ian Lynagh <igloo@earth.li>**20080316195636
219 Fixes trac #1893, based on a patch from Daniel Franke.
220]
221[Remove leftover NoteTy/FTVNote bits
222Ian Lynagh <igloo@earth.li>**20080315194220]
223[Remove uses of addFreeTyVars
224Ian Lynagh <igloo@earth.li>**20080315155027
225 This optimisation actually make things a bit slower on average, as
226 measured by nofib. The example in #1136 in particular suffers from high
227 memory usage. Therefore we no longer do the optimisation.
228]
229[parsing tweak for :break
230Simon Marlow <simonmar@microsoft.com>**20080313182936]
231[Tweaks to stack squeezing
232Simon Marlow <simonmar@microsoft.com>**20080207122445
233 
234 1. We weren't squeezing two frames if one of them was a marked update
235    frame.  This is easy to fix.
236 
237 2. The heuristic to decide whether to squeeze was a little
238    conservative.  It's worth copying 3 words to save an update frame.
239 
240]
241[Some cleanup in TcSimplify.reduceContext
242Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080313065220
243 - Makes this horrid function a bit better - and shorter!
244 - Also gets rid of another API function of TcTyFuns
245]
246[Properly normalise reduced dicts
247Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080313051708
248 - Another chapter in the never-ending TcSimplify.reduceContext saga: after
249   context reduction of wanted dicts it is not sufficient to normalise them
250   wrt to the wanted equalities.  We also need to take top-level equalities
251   into account.  (In fact, we probably also have to normalise wrt to given
252   equalities, but I have left that open for the moment - but added a TODO
253   note.)
254 - This finally eliminates substEqInDictInsts from TcTyFuns interface and
255   suggest some further possible clean up (which will be in a separate patch).
256 
257 Thanks to Roman for the intricate example that uncovered this bug.
258]
259[Bump mAX_NDP_PROD to 5
260Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080313061411]
261[#2050: save the GHCi history in ~/.ghc/ghci_history
262Simon Marlow <simonmar@microsoft.com>**20080312215724
263 Modified version of Judah's patch
264]
265[Make sure we generate PA dictionaries for tuples up to mAX_NDP_PROD
266Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080312034905]
267[Bump mAX_NDP_PROD to 4
268Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080312030245]
269[First cut at reviving the External Core tools
270Tim Chevalier <chevalier@alum.wellesley.edu>**20080310025821
271 
272 I updated the External Core AST to be somewhat closer to reality (where reality is defined by the HEAD), and got all the code to compile under GHC 6.8.1. (That means it works, right?)
273 
274 Major changes:
275 
276 - Added a Makefile.
277 
278 - Core AST:
279     - Represented package names and qualified module names.
280     - Added type annotation on Case exps.
281     - Changed Coerce to Cast.
282     - Cleaned up representation of qualified/unqualified names.
283     - Fixed up wired-in module names (no more "PrelGHC", etc.)
284 
285 - Updated parser/interpreter/typechecker/prep for the new AST.
286 
287 - Typechecker:
288     - Used a Reader monad to pass around the global environment and top module name.
289     - Added an entry point to check a single expression.
290 
291 - Prep:
292     - Got rid of typeofExp; it's now defined in terms of the typechecker.
293 
294]
295[Remove ndpFlatten
296Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080309225914
297 
298 This patch removes the ndpFlatten directory and the -fflatten static flag.
299 This code has never worked and has now been superceded by vectorisation.
300]
301[documentation fix: change flag -frules-off to -fno-rewrite-rules
302iavor.diatchki@gmail.com**20080309191911]
303[Don't expose the unfolding of dictionary selectors without -O
304simonpj@microsoft.com**20080306135026
305 
306 When compiling without -O we were getting code like this
307 
308        f x = case GHC.Base.$f20 of
309                  :DEq eq neq -> eq x x
310 
311 But because of the -O the $f20 dictionary is not available, so exposing
312 the dictionary selector was useless.  Yet it makes the code bigger!
313 Better to get
314        f x = GHC.Base.== GHC.Bsae.$f20 x x
315 
316 This patch suppresses the implicit unfolding for dictionary selectors
317 when compiling without -O.  We could do the same for other implicit
318 Ids, but this will do for now.
319 
320 There should be no effect when compiling with -O.  Programs should
321 be smaller without -O and may run a tiny bit slower.
322 
323 
324]
325[Fix Trac #783: improve short-cutting literals in the type checker
326simonpj@microsoft.com**20080306134734
327 
328 The Inst.shortCutIntLit mechanism in the type checker was missing cases
329 where a floating-point literal was given without an explicit decimal point.
330 
331 As a result, programs with lots of floating-point literals (without decimals)
332 ended up with massive Static Reference Tables.  This is not cool.  See
333 comments with Trac #783 for details.
334 
335 
336]
337[Fix Trac #2138: print the 'stupid theta' of a data type
338simonpj@microsoft.com**20080306134651]
339[Fix vectorisation monad
340Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080307050859]
341[Improve SpecConstr for local bindings: seed specialisation from the calls
342simonpj@microsoft.com**20080306120004
343 
344 This patch makes a significant improvement to SpecConstr, based on
345 Roman's experience with using it for stream fusion.  The main change is
346 this:
347 
348   * For local (not-top-level) declarations, seed the specialisation
349     loop from the calls in the body of the 'let'.
350 
351 See Note [Local recursive groups] for discussion and example.  Top-level
352 declarations are treated just as before.
353 
354 Other changes in this patch:
355 
356   * New flag -fspec-constr-count=N sets the maximum number of specialisations
357     for any single function to N.  -fno-spec-constr-count removes the limit.
358 
359   * Refactoring in specLoop and friends; new algebraic data types
360     OneSpec and SpecInfo instead of the tuples that were there before
361 
362   * Be less keen to specialise on variables that are simply in scope.
363     Example
364       f p q = letrec g a y = ...g....  in g q p
365     We probably do not want to specialise 'g' for calls with exactly
366     the arguments 'q' and 'p', since we know nothing about them.
367 
368 
369]
370[Refactor OccAnal; and improve dead-code elimination
371simonpj@microsoft.com**20080305155708
372 
373 The occurrence analyer is now really rather subtle when dealing
374 with recursive groups; see Note [Loop breaking and RULES] especially.
375 
376 This patch refactors this code a bit, notably
377   * Introduces a new data type Details instead of a tuple
378 
379   * More clearly breaks up a recursive group into its SCCs
380        before processing it in a separate function occAnalRec
381 
382   * As a result, does better dead-code elimination, becuause it's
383        done per SCC rather than for the whole Rec
384 
385 
386   
387 
388]
389[Copy the right ghc-pkg.bin into bindists
390Ian Lynagh <igloo@earth.li>**20080305224020]
391[Add a missing endif to the bindist Makefile
392Ian Lynagh <igloo@earth.li>**20080305221136]
393[Fix bashisms; patch from Bernie Pope
394Ian Lynagh <igloo@earth.li>**20080305134556]
395[Improve no-type-signature warning
396Ian Lynagh <igloo@earth.li>**20080305011242
397 Instead of
398    Warning: Definition but no type signature for `.+.'
399             Inferred type: .+. :: forall a. a
400 we now say
401     Warning: Definition but no type signature for `.+.'
402              Inferred type: (.+.) :: forall a. a
403]
404[Fix typo
405Ian Lynagh <igloo@earth.li>**20080302151339]
406[In bindists, look in the right place to see if we have provided docs
407Ian Lynagh <igloo@earth.li>**20080302140408
408 Fixes trac #1971: unjustified warning about documentation
409]
410[Remove GADT refinements, part 3
411Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080229035740]
412[MacOS installer: Uninstaller must be able to deal with ATiger receipts
413Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080228050707]
414[Add and use seqBitmap when constructing SRTs
415Ian Lynagh <igloo@earth.li>**20080227144505
416 This roughly halves memory usage when compiling
417     module Foo where
418 
419     foo :: Double -> Int
420     foo x | x == 1 = 1
421     ...
422     foo x | x == 500 = 500
423 without optimisation.
424]
425[Whitespace
426Ian Lynagh <igloo@earth.li>**20080220191230]
427[Remove GADT refinements, part 2
428Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080228055326]
429[Fix Trac #2130: improve derived Ord for primmitive types
430simonpj@microsoft.com**20080228121106
431 
432 This patch does two things:
433 
434 * (Minor): in TcGenDeriv.careful_compare_Case, test for less-than before
435   equality. This should reduce the number of dynamic tests, and also gives
436   more scope for optimisation, since less-than tells us more than equality.
437 
438 * (More important): add special-case derived code for data types that are
439   simple wrappers of primitive types. See
440        Note [Comparision of primitive types]
441   This fixes Trac 2130.
442 
443 However see also Trac #2132, which is not addressed here.
444 
445]
446[Comments only
447simonpj@microsoft.com**20080228111301]
448[add a note about SMP execution not being supported with profiling
449Simon Marlow <simonmar@microsoft.com>**20080228112209]
450[Enable -prof -threaded (#886)
451Simon Marlow <simonmar@microsoft.com>**20080228111631
452 It turns out that -prof -threaded works (modulo some small changes),
453 because all the data structures used in profiling are only accessed by
454 one thread at a time, at long as we don't use +RTS -N2 or higher.  So
455 this patch enables the use of -prof -threaded, but an error is given
456 if you ask for more than one CPU with +RTS -N.
457]
458[Wibble to error message (stmt of do block or comprehension)
459simonpj@microsoft.com**20080228083104]
460[Make explicit lists more fusable
461Max Bolingbroke <batterseapower@hotmail.com>**20080228083050]
462[Add comments explaining flags
463simonpj@microsoft.com**20080228082935]
464[Remove GADT refinements, part 1
465Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080228045351
466 - A while ago, I changed the type checker to use equality constraints together
467   with implication constraints to track local type refinement due to GADT
468   pattern matching.  This patch is the first of a number of surgical strikes
469   to remove the resulting dead code of the previous GADT refinement machinery.
470 
471   Hurray to code simplification!
472]
473[Eliminate SkolemOccurs skolems only after checkLoop reached a fixed point
474Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080228001957
475 - See test case indexed-types/should_fail/SkolemOccursLoop, which sends the
476   type checker into an endless loop without this fix
477]
478[Fix Trac #2126: re-order tests (easy)
479simonpj@microsoft.com**20080227163202]
480[Fix Trac #2111: improve error handling for 'rec' in do-notation
481simonpj@microsoft.com**20080226175635
482 
483 We were not dealing correctly with all the combinations of
484        do notation
485        mdo notation
486        arrow notation
487 in combination with 'rec' Stmts.
488 
489 I think this patch sorts it out.
490 
491]
492[Remove gaw comment
493simonpj@microsoft.com**20080226175305]
494[Fix Trac #1899; missing equality check in typechecker's constraint simplifier
495simonpj@microsoft.com**20080226174743
496 
497 This patch fixes a missing equality check (uifying type variable b=b) in
498 the new constraint simplifier in TcTyFuns.  As it stands, we were making
499 'b' point to itself, which subsequently led to an infinite loop when
500 zonking.  Test is T1899.hs
501 
502 
503 
504]
505[FIX #2122: file locking bug
506Simon Marlow <simonmar@microsoft.com>**20080226104650
507 Second and subsequent readers weren't being inserted into the
508 fd->lock hash table, which meant that the file wasn't correctly
509 unlocked when the Handles were closed.
510]
511[documentation improvements from Frederik Eaton
512Simon Marlow <simonmar@microsoft.com>**20080226102612]
513[markup fix
514Simon Marlow <simonmar@microsoft.com>**20080226102558]
515[Mac installer: cross-compile for 10.4
516Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080225093734]
517[Make UniqFM non-strict again while we work out what we're doing.
518Ian Lynagh <igloo@earth.li>**20080225171305
519 This "fixes" the very-slow problem we have when compiling dictionaries.
520]
521[Fix Trac #2082
522simonpj@microsoft.com**20080219173410]
523[Fix Trac #2114: error reporting for 'forall' without appropriate flags
524simonpj@microsoft.com**20080222182646]
525[Improve error messages from type-checking data constructors
526simonpj@microsoft.com**20080222182514
527 
528 This addresses Trac #2112
529 
530]
531[Add type sigs and minor refactoring
532simonpj@microsoft.com**20080222182305]
533[FIX #2073: Don't add empty lines to GHCI's history
534Ian Lynagh <igloo@earth.li>**20080224143256]
535[FIX #1977: Check to see if $(bindir) is in the path
536Ian Lynagh <igloo@earth.li>**20080224134334
537 Before telling the user to add it, when installing a bindist, check to
538 see if $(bindir) is already in the path.
539]
540[Fix warnings in Simplify
541Ian Lynagh <igloo@earth.li>**20080222150318]
542[Whitespace
543Ian Lynagh <igloo@earth.li>**20080222140755]
544[Add a comment
545Ian Lynagh <igloo@earth.li>**20080220205844]
546[Fix most of the warnings in StgLint
547Ian Lynagh <igloo@earth.li>**20080220171858]
548[Whitespace
549Ian Lynagh <igloo@earth.li>**20080220171140]
550[CprAnalyse is warning-free
551Ian Lynagh <igloo@earth.li>**20080220170843]
552[Whitespace
553Ian Lynagh <igloo@earth.li>**20080220170650]
554[Fix #1984: missing context switches
555Simon Marlow <simonmar@microsoft.com>**20080219102212]
556[fix unregisterised stage 2 build
557Simon Marlow <simonmar@microsoft.com>**20080219093407]
558[Mac OS X deployment target: piping opts through Makefiles
559Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080221224449]
560[Rewrite fixTvSubstEnv so it iteratively applies its substition
561Ian Lynagh <igloo@earth.li>**20080220153752
562 This fixes a stack overflow when using strict UniqFMs. It might be
563 possible to rewrite it more efficiently, or to avoid needing it in the
564 first place.
565]
566[Typo
567Ian Lynagh <igloo@earth.li>**20080219204117]
568[Make some more modules use LazyUniqFM instead of UniqFM
569Ian Lynagh <igloo@earth.li>*-20080207015714
570 If these modules use UniqFM then we get a stack overflow when compiling
571 modules that use fundeps. I haven't tracked down the actual cause.
572]
573[Add configure option --with-macos-deployment-target
574Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080219031755]
575[Fix warning in SCCfinal
576Ian Lynagh <igloo@earth.li>**20080219020429]
577[Whitespace only
578Ian Lynagh <igloo@earth.li>**20080219015259]
579[Fix warnings in UniqSupply
580Ian Lynagh <igloo@earth.li>**20080219013233]
581[Whitespace only
582Ian Lynagh <igloo@earth.li>**20080219012417]
583[Fix non-missing-signature warnings in MkId
584Ian Lynagh <igloo@earth.li>**20080219010917]
585[Whitespace only
586Ian Lynagh <igloo@earth.li>**20080219005042]
587[Whitespace only
588Ian Lynagh <igloo@earth.li>**20080218234559]
589[Make literals in the syntax tree strict
590Ian Lynagh <igloo@earth.li>**20080218183424]
591[Make the parser a bit stricter
592Ian Lynagh <igloo@earth.li>**20080218175514]
593[seq what we actually want to seq, not the seq'ing function
594Ian Lynagh <igloo@earth.li>**20080213131857]
595[attempt to fix #2098 (PPC pepple please test & fix)
596Simon Marlow <simonmar@microsoft.com>**20080218115748]
597[FIX #2023: substitute for $topdir in haddockInterfaces and haddockHTMLs
598Simon Marlow <simonmar@microsoft.com>**20080209143648]
599[All installed Haskell prgms have an inplace and an installed version
600Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080218061809
601 - GHC installs a range of compiled Haskell programs in addition to the actual
602   compiler.  To ensure that they all run on the platform targeted by the build
603   (which may have different libraries installed than the build host), we need
604   to make sure that all compiled Haskell code going into an install is build
605   with the stage 1 compiler, not the bootstrap compiler.  Getting this right
606   is especially important on the Mac to enable builds that work on Mac OS X
607   versions that are older than the one performing the build.
608 - For all installed utils implemented in Haskell (i.e., ghc-pkg, hasktags,
609   hsc2hs, runghc, hpc, and pwd) we compile two versions, an inplace version
610   and a version for installation.  The former is build by the bootstrap
611   compiler during the stage 1 build and the latter is build by the stage 1
612   compiler during the stage 2 build.
613 - This is really very much as the setup for ghc itself, only that we don't use
614   separate stage1/ and stage2/ build directories.  Instead, we clean before
615   each build.  CAVEAT: This only works properly if invoked from the
616   toplevel Makefile.
617 - Instead of UseStage1=YES (as used by the previous binary-dist-specific
618   recompilation), we now use the same $(stage) variables as used for the
619   compiler proper - to increase uniformity and to avoid extra conditionals for
620   the install target.
621]
622[Fix warnings in Pretty
623Ian Lynagh <igloo@earth.li>**20080218214151]
624[Fix warnings in FiniteMap
625Ian Lynagh <igloo@earth.li>**20080218200408]
626[Fix warnings in Binary
627Ian Lynagh <igloo@earth.li>**20080218193645]
628[Fix warnings in StringBuffer
629Ian Lynagh <igloo@earth.li>**20080218191846]
630[Fix warnings in IOEnv
631Ian Lynagh <igloo@earth.li>**20080218190849]
632[Fix warnings in FastString, and check for empty case in head/tail
633Ian Lynagh <igloo@earth.li>**20080218144707]
634[Whitespace only
635Ian Lynagh <igloo@earth.li>**20080218112232]
636[Whitespace only
637Ian Lynagh <igloo@earth.li>**20080218112101]
638[Whitespace only
639Ian Lynagh <igloo@earth.li>**20080218111941]
640[Whitespace only
641Ian Lynagh <igloo@earth.li>**20080218110241]
642[Whitespace only
643Ian Lynagh <igloo@earth.li>**20080218105909]
644[Whitespace only
645Ian Lynagh <igloo@earth.li>**20080218105343]
646[Tweak whitespace
647Ian Lynagh <igloo@earth.li>**20080217175133]
648[Fix typo
649Ian Lynagh <igloo@earth.li>**20080217175021]
650[Print better error message for reading External Core
651Tim Chevalier <chevalier@alum.wellesley.edu>**20080217223844
652 
653 GHC panicked with a "Prelude.undefined" error message if you tried to
654 compile a .hcr file. Since support for reading ExternalCore simply does
655 not exist, I added an error message to say that.
656 
657 Please merge to 6.8. Thanks.
658 
659]
660[Documentation only: update External Core section of user guide
661Tim Chevalier <chevalier@alum.wellesley.edu>**20080217213206
662 
663 I updated the External Core section of the user guide, mostly to reflect
664 that the input path is broken and there are no firm plans to fix it.
665]
666[Generate foo(void) rather than foo() in FFI stub files
667Ian Lynagh <igloo@earth.li>**20080216141031
668 -Wstrict-prototypes warns about the latter.
669 Patch from pcc in trac #2100.
670]
671[Make hasktags -Wall clean
672Ian Lynagh <igloo@earth.li>**20080215160309]
673[Whitespace only
674Ian Lynagh <igloo@earth.li>**20080215155122]
675[Fix building hasktags
676Ian Lynagh <igloo@earth.li>**20080215154415]
677[Revert an accidental comment change
678Ian Lynagh <igloo@earth.li>**20080215153558]
679[find module names, fix for get constructor names, find class names as well, sort ctag files
680marco-oweber@gmx.de**20080212232157]
681[added TODO item and link to alternatives on wiki
682marco-oweber@gmx.de**20080212231853]
683[Make more arch-specific #if's exclusive with #else #error cases
684Duncan Coutts <duncan@haskell.org>**20080207170020
685 So when the next person compiles the Sparc NCG it should fail more
686 obviously at compile time rather than panicing at runtime.
687 Plus one obvious fix for LocalReg gaining an extra param
688 Missing bits of Sparc NCG:
689   * genSwitch for generating jump tables. This is the most tricky one.
690   * ALLOCATABLE_REGS_INTEGER and ALLOCATABLE_REGS_DOUBLE just requires
691     finding and verifying the values. The nearby comment describes how.
692   * isRegRegMove and mkRegRegMoveInstr. Sparc uses Or for int move, check
693     what this is supposed to do for single and double float types.
694   * regDotColor. Probably just copy the ppc impl.
695]
696[Document code a bit better
697Ian Lynagh <igloo@earth.li>**20080213161106]
698[Add a necessary [] error case
699Ian Lynagh <igloo@earth.li>**20080213154232]
700[\e -> f e   ===>    f
701Ian Lynagh <igloo@earth.li>**20080213153835]
702[Fixed warnings in parser/Lexer.x
703Twan van Laarhoven <twanvl@gmail.com>**20080204021131
704 
705 The -w flag can not be removed, because alex also generates code with lots of warnings.
706]
707[Monadification and Fixed warnings in parser/RdrHsSyn, except for incomplete pattern matches
708Twan van Laarhoven <twanvl@gmail.com>**20080204015053]
709[Fixed warnings in vectorise/VectMonad
710Twan van Laarhoven <twanvl@gmail.com>**20080203223932]
711[Fix typo in message
712Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080212052219]
713[Remove old code to get TMPDIR, use System.Directory.getTemporaryDirectory
714Simon Marlow <simonmar@microsoft.com>**20080207143915]
715[Mac installer: Added XCODE_EXTRA_CONFIGURE_ARGS
716Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080211115201]
717[Mac installer: make Uninstaller a bit more robust
718Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080211091119]
719[Mac installer: add comprehensive licencing information
720Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080211061450]
721[Force -s on ar in xcode builds
722Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080211022329]
723[Fix warning (FIX validate)
724Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080211040211]
725[Symbolic tags for simplifier phases
726Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080211032350
727 
728 Every simplifier phase can have an arbitrary number of tags and multiple
729 phases can share the same tags. The tags can be used as arguments to
730 -ddump-simpl-phases to specify which phases are to be dumped.
731 For instance, -ddump-simpl-phases=main will dump the output of phases 2, 1 and
732 0 of the initial simplifier run (they all share the "main" tag) while
733 -ddump-simpl-phases=main:0 will dump only the output of phase 0 of that run.
734 
735 At the moment, the supported tags are:
736 
737   main                 The main, staged simplifier run (before strictness)
738   post-worker-wrapper  After the w/w split
739   post-liberate-case   After LiberateCase
740   final                Final clean-up run
741 
742 The names are somewhat arbitrary and will change in the future.
743]
744[Allow -ddump-simpl-phases to specify which phases to dump
745Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080211020630
746 
747 We can now say -ddump-simpl-phases=1,2 to dump only these two phases and
748 nothing else.
749]
750[Fixed warnings in parser/ParserCoreUtils
751Twan van Laarhoven <twanvl@gmail.com>**20080204022226]
752[Fixed warnings in hsSyn/Convert, except for incomplete pattern matches
753Twan van Laarhoven <twanvl@gmail.com>**20080204000510]
754[Fixed warnings in types/Unify
755Twan van Laarhoven <twanvl@gmail.com>**20080203224228]
756[Fixed warnings in ndpFlatten/FlattenInfo
757Twan van Laarhoven <twanvl@gmail.com>**20080203224159]
758[Fixed warnings in vectorise/VectBuiltIn
759Twan van Laarhoven <twanvl@gmail.com>**20080203224043]
760[Fixed warnings in vectorise/VectCore
761Twan van Laarhoven <twanvl@gmail.com>**20080203224003]
762[Fixed warnings in deSugar/DsExpr, except for incomplete pattern matches
763Twan van Laarhoven <twanvl@gmail.com>**20080203214848]
764[Fixed warnings in deSugar/DsGRHSs, except for incomplete pattern matches
765Twan van Laarhoven <twanvl@gmail.com>**20080203214602]
766[Fixed warnings in deSugar/DsListComp, except for incomplete pattern matches
767Twan van Laarhoven <twanvl@gmail.com>**20080203211253]
768[Fixed warnings in deSugar/Check, except for incomplete pattern matches
769Twan van Laarhoven <twanvl@gmail.com>**20080203210814]
770[Fixed warnings in deSugar/Match, except for incomplete pattern matches
771Twan van Laarhoven <twanvl@gmail.com>**20080203210533]
772[Fixed warnings in deSugar/MatchCon, except for incomplete pattern matches
773Twan van Laarhoven <twanvl@gmail.com>**20080203210402]
774[Fixed warnings in deSugar/DsMonad
775Twan van Laarhoven <twanvl@gmail.com>**20080203210339]
776[Wibble the Makefile: DQ, \" and '"'
777Ian Lynagh <igloo@earth.li>**20080210171104]
778[Don't use -w when compiling Config.hs
779Ian Lynagh <igloo@earth.li>**20080210171050]
780[Add typesigs to Config.hs
781Ian Lynagh <igloo@earth.li>**20080210170925]
782[Allow skipping "make clean" or only re-running the testsuite in validate
783Ian Lynagh <igloo@earth.li>**20080210162842]
784[Mac installer: added support for full docs
785Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080209110727]
786[Fixed permissions and other cleanup in Mac installer package
787Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080207030528]
788[Adjust error message (Trac #2079)
789simonpj@microsoft.com**20080207171622]
790[Redo inlining patch, plus some tidying up
791simonpj@microsoft.com**20080207155102
792 
793 This adds back in the patch
794   * UNDO: Be a little keener to inline
795 
796 It originally broke the compiler because it tickled a Cmm optimisation bug,
797 now fixed. 
798 
799 In revisiting this I have also make inlining a bit cleverer, in response to
800 more examples from Roman. In particular
801 
802   * CoreUnfold.CallCtxt is a data type that tells something about
803     the context of a call.  The new feature is that if the context is
804     the argument position of a function call, we record both
805        - whether the function (or some higher up function) has rules
806        - what the argument discount in that position is
807     Either of these make functions keener to inline, even if it's
808     in a lazy position
809 
810   * There was conseqential tidying up on the data type of CallCont.
811     In particular I got rid of the now-unused LetRhsFlag
812 
813 
814 
815]
816[Comments, and a type signature
817simonpj@microsoft.com**20080125174203]
818[FIX #2080: an optimisation to remove a widening was wrong
819Simon Marlow <simonmar@microsoft.com>**20080208124219]
820[Remove some of the old compat stuff now that we assume GHC 6.4
821Simon Marlow <simonmar@microsoft.com>**20080208124132]
822[Allow runghc to take input from stdin, just like Ruby & Python
823Simon Marlow <simonmar@microsoft.com>**20080207145830]
824[remove a bogus assertion
825Simon Marlow <simonmar@microsoft.com>**20080207143805]
826[Convert more UniqFM's back to LazyUniqFM's
827Ian Lynagh <igloo@earth.li>**20080207144736
828 These fix these failures:
829    break008(ghci)
830    break009(ghci)
831    break026(ghci)
832    ghci.prog009(ghci)
833    ghci025(ghci)
834    print007(ghci)
835    prog001(ghci)
836    prog002(ghci)
837    prog003(ghci)
838 at least some of which have this symptom:
839     Exception: expectJust prune
840]
841[Be a bit more consistent about what's a set and what's a map
842Ian Lynagh <igloo@earth.li>**20080205211909]
843[Make some more modules use LazyUniqFM instead of UniqFM
844Ian Lynagh <igloo@earth.li>**20080207015714
845 If these modules use UniqFM then we get a stack overflow when compiling
846 modules that use fundeps. I haven't tracked down the actual cause.
847]
848[Remove unused import
849Ian Lynagh <igloo@earth.li>**20080207002544]
850[Make UniqFM strict in its elements
851Ian Lynagh <igloo@earth.li>**20080206141620]
852[Use uniqSetToList rather than eltsUFM
853Ian Lynagh <igloo@earth.li>**20080206000043]
854[Use isEmptyUniqSet rather than isNullUFM
855Ian Lynagh <igloo@earth.li>**20080205205336]
856[Added Uninstaller
857Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080206073054]
858[FIX BUILD on x86_64
859Simon Marlow <simonmar@microsoft.com>**20080206113936]
860[matchesPkg: match against the pkg Id (foo-1.0) not just the package name (foo)
861Simon Marlow <simonmar@microsoft.com>**20080205090429
862 Fixes the ghcpkg01 test.
863]
864[Teach cheapEqExpr about casts
865Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080206035007
866 
867 Previously, cheapEqExpr would always return False if it encountered a cast.
868 This was bad for two reasons. Firstly, CSE (which uses cheapEqExpr to compare
869 expressions) never eliminated expressions which contained casts and secondly,
870 it was inconsistent with exprIsBig. This patch fixes this.
871]
872[Inject implicit bindings before the simplifier (Trac #2070)
873simonpj@microsoft.com**20080205165507
874 
875 With constructor unpacking, it's possible for constructors and record
876 selectors to have non-trivial code, which should be optimised before
877 being fed to the code generator.  Example:
878 
879   data Foo = Foo { get :: {-# UNPACK #-} !Int }
880 
881 Then we do not want to get this:
882   T2070.get =
883     \ (tpl_B1 :: T2070.Foo) ->
884     case tpl_B1 of tpl1_B2 { T2070.Foo rb_B4 ->
885         let {
886           ipv_B3 [Just S] :: GHC.Base.Int
887           [Str: DmdType m]
888           ipv_B3 = GHC.Base.I# rb_B4
889         } in  ipv_B3 }
890 
891 If this goes through to codegen, we'll generate bad code.  Admittedly,
892 this only matters when the selector is used in a curried way (e.g
893 map get xs), but nevertheless it's silly.
894 
895 This patch injects the implicit bindings in SimplCore, before the
896 simplifier runs.  That slows the simplifier a little, because it has
897 to look at some extra bindings; but it's probably a slight effect.
898 If it turns out to matter I suppose we can always inject them later,
899 e.g. just before the final simplification.
900 
901 An unexpected (to me) consequence is that we get some specialisation rules
902 for class-method selectors.  E.g. we get a rule
903        RULE  (==) Int dInt = eqInt
904 There's no harm in this, but not much benefit either, because the
905 same result will happen when we inline (==) and dInt, but it's perhaps
906 more direct.
907 
908 
909]
910[Make do-notation a bit more flexible (Trac #1537)
911simonpj@microsoft.com**20080205164816
912 
913 This is a second attempt to fix #1537: to make the static typechecking
914 of do-notation behave just like the desugared version of the same thing.
915 This should allow parameterised monads to work properly (see Oleg's comment
916 in the above ticket).
917 
918 We can probably merge to 6.8.3 if it goes smoothly.
919 
920 Incidentally, the resulting setup suffers from greater type ambiguity
921 if (>>=) has a very general type.  So test rebindable6 no longer works
922 (at least not without more type signatures), and rebindable5 requires
923 extra functional dependencies.  But they are weird tests.
924 
925]
926[White space only
927simonpj@microsoft.com**20080205163702]
928[FIX #2047: Windows (and older Unixes): align info tables to 4 bytes, not 2
929Simon Marlow <simonmar@microsoft.com>**20080205101425
930 Perhaps in the past '.align 2' meant align to 4 bytes, but nowadays it
931 means align to 2 bytes.  The compacting collector requires info tables
932 to be aligned to 4 bytes, because it stores tag bits in the low 2
933 bits.
934 
935 This only affects -fvia-C - the native code generator was already
936 emitting the correct alignment.  The incorrect alignment might well
937 have been adversely affecting performance with -fvia-C on Windows.
938]
939[Most of installer for framework on system volume
940Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080205073738]
941[Split into two types of Mac installer specs
942Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080205052504]
943[Lambda logo for packages
944Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080205052017
945 - This image is in the public domain, cf
946   http://en.wikipedia.org/wiki/Image:Greek_lc_lamda_thin.svg
947]
948[xcode build target for fixed /Library/Frameworks inst
949Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080205030047
950 - Also moving all MacOS-specific Makefile components into
951   distrib/MacOS/Makefile
952]
953[First stab at an installer package for the Mac
954Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080202134853
955 - GHC as a Mac framework
956 - I tried to make a package where the user could choose whether to install
957   in /Library/Frameworks or ~/Library/Frameworks (to allow installation for
958   non-admins).  However, that doesn't work well without including the whole
959   distribution twice as the decision as to whether the admin password needs
960   to be entered is made at packaging time (not at install time).
961]
962[Support for using libffi to implement FFI calls in GHCi (#631)
963Simon Marlow <simonmar@microsoft.com>**20080204161053
964 This means that an unregisterised build on a platform not directly
965 supported by GHC can now have full FFI support using libffi.
966 
967 Also in this commit:
968 
969  - use PrimRep rather than CgRep to describe FFI args in the byte
970    code generator.  No functional changes, but PrimRep is more correct.
971 
972  - change TyCon.sizeofPrimRep to primRepSizeW, which is more useful
973]
974[Use the correct libffi type for pointers
975Simon Marlow <simonmar@microsoft.com>**20080104131936]
976[Fix DEBUG build
977simonpj@microsoft.com**20080204160514]
978[Make seqAlts actually seq everything
979Ian Lynagh <igloo@earth.li>**20080203134321]
980[Strictness tweaks
981Ian Lynagh <igloo@earth.li>**20080203024836]
982[Whitespace
983Ian Lynagh <igloo@earth.li>**20080203003929]
984[Whitespace only
985Ian Lynagh <igloo@earth.li>**20080202213936]
986[Tweak strictness
987Ian Lynagh <igloo@earth.li>**20080202213542]
988[Fix warnings in deSugar/DsBinds
989Ian Lynagh <igloo@earth.li>**20080130144014]
990[UNDO: Be a little keener to inline
991Simon Marlow <simonmar@microsoft.com>**20080201144810
992 
993 This patch caused at least the following test failures:
994    1744(normal)
995    ghci028(ghci)
996    unicode001(normal)
997 and additionally made the stage3 build fail. 
998 
999 A little more validation please!
1000 
1001 I didn't find the exact cause of the failure yet, but it appears that
1002 the Lexer is miscompiled in some strange way.  If any of {Encoding,
1003 StringBuffer, or Lexer} are compiled without -O, the problem goes
1004 away.
1005]
1006[FIX BUILD with GHC 6.4.x
1007Simon Marlow <simonmar@microsoft.com>**20080201122753]
1008[FIX BUILD with ghc-6.4.x
1009Simon Marlow <simonmar@microsoft.com>**20080201114302]
1010[Some tweaks to the building from source section
1011Simon Marlow <simonmar@microsoft.com>**20080129091132]
1012[Warning clean up
1013Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080131024845]
1014[Move spiltDmdTy within module (no change in code)
1015simonpj@microsoft.com**20080129011438]
1016[Fix typo where I forgot the new substitution
1017simonpj@microsoft.com**20080128213856]
1018[Add missing (error) case in isIrrefutablePat
1019simonpj@microsoft.com**20080128213429]
1020[Add missing (error) case in pprConDecl
1021simonpj@microsoft.com**20080128213409]
1022[Fix warnings on non-Windows
1023Ian Lynagh <igloo@earth.li>**20080130114640]
1024[Fixed warnings in main/ErrUtils
1025Twan van Laarhoven <twanvl@gmail.com>**20080127015419]
1026[Fixed warnings in main/HeaderInfo, except for incomplete pattern matches
1027Twan van Laarhoven <twanvl@gmail.com>**20080127014118]
1028[Fixed warnings in main/DynFlags
1029Twan van Laarhoven <twanvl@gmail.com>**20080127012443]
1030[Fixed warnings in hsSyn/HsSyn
1031Twan van Laarhoven <twanvl@gmail.com>**20080127004626]
1032[Fixed warnings in hsSyn/HsUtils
1033Twan van Laarhoven <twanvl@gmail.com>**20080127004506]
1034[Fixed warnings in hsSyn/HsTypes
1035Twan van Laarhoven <twanvl@gmail.com>**20080127004419]
1036[Fixed warnings in hsSyn/HsDoc
1037Twan van Laarhoven <twanvl@gmail.com>**20080127004359]
1038[Fixed warnings in hsSyn/HsLit
1039Twan van Laarhoven <twanvl@gmail.com>**20080127004330]
1040[Fixed warnings in hsSyn/HsImpExp, except for incomplete pattern matches
1041Twan van Laarhoven <twanvl@gmail.com>**20080127004254]
1042[Fixed warnings in hsSyn/HsPat, except for incomplete pattern matches
1043Twan van Laarhoven <twanvl@gmail.com>**20080127004209]
1044[Fixed warnings in hsSyn/HsBinds, except for incomplete pattern matches
1045Twan van Laarhoven <twanvl@gmail.com>**20080127004119]
1046[Fixed warnings in hsSyn/HsDecls, except for incomplete pattern matches
1047Twan van Laarhoven <twanvl@gmail.com>**20080127004046]
1048[Fixed warnings in simplCore/CSE
1049Twan van Laarhoven <twanvl@gmail.com>**20080126233918]
1050[Fixed warnings in profiling/CostCentre, except for incomplete pattern matches
1051Twan van Laarhoven <twanvl@gmail.com>**20080126232841]
1052[Fixed warnings in types/InstEnv
1053Twan van Laarhoven <twanvl@gmail.com>**20080126231732]
1054[Fixed warnings in types/FamInstEnv
1055Twan van Laarhoven <twanvl@gmail.com>**20080126231426]
1056[Fixed warnings in simplStg/SRT, except for incomplete pattern matches
1057Twan van Laarhoven <twanvl@gmail.com>**20080126230900]
1058[Fixed warnings in simplStg/StgStats, except for incomplete pattern matches
1059Twan van Laarhoven <twanvl@gmail.com>**20080126230830]
1060[Fixed warnings in simplStg/SimplStg
1061Twan van Laarhoven <twanvl@gmail.com>**20080126230805]
1062[Fixed warnings in vectorise/VectUtils
1063Twan van Laarhoven <twanvl@gmail.com>**20080126223033]
1064[Fixed warnings in types/Generics
1065Twan van Laarhoven <twanvl@gmail.com>**20080126222817]
1066[Fixed warnings in stgSyn/StgSyn
1067Twan van Laarhoven <twanvl@gmail.com>**20080126221010]
1068[Fixed warnings in types/TyCon
1069Twan van Laarhoven <twanvl@gmail.com>**20080126215800]
1070[Fixed warnings in types/Type, except for incomplete pattern matches
1071Twan van Laarhoven <twanvl@gmail.com>**20080126214126]
1072[Fixed warnings in types/TypeRep
1073Twan van Laarhoven <twanvl@gmail.com>**20080126211722]
1074[Fixed warnings in types/FunDeps
1075Twan van Laarhoven <twanvl@gmail.com>**20080126203050]
1076[Fixed warnings in basicTypes/OccName
1077Twan van Laarhoven <twanvl@gmail.com>**20080126202737]
1078[Fixed warnings in basicTypes/RdrName
1079Twan van Laarhoven <twanvl@gmail.com>**20080126202104]
1080[Fixed warnings in utils/Encoding
1081Twan van Laarhoven <twanvl@gmail.com>**20080126201235]
1082[Fixed warnings in utils/Digraph
1083Twan van Laarhoven <twanvl@gmail.com>**20080126200754]
1084[Fixed warnings in basicTypes/Demand
1085Twan van Laarhoven <twanvl@gmail.com>**20080126195929]
1086[Fixed warnings in basicTypes/Unique
1087Twan van Laarhoven <twanvl@gmail.com>**20080126195459]
1088[Fixed warnings in coreSyn/ExternalCore
1089Twan van Laarhoven <twanvl@gmail.com>**20080126194759]
1090[Fixed warnings in simplCore/OccurAnal
1091Twan van Laarhoven <twanvl@gmail.com>**20080126194426]
1092[Fixed warnings in basicTypes/BasicTypes
1093Twan van Laarhoven <twanvl@gmail.com>**20080126194255]
1094[Fixed warnings in basicTypes/Literal, except for incomplete pattern matches
1095Twan van Laarhoven <twanvl@gmail.com>**20080126193209]
1096[Fixed warnings in basicTypes/Id
1097Twan van Laarhoven <twanvl@gmail.com>**20080126192817]
1098[Fixed warnings in basicTypes/Var
1099Twan van Laarhoven <twanvl@gmail.com>**20080126191939]
1100[Fixed warnings in basicTypes/Name
1101Twan van Laarhoven <twanvl@gmail.com>**20080126191501]
1102[Fixed warnings in types/Coercion, except for incomplete pattern matches
1103Twan van Laarhoven <twanvl@gmail.com>**20080126190735]
1104[Fixed warnings in coreSyn/MkExternalCore, except for incomplete pattern matches
1105Twan van Laarhoven <twanvl@gmail.com>**20080126012807]
1106[Fixed warnings in coreSyn/PprExternalCore
1107Twan van Laarhoven <twanvl@gmail.com>**20080125162418]
1108[Fixed warnings in coreSyn/CoreUtils, except for incomplete pattern matches
1109Twan van Laarhoven <twanvl@gmail.com>**20080125161800]
1110[Fixed warnings in coreSyn/CoreUnfold
1111Twan van Laarhoven <twanvl@gmail.com>**20080125161308]
1112[Fixed warnings in coreSyn/CorePrep
1113Twan van Laarhoven <twanvl@gmail.com>**20080125161051]
1114[Fixed warnings in coreSyn/CoreSubst
1115Twan van Laarhoven <twanvl@gmail.com>**20080125161002]
1116[Fixed warnings in coreSyn/CoreLint
1117Twan van Laarhoven <twanvl@gmail.com>**20080125160809]
1118[Fixed warnings in coreSyn/CoreFVs, except for incomplete pattern matches
1119Twan van Laarhoven <twanvl@gmail.com>**20080125160716]
1120[Fixed warnings in types/Class
1121Twan van Laarhoven <twanvl@gmail.com>**20080125160438]
1122[Fix warnings in coreSyn/CoreTidy
1123Twan van Laarhoven <twanvl@gmail.com>**20080118165559]
1124[Fix warnings in coreSyn/CoreSyn
1125Twan van Laarhoven <twanvl@gmail.com>**20080118165506]
1126[Strictness tweaks
1127Ian Lynagh <igloo@earth.li>**20080125174347]
1128[Parser tweak
1129Ian Lynagh <igloo@earth.li>**20080125145847]
1130[A couple more parser tweaks
1131Ian Lynagh <igloo@earth.li>**20080125143421]
1132[Make comb[234] strict
1133Ian Lynagh <igloo@earth.li>**20080124183149]
1134[Strictness tweaks
1135Ian Lynagh <igloo@earth.li>**20080124183142]
1136[Tell happy to be strict
1137Ian Lynagh <igloo@earth.li>**20080124165214]
1138[Make the Parser Monad's return strict
1139Ian Lynagh <igloo@earth.li>**20080124155827]
1140[Get a bit of sharing
1141Ian Lynagh <igloo@earth.li>**20080124152000]
1142[Make sL strict in /both/ arguments to L
1143Ian Lynagh <igloo@earth.li>**20080124151223]
1144[A touch more strictness in the parser
1145Ian Lynagh <igloo@earth.li>**20080124150137]
1146[Add a bit of strictness to the parser
1147Ian Lynagh <igloo@earth.li>**20080124145311]
1148[Use nilFS
1149Ian Lynagh <igloo@earth.li>**20080123211917]
1150[Whitespace only
1151Ian Lynagh <igloo@earth.li>**20080123174153]
1152[Fix #2062: foldr1 problem in hpc tool
1153andy@galois.com**20080126210607]
1154[Fix do-notation so that it works with -DDEBUG
1155simonpj@microsoft.com**20080125163101]
1156[Be a little keener to inline
1157simonpj@microsoft.com**20080125104616
1158 
1159 This is really a bug.  A saturated call in an "interesting" context
1160 should inline, but there was a strange "n_val_args > 0" condition, which
1161 was stopping it.  Reported by Roman.
1162 
1163 
1164]
1165[Fix the build
1166Ian Lynagh <igloo@earth.li>**20080124141800
1167 Work around various problems caused by some of the monadification patches
1168 not being applied.
1169]
1170[Replace ioToTcRn with liftIO
1171Twan van Laarhoven <twanvl@gmail.com>**20080117220553]
1172[Remove unused custom versions of monad combinators from IOEnv
1173Twan van Laarhoven <twanvl@gmail.com>**20080117215835]
1174[Remove unused custom versions of monad combinators from UniqSupply
1175Twan van Laarhoven <twanvl@gmail.com>**20080117215752]
1176[Replace remaining uses of ioToIOEnv by liftIO, remove ioToIOEnv
1177Twan van Laarhoven <twanvl@gmail.com>**20080117215233]
1178[Monadify iface/BuildTyCl: use return
1179Twan van Laarhoven <twanvl@gmail.com>**20080117215036]
1180[Monadify iface/TcIface: use do, return, applicative, standard monad functions
1181Twan van Laarhoven <twanvl@gmail.com>**20080117214938]
1182[Monadify iface/MkIface: use do, return and standard monad functions
1183Twan van Laarhoven <twanvl@gmail.com>**20080117214441]
1184[Monadify iface/LoadIface: use return and liftIO
1185Twan van Laarhoven <twanvl@gmail.com>**20080117214233]
1186[Monadify iface/IfaceEnv: use do, return and standard monad functions
1187Twan van Laarhoven <twanvl@gmail.com>**20080117214041]
1188[Monadify typecheck/TcRnMonad: use return, standard monad functions and liftIO
1189Twan van Laarhoven <twanvl@gmail.com>**20080117213850]
1190[Monadify typecheck/TcEnv: use do, return, applicative, standard monad functions
1191Twan van Laarhoven <twanvl@gmail.com>**20080117213636]
1192[Monadify typecheck/TcRnDriver: use return and standard monad functions
1193Twan van Laarhoven <twanvl@gmail.com>**20080117213352]
1194[Monadify typecheck/TcMatches: use return and standard monad functions
1195Twan van Laarhoven <twanvl@gmail.com>**20080117213307]
1196[Monadify typecheck/TcMType: use do, return, applicative, standard monad functions
1197Twan van Laarhoven <twanvl@gmail.com>**20080117213242]
1198[Monadify typecheck/TcInstDcls: use do, return and standard monad functions
1199Twan van Laarhoven <twanvl@gmail.com>**20080117213040]
1200[Monadify typecheck/TcHsType: use do, return and standard monad functions
1201Twan van Laarhoven <twanvl@gmail.com>**20080117212822]
1202[Monadify typecheck/TcSimplify: use do, return and standard monad functions
1203Twan van Laarhoven <twanvl@gmail.com>**20080117212200]
1204[Monadify typecheck/TcSplice: use do and return
1205Twan van Laarhoven <twanvl@gmail.com>**20080117211911]
1206[Monadify typecheck/TcTyClsDecls: use return and standard monad functions
1207Twan van Laarhoven <twanvl@gmail.com>**20080117211746]
1208[Monadify typecheck/TcDefaults: use return and standard monad functions
1209Twan van Laarhoven <twanvl@gmail.com>**20080117211558]
1210[Monadify typecheck/TcDeriv: use return
1211Twan van Laarhoven <twanvl@gmail.com>**20080117211507]
1212[Monadify typecheck/TcClassDcl: use do, return and standard monad functions
1213Twan van Laarhoven <twanvl@gmail.com>**20080117211439]
1214[Monadify typecheck/TcBinds: use do, return and standard monad functions
1215Twan van Laarhoven <twanvl@gmail.com>**20080117211035]
1216[Monadify typecheck/TcArrows: use do and return
1217Twan van Laarhoven <twanvl@gmail.com>**20080117210818]
1218[Monadify typecheck/Inst: use do, return and standard monad functions
1219Twan van Laarhoven <twanvl@gmail.com>**20080117210655]
1220[Monadify typecheck/TcUnify: use do, return and standard monad functions
1221Twan van Laarhoven <twanvl@gmail.com>**20080117210213
1222   there may be some accidental tab->space conversion
1223]
1224[Monadify typecheck/TcTyFuns: use standard monad functions
1225Twan van Laarhoven <twanvl@gmail.com>**20080117205505]
1226[Monadify typecheck/TcPat: use return and standard monad functions
1227Twan van Laarhoven <twanvl@gmail.com>**20080117205423]
1228[Monadify typecheck/TcRules: use do, return and standard monad functions
1229Twan van Laarhoven <twanvl@gmail.com>**20080117205307]
1230[Monadify typecheck/TcForeign: use do, return and standard monad functions
1231Twan van Laarhoven <twanvl@gmail.com>**20080117204934]
1232[Monadify typecheck/TcExpr: use do, return and standard monad functions
1233Twan van Laarhoven <twanvl@gmail.com>**20080117204603]
1234[Monadify specialise/Specialise: use do, return, standard monad functions and MonadUnique
1235Twan van Laarhoven <twanvl@gmail.com>**20080117204330]
1236[Monadify specialise/SpecConstr: use do, return and standard monad functions
1237Twan van Laarhoven <twanvl@gmail.com>**20080117203842]
1238[Monadify stgSyn/StgLint
1239Twan van Laarhoven <twanvl@gmail.com>**20080117203042
1240  - made LintM a newtype instead of a type synonym
1241  - use do, return and standard monad functions
1242  - use MaybeT where `thenMaybeL` was used
1243  - removed custom versions of monad functions
1244 
1245]
1246[Monadify stgSyn/CoreToStg
1247Twan van Laarhoven <twanvl@gmail.com>**20080117202619
1248  - made LneM a newtype instead of a type synonym
1249  - use do, return and standard monad functions
1250  - removed custom versions of monad functions
1251]
1252[Remove generic monad function from State, it was moved to MonadUtils
1253Twan van Laarhoven <twanvl@gmail.com>**20080117202144]
1254[Added MaybeT monad transformer to utils/Maybes
1255Twan van Laarhoven <twanvl@gmail.com>**20080117202051]
1256[Removed unused Maybe functions, use the standard Maybe monad instead
1257Twan van Laarhoven <twanvl@gmail.com>**20080117201953]
1258[MonadIO instance for IOEnv
1259Twan van Laarhoven <twanvl@gmail.com>**20080117201812]
1260[Monadify simplCore/SimplMonad: custom monad functions are no longer needed
1261Twan van Laarhoven <twanvl@gmail.com>**20080117200354]
1262[Monadify simplCore/SimplMonad: use MonadUnique instance instead of custom functions
1263Twan van Laarhoven <twanvl@gmail.com>**20080117200228]
1264[Monadify simplCore/SetLevels: use do, return, standard monad functions and MonadUnique
1265Twan van Laarhoven <twanvl@gmail.com>**20080117195958]
1266[Monadify simplCore/SimplUtils: use do, return, standard monad functions and MonadUnique
1267Twan van Laarhoven <twanvl@gmail.com>**20080117195625]
1268[Monadify simplCore/Simplify: use do and return
1269Twan van Laarhoven <twanvl@gmail.com>**20080117195408]
1270[Monadify simplCore/SimplEnv: use standard monad functions
1271Twan van Laarhoven <twanvl@gmail.com>**20080117195255]
1272[Monadify simplCore/SimplCore: use do, return and standard monad functions
1273Twan van Laarhoven <twanvl@gmail.com>**20080117195149]
1274[Monadify profiling/SCCfinal
1275Twan van Laarhoven <twanvl@gmail.com>**20080117194417
1276   - change monad type synonym into a newtype
1277   - use do, return and standard monad functions
1278]
1279[Monadify coreSyn/CorePrep: use do, return, applicative, standard monad functions
1280Twan van Laarhoven <twanvl@gmail.com>**20080117193154]
1281[Monadify rename/RnTypes: use do, return and standard monad functions
1282Twan van Laarhoven <twanvl@gmail.com>**20080117190823]
1283[Monadify rename/RnPat: use do, return and standard monad functions
1284Twan van Laarhoven <twanvl@gmail.com>**20080117190033]
1285[Monadify rename/RnNames: use return and standard monad functions
1286Twan van Laarhoven <twanvl@gmail.com>**20080117185837]
1287[seqMaybe is more commonly known as mplus
1288Twan van Laarhoven <twanvl@gmail.com>**20080117185330]
1289[Monadify rename/RnBinds: use do, return and standard monad functions
1290Twan van Laarhoven <twanvl@gmail.com>**20080117184354]
1291[Monadify stranal/StrictAnal: use the State monad instead of a custom thing
1292Twan van Laarhoven <twanvl@gmail.com>**20080117180449]
1293[Monadify stranal/WwLib: use do, return, applicative, standard monad functions
1294Twan van Laarhoven <twanvl@gmail.com>**20080117180022]
1295[Added MonadUnique class for monads that have a unique supply
1296Twan van Laarhoven <twanvl@gmail.com>**20080117175616]
1297[Monadify stranal/WorkWrap: use do, return, applicative, standard monad functions
1298Twan van Laarhoven <twanvl@gmail.com>**20080117175007]
1299[Added Applicative and Functor instances for State monad
1300Twan van Laarhoven <twanvl@gmail.com>**20080117174656]
1301[Monadify deSugar/DsMonad: use do, return, applicative, standard monad functions
1302Twan van Laarhoven <twanvl@gmail.com>**20080117174432]
1303[Monadify deSugar/Desugar: use do, return, applicative, standard monad functions
1304Twan van Laarhoven <twanvl@gmail.com>**20080117174130]
1305[Monadify deSugar/DsUtils: use do, return, applicative, standard monad functions
1306Twan van Laarhoven <twanvl@gmail.com>**20080117173856]
1307[Monadify deSugar/DsListComp: use do, return, applicative, standard monad functions
1308Twan van Laarhoven <twanvl@gmail.com>**20080117173205]
1309[Monadify deSugar/DsForeign: use do, return, applicative, standard monad functions
1310Twan van Laarhoven <twanvl@gmail.com>**20080117172843]
1311[Monadify deSugar/DsGRHSs: use do, return, applicative, standard monad functions
1312Twan van Laarhoven <twanvl@gmail.com>**20080117172228]
1313[Monadify deSugar/DsExpr: use do, return, applicative, standard monad functions
1314Twan van Laarhoven <twanvl@gmail.com>**20080117164055]
1315[Added Applicative instance for IOEnv
1316Twan van Laarhoven <twanvl@gmail.com>**20080117162644]
1317[Add 'util/MonadUtils.hs' with common monad (and applicative) combinators
1318Twan van Laarhoven <twanvl@gmail.com>**20080117161939]
1319[Monadify deSugar/MatchLit: use do, return, applicative, standard monad functions
1320Twan van Laarhoven <twanvl@gmail.com>**20080117173439]
1321[Monadify deSugar/Match: use do, return, applicative, standard monad functions
1322Twan van Laarhoven <twanvl@gmail.com>**20080117173336]
1323[Monadify deSugar/DsCCall: use do, return, applicative, standard monad functions
1324Twan van Laarhoven <twanvl@gmail.com>**20080117165334]
1325[Monadify deSugar/DsArrows: use do, return, applicative, standard monad functions
1326Twan van Laarhoven <twanvl@gmail.com>**20080117165114]
1327[Monadify deSugar/DsBinds: use do, return, applicative, standard monad functions
1328Twan van Laarhoven <twanvl@gmail.com>**20080117164746]
1329[Added MASSERT macro for assertions in do notation
1330Twan van Laarhoven <twanvl@gmail.com>**20080117163112]
1331[FIX BUILD wrong imports on non-Windows
1332Simon Marlow <simonmar@microsoft.com>**20080124092935]
1333[Show CmdLineError exceptions as "<command line>: ..."
1334Simon Marlow <simonmar@microsoft.com>**20080123163145
1335 instead of something like "ghc-6.8.2: ...", which causes problems in
1336 the test suite.  In any case, "<command line>" seems a more
1337 appropriate context for these errors, the only question is whether
1338 we're using CmdLineError incorrectly anywhere.
1339]
1340[FIX #1750: in isBrokenPackage, don't loop if the deps are recursive
1341Simon Marlow <simonmar@microsoft.com>**20080123160703]
1342[FIX #1750: throw out mutually recursive groups of packages
1343Simon Marlow <simonmar@microsoft.com>**20080123160635]
1344[Windows now doesn't need different values for DQ in the build system
1345Ian Lynagh <igloo@earth.li>**20080123173933]
1346[Fix setting argv[0] in shell-utils.c on Windows
1347Ian Lynagh <igloo@earth.li>**20080123160139]
1348[Escape arguments for Windows in shell-tools.c
1349Ian Lynagh <igloo@earth.li>**20080123151724]
1350[Attach the INLINE Activation pragma to any automatically-generated specialisations
1351simonpj@microsoft.com**20080123134012
1352 
1353 Another idea suggested by Roman, happily involving a one-line change.  Here's
1354 the new Note in Specialise:
1355 
1356 Note [Auto-specialisation and RULES]
1357 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1358 Consider:
1359    g :: Num a => a -> a
1360    g = ...
1361 
1362    f :: (Int -> Int) -> Int
1363    f w = ...
1364    {-# RULE f g = 0 #-}
1365 
1366 Suppose that auto-specialisation makes a specialised version of
1367 g::Int->Int That version won't appear in the LHS of the RULE for f.
1368 So if the specialisation rule fires too early, the rule for f may
1369 never fire.
1370 
1371 It might be possible to add new rules, to "complete" the rewrite system.
1372 Thus when adding
1373        RULE forall d. g Int d = g_spec
1374 also add
1375        RULE f g_spec = 0
1376 
1377 But that's a bit complicated.  For now we ask the programmer's help,
1378 by *copying the INLINE activation pragma* to the auto-specialised rule.
1379 So if g says {-# NOINLINE[2] g #-}, then the auto-spec rule will also
1380 not be active until phase 2.
1381 
1382]
1383[Tidy up the treatment of SPECIALISE pragmas
1384simonpj@microsoft.com**20080122122613
1385 
1386 Remove the now-redundant "const-dicts" field in SpecPrag
1387 
1388 In dsBinds, abstract over constant dictionaries in the RULE.
1389 This avoids the creation of a redundant, duplicate, rule later
1390 in the Specialise pass, which was happening before.
1391 
1392 There should be no effect on performance either way, just less
1393 duplicated code, and the compiler gets a little simpler.
1394 
1395]
1396[Comments only
1397simonpj@microsoft.com**20080122122547]
1398[FIX #1838, #1987: change where GHCi searches for config files
1399Simon Marlow <simonmar@microsoft.com>**20080123143207
1400 
1401 6.6 behaviour:
1402   - ./.ghci
1403   - $HOME/.ghci
1404 
1405 6.8.[12] behaviour:
1406   - ./.ghci
1407   - Windows: c:/Documents and Settings/<user>/.ghci
1408   - Unix: $HOME/.ghci
1409 
1410 6.10 (and 6.8.3 when this is merged):
1411   - ./.ghci
1412   - Windows: c:/Documents and Settings/<user>/Application Data/ghc/ghci.conf
1413   - Unix: $HOME/.ghc/ghci.conf
1414   - $HOME/.ghci
1415 
1416 We will need to document this in the 6.8.3 release notes because it
1417 may affect Windows users who have adapted their setup to 6.8.[12].
1418]
1419[FIX #1767 :show documentation claimed too much
1420Simon Marlow <simonmar@microsoft.com>**20080122152943
1421 Also put the :help docs back within 80 columns
1422]
1423[fix syntax-error output for :show
1424Simon Marlow <simonmar@microsoft.com>**20080122144923]
1425[This goes with the patch for #1839, #1463
1426Simon Marlow <simonmar@microsoft.com>**20080122161811]
1427[use pathSeparator instead of '/'
1428Simon Marlow <simonmar@microsoft.com>**20080122140957]
1429[cleanup only
1430Simon Marlow <simonmar@microsoft.com>**20080122132047]
1431[FIX #1839, #1463, by supporting ghc-pkg bulk queries with substring matching
1432claus.reinke@talk21.com**20080121161744
1433 
1434    - #1839 asks for a ghc-pkg dump feature, #1463 for the ability
1435      to query the same fields in several packages at once.
1436 
1437    - this patch enables substring matching for packages in 'list',
1438      'describe', and 'field', and for modules in find-module. it
1439      also allows for comma-separated multiple fields in 'field'.
1440      substring matching can optionally ignore cases to avoid the
1441      rather unpredictable capitalisation of packages.
1442 
1443    - the patch is not quite as full-featured as the one attached
1444      to #1839, but avoids the additional dependency on regexps.
1445      open ended substrings are indicated by '*' (only the three
1446      forms prefix*, *suffix, *infix* are supported)
1447 
1448    - on windows, the use of '*' for package/module name globbing
1449      leads to conflicts with filename globbing: by default, windows
1450      programs are self-globbing, and bash adds another level of
1451      globbing on top of that. it seems impossible to escape '*'
1452      from both levels of globbing, so we disable default globbing
1453      for ghc-pkg and ghc-pkg-inplace. users of bash will still
1454      have filename globbing available, users of cmd won't.
1455 
1456    - if it is considered necessary to reenable filename globbing
1457      for cmd users, it should be done selectively, only for
1458      filename parameters. to this end, the patch includes a
1459      glob.hs program which simply echoes its parameters after
1460      filename globbing. see the commented out glob command in
1461      Main.hs for usage or testing.
1462 
1463    - this covers both tickets, and permits for the most common
1464      query patterns (finding all packages contributing to the
1465      System. hierarchy, finding all regex or string packages,
1466      listing all package maintainers or haddock directories,
1467      ..), which not only i have wanted to have for a long time.
1468 
1469      examples (the quotes are needed to escape shell-based
1470      filename globbing and should be omitted in cmd.exe):
1471 
1472        ghc-pkg list '*regex*' --ignore-case
1473        ghc-pkg list '*string*' --ignore-case
1474        ghc-pkg list '*gl*' --ignore-case
1475        ghc-pkg find-module 'Data.*'
1476        ghc-pkg find-module '*Monad*'
1477        ghc-pkg field '*' name,maintainer
1478        ghc-pkg field '*' haddock-html
1479        ghc-pkg describe '*'
1480 
1481 
1482]
1483[Wibble to the OccurAnal fix for RULEs and loop-breakers
1484simonpj@microsoft.com**20080121165529]
1485[FIX #2049, another problem with the module context on :reload
1486Simon Marlow <simonmar@microsoft.com>**20080121145935
1487 The previous attempt to fix this (#1873, #1360) left a problem that
1488 occurred when the first :load of the program failed (#2049). 
1489 
1490 Now I've implemented a different strategy: between :loads, we remember
1491 all the :module commands, and just replay them after a :reload.  This
1492 is in addition to remembering all the package modules added with
1493 :module, which is orthogonal.
1494 
1495 This approach is simpler than the previous one, and seems to do the
1496 right thing in all the cases I could think of.  Let's hope this is the
1497 last bug in this series...
1498]
1499[Increase the bar for bootstrapping GHC to 6.4 (HEAD only)
1500Simon Marlow <simonmar@microsoft.com>**20080121111835
1501  - remove $(ghc_ge_601), $(ghc_ge_602), $(ghc_ge_603)
1502  - configure now checks the GHC version number
1503  - there are probably various cleanups that we can now do in compat/
1504    and compiler/, but I haven't done those yet.
1505]
1506[Do not worker/wrapper INLINE things, even if they are in a recursive group
1507simonpj@microsoft.com**20080121135909
1508 
1509 This patch stops the worker/wrapper transform working on an INLINE thing,
1510 even if it's in a recursive group.  It might not be the loop breaker.  Indeed
1511 a recursive group might have no loop breaker, if the only recursion is
1512 through rules.
1513 
1514 Again, this change was provoked by one of Roman's NDP libraries.
1515 Specifically the Rec { splitD, splitJoinD } group in
1516        Data.Array.Parallel.Unlifted.Distributed.Arrays
1517 
1518 Simon
1519 
1520]
1521[Make the loop-breaking algorithm a bit more liberal, where RULES are involved
1522simonpj@microsoft.com**20080121135654
1523 
1524 This is another gloss on the now-quite-subtle and heavily-documented algorithm
1525 for choosing loop breakers.
1526 
1527 This fix, provoked by Roman's NDP library, makes sure that when we are choosing
1528 a loop breaker we only take into account variables free on the *rhs* of a rule
1529 not the *lhs*.
1530 
1531 Most of the new lines are comments!
1532 
1533]
1534[Fix Trac #2055
1535simonpj@microsoft.com**20080121124244
1536 
1537 Sorry, this was my fault, a consequence of the quasi-quoting patch. 
1538 
1539 I've added rn062 as a test.
1540 
1541 
1542]
1543[Fix exception message with ghc -e
1544Ian Lynagh <igloo@earth.li>**20080121104142
1545 When running with ghc -e, exceptions should claim to be from the program
1546 that we are running, not ghc.
1547]
1548[Fix warnings in main/CmdLineParser
1549Ian Lynagh <igloo@earth.li>**20080121103158]
1550[Normalise FilePaths before printing them
1551Ian Lynagh <igloo@earth.li>**20080120193002]
1552[Tweak runghc
1553Ian Lynagh <igloo@earth.li>**20080120184639]
1554[Fix catching exit exceptions in ghc -e
1555Ian Lynagh <igloo@earth.li>**20080120170236]
1556[Typo in phase-control documentation
1557simonpj@microsoft.com**20080121113620]
1558[Fix warnings in main/Main
1559Ian Lynagh <igloo@earth.li>**20080119235914]
1560[Support multiple -e flags
1561Ian Lynagh <igloo@earth.li>**20080119223036]
1562[Fix ghc -e :main (it was enqueuing the main function, but not running it)
1563Ian Lynagh <igloo@earth.li>**20080119220044]
1564[Fix whitespace
1565Ian Lynagh <igloo@earth.li>**20080119212830]
1566[Fix giving an error if we are given conflicting mode flags
1567Ian Lynagh <igloo@earth.li>**20080119212602]
1568[Add :run and tweak :main
1569Ian Lynagh <igloo@earth.li>**20080119164923
1570 You can now give :main a Haskell [String] as an argument, e.g.
1571 :main ["foo", "bar"]
1572 and :run is a variant that takes the name of the function to run.
1573 Also, :main now obeys the -main-is flag.
1574]
1575[Make MacFrameworks a subdirectory of distrib, since it isn't used in the normal building process.
1576judah.jacobson@gmail.com**20071217235735]
1577[Add scripts for building GMP.framework and GNUreadline.framework (OS X).
1578judah.jacobson@gmail.com**20071127072951]
1579[Use -framework-path flags during the cc phase.  Fixes trac #1975.
1580judah.jacobson@gmail.com**20071212201245]
1581[FIX #1821 (Parser or lexer mess-up)
1582df@dfranke.us**20071210230649]
1583[Improve the error when :list can't find any code to show
1584Ian Lynagh <igloo@earth.li>**20080118225655]
1585[Fix imports when !DEBUG
1586Ian Lynagh <igloo@earth.li>**20080118180126]
1587[Tweak the splitter
1588Ian Lynagh <igloo@earth.li>**20080116195612
1589 We were generating a label ".LnLC7", which the splitter was confusing
1590 with a literal constant (LC). The end result was the assembler tripping
1591 up on ".Ln.text".
1592]
1593[Wibble to SetLevels.abstractVars
1594simonpj@microsoft.com**20080118171754
1595 
1596 I've gotten this wrong more than once.  Hopefully this has it nailed.
1597 The issue is that in float-out we must abstract over the correct
1598 variables.
1599 
1600 
1601]
1602[Add quasi-quotation, courtesy of Geoffrey Mainland
1603simonpj@microsoft.com**20080118145503
1604 
1605 This patch adds quasi-quotation, as described in
1606   "Nice to be Quoted: Quasiquoting for Haskell"
1607        (Geoffrey Mainland, Haskell Workshop 2007)
1608 Implemented by Geoffrey and polished by Simon.
1609 
1610 Overview
1611 ~~~~~~~~
1612 The syntax for quasiquotation is very similar to the existing
1613 Template haskell syntax:
1614        [$q| stuff |]
1615 where 'q' is the "quoter".  This syntax differs from the paper, by using
1616 a '$' rather than ':', to avoid clashing with parallel array comprehensions.
1617 
1618 The "quoter" is a value of type Language.Haskell.TH.Quote.QuasiQuoter, which
1619 contains two functions for quoting expressions and patterns, respectively.
1620 
1621      quote = Language.Haskell.TH.Quote.QuasiQuoter quoteExp quotePat
1622 
1623      quoteExp :: String -> Language.Haskell.TH.ExpQ
1624      quotePat :: String -> Language.Haskell.TH.PatQ
1625 
1626 TEXT is passed unmodified to the quoter. The context of the
1627 quasiquotation statement determines which of the two quoters is
1628 called: if the quasiquotation occurs in an expression context,
1629 quoteExp is called, and if it occurs in a pattern context, quotePat
1630 is called.
1631 
1632 The result of running the quoter on its arguments is spliced into
1633 the program using Template Haskell's existing mechanisms for
1634 splicing in code. Note that although Template Haskell does not
1635 support pattern brackets, with this patch binding occurrences of
1636 variables in patterns are supported. Quoters must also obey the same
1637 stage restrictions as Template Haskell; in particular, in this
1638 example quote may not be defined in the module where it is used as a
1639 quasiquoter, but must be imported from another module.
1640 
1641 Points to notice
1642 ~~~~~~~~~~~~~~~~
1643 * The whole thing is enabled with the flag -XQuasiQuotes
1644 
1645 * There is an accompanying patch to the template-haskell library. This
1646   involves one interface change:
1647        currentModule :: Q String
1648   is replaced by
1649        location :: Q Loc
1650   where Loc is a data type defined in TH.Syntax thus:
1651       data Loc
1652         = Loc { loc_filename :: String
1653              , loc_package  :: String
1654              , loc_module   :: String
1655              , loc_start    :: CharPos
1656              , loc_end      :: CharPos }
1657 
1658       type CharPos = (Int, Int)        -- Line and character position
1659 
1660   So you get a lot more info from 'location' than from 'currentModule'.
1661   The location you get is the location of the splice.
1662   
1663   This works in Template Haskell too of course, and lets a TH program
1664   generate much better error messages.
1665 
1666 * There's also a new module in the template-haskell package called
1667   Language.Haskell.TH.Quote, which contains support code for the
1668   quasi-quoting feature.
1669 
1670 * Quasi-quote splices are run *in the renamer* because they can build
1671   *patterns* and hence the renamer needs to see the output of running the
1672   splice.  This involved a bit of rejigging in the renamer, especially
1673   concerning the reporting of duplicate or shadowed names.
1674 
1675   (In fact I found and removed a few calls to checkDupNames in RnSource
1676   that are redundant, becuase top-level duplicate decls are handled in
1677   RnNames.)
1678 
1679 
1680 
1681]
1682[lots of portability changes (#1405)
1683Isaac Dupree <id@isaac.cedarswampstudios.org>**20080117011312
1684 
1685 re-recording to avoid new conflicts was too hard, so I just put it
1686 all in one big patch :-(  (besides, some of the changes depended on
1687 each other.)  Here are what the component patches were:
1688 
1689 Fri Dec 28 11:02:55 EST 2007  Isaac Dupree <id@isaac.cedarswampstudios.org>
1690   * document BreakArray better
1691 
1692 Fri Dec 28 11:39:22 EST 2007  Isaac Dupree <id@isaac.cedarswampstudios.org>
1693   * properly ifdef BreakArray for GHCI
1694 
1695 Fri Jan  4 13:50:41 EST 2008  Isaac Dupree <id@isaac.cedarswampstudios.org>
1696   * change ifs on __GLASGOW_HASKELL__ to account for... (#1405)
1697   for it not being defined. I assume it being undefined implies
1698   a compiler with relatively modern libraries but without most
1699   unportable glasgow extensions.
1700 
1701 Fri Jan  4 14:21:21 EST 2008  Isaac Dupree <id@isaac.cedarswampstudios.org>
1702   * MyEither-->EitherString to allow Haskell98 instance
1703 
1704 Fri Jan  4 16:13:29 EST 2008  Isaac Dupree <id@isaac.cedarswampstudios.org>
1705   * re-portabilize Pretty, and corresponding changes
1706 
1707 Fri Jan  4 17:19:55 EST 2008  Isaac Dupree <id@isaac.cedarswampstudios.org>
1708   * Augment FastTypes to be much more complete
1709 
1710 Fri Jan  4 20:14:19 EST 2008  Isaac Dupree <id@isaac.cedarswampstudios.org>
1711   * use FastFunctions, cleanup FastString slightly
1712 
1713 Fri Jan  4 21:00:22 EST 2008  Isaac Dupree <id@isaac.cedarswampstudios.org>
1714   * Massive de-"#", mostly Int# --> FastInt (#1405)
1715 
1716 Fri Jan  4 21:02:49 EST 2008  Isaac Dupree <id@isaac.cedarswampstudios.org>
1717   * miscellaneous unnecessary-extension-removal
1718 
1719 Sat Jan  5 19:30:13 EST 2008  Isaac Dupree <id@isaac.cedarswampstudios.org>
1720   * add FastFunctions
1721 
1722]
1723[Add missing extendSubst
1724simonpj@microsoft.com**20080117180227
1725 
1726 Oops -- missed this from previous commit; sorry
1727 
1728]
1729[Add -fspec-inline-join-points to SpecConstr
1730simonpj@microsoft.com**20080117150325
1731 
1732 This patch addresses a problem that Roman found in SpecConstr.  Consider:
1733 
1734 foo :: Maybe Int -> Maybe Int -> Int
1735 foo a b = let j b = foo a b
1736            in
1737            case b of
1738              Nothing -> ...
1739              Just n  -> case a of
1740                           Just m  -> ... j (Just (n+1)) ...
1741                           Nothing -> ... j (Just (n-1)) ...
1742 
1743 We want to make specialised versions for 'foo' for the patterns
1744        Nothing  (Just v)
1745        (Just a) (Just b)
1746 
1747 Two problems, caused by the join point j.  First, j does not
1748 scrutinise b, so j won't be specialised f for the (Just v) pattern.
1749 Second, j is defined where the free var 'a' is not evaluated.
1750 
1751 Both are solved by brutally inlining j at its call sites.  This risks
1752 major code bloat, but it's relatively quick to implement.  The flag
1753        -fspec-inline-join-points
1754 causes brutal inlining for a
1755        non-recursive binding
1756        of a function
1757        whose RHS contains calls
1758        of a recursive function
1759 
1760 The (experimental) flag is static for now, and I have not even
1761 documented it properly.
1762 
1763 
1764]
1765[Fix references to Filepath
1766Clemens Fruhwirth <clemens@endorphin.org>**20080117134139]
1767[Fix egregious error in earlier "Record evaluated-ness" patch
1768simonpj@microsoft.com**20080117134057]
1769[Eliminate warnings with -DDEBUG
1770simonpj@microsoft.com**20080117124921]
1771[Record evaluated-ness information correctly for strict constructors
1772simonpj@microsoft.com**20080117105256
1773 
1774 The add_evals code in Simplify.simplAlt had bit-rotted.  Example:
1775 
1776   data T a = T !a
1777   data U a = U !a
1778 
1779   foo :: T a -> U a
1780   foo (T x) = U x
1781 
1782 Here we should not evaluate x before building the U result, because
1783 the x argument of T is already evaluated.
1784 
1785 Thanks to Roman for finding this.
1786 
1787 
1788]
1789[In float-out, make sure we abstract over the type variables in the kind of a coercion
1790simonpj@microsoft.com**20080116153908
1791 
1792 I can't remember where this bug showed up, but we were abstracting over a
1793 coercion variable (co :: a ~ T), without also abstracting over 'a'.
1794 
1795 The fix is simple.
1796 
1797]
1798[Fix broken debug warning
1799simonpj@microsoft.com**20080116151818]
1800[Complain sensibly if you try to use scoped type variables in Template Haskell
1801simonpj@microsoft.com**20080116151612
1802 
1803 This fixes Trac #2024; worth merging onto 6.8 branch.
1804 
1805]
1806[Comments only
1807simonpj@microsoft.com**20080116150554]
1808[Extra instance for Outputable on 5-tuples
1809simonpj@microsoft.com**20080116150525]
1810[Fix the -frule-check pass
1811simonpj@microsoft.com**20080116141156
1812 
1813 Rules for imported things are now kept in the global rule base, not
1814 attached to the global Id.  The rule-check pass hadn't kept up.
1815 
1816 This should fix it.
1817 
1818]
1819[Add dyn-wrapper.c used as cross-plattform launch wrapper for executables using dynamic libraries in non-standard places
1820Clemens Fruhwirth <clemens@endorphin.org>**20080116220603]
1821[Use runPhase_MoveBinary also for generating a dynamic library wrapper
1822Clemens Fruhwirth <clemens@endorphin.org>**20080116220420]
1823[Remove -fhardwire-lib-paths in favour of -dynload sysdep
1824Clemens Fruhwirth <clemens@endorphin.org>**20080110121736]
1825[ghc-inplace defaults to -fhardwire-lib-paths. Change that to -dynload wrapped
1826Clemens Fruhwirth <clemens@endorphin.org>**20080110090839]
1827[Add -dynload flag as dynamic flag.
1828Clemens Fruhwirth <clemens@endorphin.org>**20080116205710]
1829[Add a missing import
1830Ian Lynagh <igloo@earth.li>**20080116174149]
1831[Fix Makefile generatin on Windows
1832Ian Lynagh <igloo@earth.li>**20080116162752]
1833[Fix slash direction on Windows with the new filePath code
1834Ian Lynagh <igloo@earth.li>**20080116154317]
1835[Fix typo
1836Ian Lynagh <igloo@earth.li>**20080116011953]
1837[The Core type-matcher should look through PredTypes
1838simonpj@microsoft.com**20080116145939
1839 
1840 The core type-matcher Unify.match was previouly using tcView to expand
1841 types, because it must treat newtypes as distinct from their representation.
1842 But that meant that it also treated the PredType {C Int} as distinct from
1843 its representation type (:TC Int).  And that in turn was causing a rule
1844 not to fire, because the argument types didn't match up.
1845 
1846 For this to happen we need to get a situation where we have
1847 
1848   a = :DC blah blah    -- Dictionary
1849   ....(f a).....
1850 
1851 Now a has type (:TC Int), bu the RULE for f expects an argument
1852 of type {C Int}.  Roman found that just this was happening.
1853 
1854 
1855 
1856 
1857]
1858[A bottoming function should have infinite arity
1859simonpj@microsoft.com**20080116145722
1860 
1861 I can't think how this one escaped for so long, but
1862        (error "foo")
1863 should have arityType ABot, just as 'error' itself does.
1864 
1865 This improves eta expansion.  I spotted it when looking at the function
1866 
1867   Data.Array.Parallel.Arr.BBArr.writeMBB
1868 
1869 in the ndp package.
1870 
1871 
1872]
1873[Add Main.dyn_o deployed into the RTS library dir to linking (see DLLNOTES for rational)
1874Clemens Fruhwirth <clemens@endorphin.org>**20080110091217]
1875[Refactor cross-plattform process spawning from ghc-inplace into shell-tools.c
1876Clemens Fruhwirth <clemens@endorphin.org>**20080110090721]
1877[More verbose error reporting in mk/target.mk
1878Clemens Fruhwirth <clemens@endorphin.org>**20071231170715]
1879[Fix generating dependencies for different ways now we use FilePath
1880Ian Lynagh <igloo@earth.li>**20080115204716
1881 We were making filenames like
1882 dist/build/GHC/Base.p_.o
1883 rather than
1884 dist/build/GHC/Base.p_o
1885]
1886[Fix utils/Util for debug build
1887mainland@eecs.harvard.edu**20080114190530]
1888[Give an error if view pattern syntax is used in an expression; fixes #2033
1889Ian Lynagh <igloo@earth.li>**20080114115031]
1890[FIX BUILD (Solaris): include fcntl.h for file operations
1891Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080115051844]
1892[Fix warning when USE_READLINE is unset
1893Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080115015014]
1894[Remove an extra ) that was breaking the build on Windows
1895Ian Lynagh <igloo@earth.li>**20080114103953]
1896[Fix warnings in utils/ListSetOps
1897Ian Lynagh <igloo@earth.li>**20080113150017]
1898[Fix warnings in utils/Panic
1899Ian Lynagh <igloo@earth.li>**20080113142939]
1900[Fix warnings in utils/UniqSet
1901Ian Lynagh <igloo@earth.li>**20080113142604]
1902[Fix warnings in utils/Maybes
1903Ian Lynagh <igloo@earth.li>**20080113142347]
1904[Fix warnings in utils/BufWrite
1905Ian Lynagh <igloo@earth.li>**20080113141630]
1906[Fix warnings in utils/FastTypes
1907Ian Lynagh <igloo@earth.li>**20080113141612
1908 Split off a FastBool module, to avoid a circular import with Panic
1909]
1910[Fix warnings in utils/OrdList
1911Ian Lynagh <igloo@earth.li>**20080113132042]
1912[Fix warnings in utils/FastMutInt
1913Ian Lynagh <igloo@earth.li>**20080113131830]
1914[Fix warnings in utils/State
1915Ian Lynagh <igloo@earth.li>**20080113131658]
1916[Only initialise readline if we are connected to a terminal
1917Ian Lynagh <igloo@earth.li>**20080113124107
1918 Patch from Bertram Felgenhauer <int-e@gmx.de>
1919]
1920[Fix warnings in utils/Util
1921Ian Lynagh <igloo@earth.li>**20080113005832]
1922[Fix warnings in utils/Bag.lhs
1923Ian Lynagh <igloo@earth.li>**20080113002037]
1924[Add GMP_INCLUDE_DIRS in a couple of places
1925Ian Lynagh <igloo@earth.li>**20080112234215
1926 Fixes the build on OpenBSD (trac #2009). Based on a patch from kili.
1927]
1928[Tweak whitespace in HsExpr
1929Ian Lynagh <igloo@earth.li>**20080112185753]
1930[Fix warnings in HsExpr
1931Ian Lynagh <igloo@earth.li>**20080112181444]
1932[FilePath fixes
1933Ian Lynagh <igloo@earth.li>**20080112172837]
1934[don't initialize readline needlessly
1935Ian Lynagh <igloo@earth.li>**20080112155413
1936 Readline.initialize spills some escape sequences to stdout for some terminal
1937 types, potentially spoiling  ghc -e  output. So don't initialize readline
1938 unless we're working interactively on a terminal.
1939 Patch from Bertram Felgenhauer <int-e@gmx.de>
1940]
1941[Fix whitespace
1942Ian Lynagh <igloo@earth.li>**20080112155214]
1943[Use System.FilePath
1944Ian Lynagh <igloo@earth.li>**20080112154459]
1945[Fix filename completion by adding trailing spaces/slashes manually.
1946judah.jacobson@gmail.com**20080110221928]
1947[Use command-dependent word break characters for tab completion in ghci.  Fixes bug #998.
1948judah.jacobson@gmail.com**20080109003606]
1949[Fix 2030: make -XScopedTypeVariables imply -XRelaxedPolyRec
1950simonpj@microsoft.com**20080110113133
1951 
1952 The type checker doesn't support lexically scoped type variables
1953 unless we are using the RelaxedPolyRec option.  Reasons: see
1954 Note [Scoped tyvars] in TcBinds.
1955 
1956 So I've changed DynFlags to add this implication, improved the
1957 documentation, and simplified the code in TcBinds somewhat.
1958 (It's longer but only because of comments!)
1959 
1960 
1961]
1962[More refactoring in getCoreToDo
1963Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080109023747]
1964[Document -fsimplifier-phases
1965Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080109022822]
1966[Add -fsimplifier-phases option
1967Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080109022449
1968 
1969 It controls the number of simplifier phases run during optimisation. These are
1970 numbered from n to 1 (by default, n=2). Phase 0 is always run regardless of
1971 this flag. The flag is ignored with -O0 since (practically) no optimisation is
1972 performed in that case.
1973]
1974[Refactor getCoreToDo slightly
1975Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080109014359]
1976[Fix Trac #2018: float-out was ignoring the kind of a coercion variable
1977simonpj@microsoft.com**20080107142601
1978 
1979 The float-out transformation must handle the case where a coercion
1980 variable is free, which in turn mentions type variables in its kind.
1981 Just like a term variable really.
1982 
1983 I did a bit of refactoring at the same time.
1984 
1985 Test is tc241
1986 
1987 MERGE to stable branch
1988 
1989]
1990[Make the treatment of equalities more uniform
1991simonpj@microsoft.com**20080107142306
1992 
1993 This patch (which is part of the fix for Trac #2018) makes coercion variables
1994 be handled more uniformly.  Generally, they are treated like dictionaries
1995 in the type checker, not like type variables, but in a couple of places we
1996 were treating them like type variables.  Also when zonking we should use
1997 zonkDictBndr not zonkIdBndr.
1998 
1999]
2000[Fix Trac #2017
2001simonpj@microsoft.com**20080107125819]
2002[Add -XImpredicativeTypes, and tighten up type-validity checking (cf Trac 2019)
2003simonpj@microsoft.com**20080107115451
2004 
2005 Somehow we didn't have a separate flag for impredicativity; now we do.
2006 
2007 Furthermore, Trac #2019 showed up a missing test for monotypes in data
2008 constructor return types.  And I realised that we were even allowing
2009 things like
2010        Num (forall a. a) => ...
2011 which we definitely should not. 
2012 
2013 This patch insists on monotypes in several places where we were (wrongly)
2014 too liberal before.
2015 
2016 Could be merged to 6.8 but no big deal.
2017 
2018 
2019]
2020[pass -no-user-package-conf to ghc-inplace
2021Simon Marlow <simonmar@microsoft.com>**20080104162840]
2022[Fix build: Recent instance shuffling left us with overlapping instances
2023Ian Lynagh <igloo@earth.li>**20080106221547]
2024[Add instructions for building docs to README
2025Ian Lynagh <igloo@earth.li>**20080106215723]
2026[A little refactoring of GenIfaceEq to make the Outputable instance into H98
2027simonpj@microsoft.com**20080104105450]
2028[Make the instance of DebugNodes more H98-like
2029simonpj@microsoft.com**20080104105409]
2030[change CmmActual, CmmFormal to use a data CmmHinted rather than tuple (#1405)
2031Isaac Dupree <id@isaac.cedarswampstudios.org>**20080104105339
2032 This allows the instance of UserOfLocalRegs to be within Haskell98, and IMHO
2033  makes the code a little cleaner generally.
2034 This is one small (though tedious) step towards making GHC's code more
2035  portable...
2036]
2037[generalize instance Outputable GenCmm to H98 (#1405)
2038Isaac Dupree <id@isaac.cedarswampstudios.org>**20071226175915]
2039[move and generalize another instance (#1405)
2040Isaac Dupree <id@isaac.cedarswampstudios.org>**20071226174904
2041 was instance Outputable CmmGraph
2042 type CmmGraph = LGraph Middle Last
2043 now instance (ctx) => Outputable (LGraph m l),
2044 in module with LGraph where it belongs
2045 This also let us reduce the context of DebugNodes to Haskell98,
2046 leaving that class's only extension being multi-parameter.
2047 (also Outputable (LGraph M Last) with M = ExtendWithSpills Middle
2048 was another redundant instance that was then removed)
2049]
2050[move and generalize an instance (#1405)
2051Isaac Dupree <id@isaac.cedarswampstudios.org>**20071226171913
2052 UserOfLocalRegs (ZLast Last) isn't Haskell98, but it was just as
2053 good an instance to be UserOfLocalRegs a => UserOfLocalRegs (ZLast a)
2054]
2055[Do not consult -XGADTs flag when pattern matching on GADTs
2056simonpj@microsoft.com**20080104125814
2057 
2058 See Trac #2004, and Note [Flags and equational constraints] in TcPat.
2059 
2060]
2061[Add a note about primop wrappers (cf Trac #1509)
2062simonpj@microsoft.com**20080104125305]
2063[Document SOURCE pragma; clarify TH behavior for mutually-recurive modules (Trac #1012)
2064simonpj@microsoft.com**20080104121939]
2065[White space and comments only
2066simonpj@microsoft.com**20080104102236]
2067[Optionally use libffi to implement 'foreign import "wrapper"' (#793)
2068Simon Marlow <simonmar@microsoft.com>**20080103170236
2069 To enable this, set UseLibFFI=YES in mk/build.mk. 
2070 
2071 The main advantage here is that this reduces the porting effort for
2072 new platforms: libffi works on more architectures than our current
2073 adjustor code, and it is probably more heavily tested.  We could
2074 potentially replace our existing code, but since it is probably faster
2075 than libffi (just a guess, I'll measure later) and is already working,
2076 it doesn't seem worthwhile.
2077 
2078 Right now, you must have libffi installed on your system.  I used the
2079 one supplied by Debian/Ubuntu.
2080]
2081[remove trace apparently left in by accident
2082Simon Marlow <simonmar@microsoft.com>**20080103163805]
2083[Remove -funfolding-update-in-place flag documentation
2084simonpj@microsoft.com**20080103160036
2085 
2086 This flag does nothing, and should have been removed ages ago. (GHC
2087 no longer does update-in-place.)
2088 
2089 MERGE to 6.8 branch
2090 
2091]
2092[Fix warnings with newer gcc versions (I hope)
2093Simon Marlow <simonmar@microsoft.com>**20080103140338]
2094[FIX #1898: add a missing UNTAG_CLOSURE() in checkBlackHoles
2095Simon Marlow <simonmar@microsoft.com>**20080103112717]
2096[fix validation failure on non-i386
2097Simon Marlow <simonmar@microsoft.com>**20080102151740]
2098[expand "out of stack slots" panic to suggest using -fregs-graph, see #1993
2099Simon Marlow <simonmar@microsoft.com>**20080102150737]
2100[Warning clean, and fix compilation with GHC 6.2.x
2101Simon Marlow <simonmar@microsoft.com>**20080102114529]
2102[Add dead code elimination in cmmMiniInline
2103Simon Marlow <simonmar@microsoft.com>**20071220151734
2104 cmmMiniInline counts the uses of local variables, so it can easily
2105 eliminate assigments to unused locals.  This almost never gets
2106 triggered, as we don't generate any dead assignments, but it will be
2107 needed by a forthcoming cleanup in CgUtils.emitSwitch.
2108]
2109[implement prefix unboxed tuples (part of #1509)
2110Isaac Dupree <id@isaac.cedarswampstudios.org>**20080102124001]
2111[Link libgmp.a statically into libHSrts.dll on Windows
2112Clemens Fruhwirth <clemens@endorphin.org>**20080101154017]
2113[Embedd DLL name into its import library, so client libs reference them properly in .idata
2114Clemens Fruhwirth <clemens@endorphin.org>**20080101152157]
2115[Add package dependencies to link pass when building ghc package (required for windows DLL build)
2116Clemens Fruhwirth <clemens@endorphin.org>**20080101152101]
2117[Fix building libHSrts.dll by using ghc-pkg instead of grepping in base.cabal
2118Clemens Fruhwirth <clemens@endorphin.org>**20071230193952]
2119[Add installPackage to dependencies of make.library.* as it's used by the rule
2120Clemens Fruhwirth <clemens@endorphin.org>**20071229162707]
2121[Install dynlibs correctly
2122Clemens Fruhwirth <clemens@endorphin.org>**20071228184024
2123 
2124 Add dynlibdir target to config.mk.in, setting it to @libdir@.
2125 Invoke installPackage with dynlibdir at libraries/Makefile
2126 Make installPackage.hs hand dynlibdir to Cabal.
2127]
2128[import ord that alex secretly imported
2129Isaac Dupree <id@isaac.cedarswampstudios.org>**20071228175727]
2130[add missing import that happy -agc secretly provided
2131Isaac Dupree <id@isaac.cedarswampstudios.org>**20071227171335]
2132[correct type mistake, hidden by happy -agc coercions!
2133Isaac Dupree <id@isaac.cedarswampstudios.org>**20071226140743]
2134[API changes for cabal-HEAD
2135Clemens Fruhwirth <clemens@endorphin.org>**20071227143114
2136 
2137 Rename interfacedir to haddockdir
2138 Change empty(Copy|Register)Flags to default(Copy|Register)Flags
2139 Wrap content of RegisterFlags with toFlag (the Flag type is actually just Maybe)
2140]
2141[Extend API for compiling to and from Core
2142Tim Chevalier <chevalier@alum.wellesley.edu>**20071225200411
2143 
2144 Added API support for compiling Haskell to simplified Core, and for
2145 compiling Core to machine code. The latter, especially, should be
2146 considered experimental and has only been given cursory testing. Also
2147 fixed warnings in DriverPipeline. Merry Christmas.
2148]
2149[When complaining about non-rigid context, give suggestion of adding a signature
2150simonpj@microsoft.com**20071224122217]
2151[Improve handling of newtypes (fixes Trac 1495)
2152simonpj@microsoft.com**20071221090406
2153 
2154 In a few places we want to "look through" newtypes to get to the
2155 representation type.  But we need to be careful that  we don't fall
2156 into an ininite loop with e.g.
2157        newtype T = MkT T
2158 
2159 The old mechansim for doing this was to have a field nt_rep, inside
2160 a newtype TyCon, that gave the "ultimate representation" of the type.
2161 But that failed for Trac 1495, which looked like this:
2162    newtype Fix a = Fix (a (Fix a))
2163    data I a = I a
2164 Then, expanding the type (Fix I) went on for ever.
2165 
2166 The right thing to do seems to be to check for loops when epxanding
2167 the *type*, rather than in the *tycon*.  This patch does that,
2168        - Removes nt_rep from TyCon
2169        - Make Type.repType check for loops
2170 See Note [Expanding newtypes] in Type.lhs.
2171 
2172 At the same time I also fixed a bug for Roman, where newtypes were not
2173 being expanded properly in FamInstEnv.topNormaliseType.  This function
2174 and Type.repType share a common structure.
2175 
2176 
2177        Ian, see if this merges easily to the branch
2178        If not, I don't think it's essential to fix 6.8
2179 
2180]
2181[Fix Trac #1981: seq on a type-family-typed expression
2182simonpj@microsoft.com**20071221085542
2183 
2184 We were crashing when we saw
2185        case x of DEFAULT -> rhs
2186 where x had a type-family type.  This patch fixes it.
2187 
2188 MERGE to the 6.8 branch.
2189 
2190 
2191]
2192[Comment only
2193simonpj@microsoft.com**20071220164621]
2194[Fix nasty recompilation bug in MkIface.computeChangedOccs
2195simonpj@microsoft.com**20071220164307
2196 
2197        MERGE to 6.8 branch
2198 
2199 In computeChangedOccs we look up the old version of a Name.
2200 But a WiredIn Name doesn't have an old version, because WiredIn things
2201 don't appear in interface files at all.
2202 
2203 Result: ghc-6.9: panic! (the 'impossible' happened)
2204   (GHC version 6.9 for x86_64-unknown-linux):
2205        lookupVers1 base:GHC.Prim chr#{v}
2206 
2207 This fixes the problem.  The patch should merge easily onto the branch.
2208 
2209 
2210]
2211[Fix Trac #1988; keep the ru_fn field of a RULE up to date
2212simonpj@microsoft.com**20071220131912
2213 
2214 The ru_fn field was wrong when we moved RULES from one Id to another.
2215 The fix is simple enough.
2216 
2217 However, looking at this makes me realise that the worker/wrapper stuff
2218 for recursive newtypes isn't very clever: we generate demand info but
2219 then don't properly exploit it. 
2220 
2221 This patch fixes the crash though.
2222 
2223]
2224[Add better panic message in getSRTInfo (Trac #1973)
2225simonpj@microsoft.com**20071220180335]
2226[Remove obselete code for update-in-place (which we no longer do)
2227simonpj@microsoft.com**20071220173432]
2228[Implement generalised list comprehensions
2229simonpj@microsoft.com**20071220111300
2230 
2231   This patch implements generalised list comprehensions, as described in
2232   the paper "Comprehensive comprehensions" (Peyton Jones & Wadler, Haskell
2233   Workshop 2007).  If you don't use the new comprehensions, nothing
2234   should change.
2235   
2236   The syntax is not exactly as in the paper; see the user manual entry
2237   for details.
2238   
2239   You need an accompanying patch to the base library for this stuff
2240   to work.
2241   
2242   The patch is the work of Max Bolingbroke [batterseapower@hotmail.com],
2243   with some advice from Simon PJ.
2244   
2245   The related GHC Wiki page is
2246     http://hackage.haskell.org/trac/ghc/wiki/SQLLikeComprehensions
2247 
2248]
2249[More bindist-publishing fixes and refactoring
2250Ian Lynagh <igloo@earth.li>**20071218144505]
2251[Fix publishing the docs
2252Ian Lynagh <igloo@earth.li>**20071216122544]
2253[FIX #1980: must check for ThreadRelocated in killThread#
2254Simon Marlow <simonmar@microsoft.com>**20071217164610]
2255[Eliminate external GMP dependencies
2256Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071217093839
2257 - Ensure the stage1 compiler uses ghc's own GMP library on Mac OS
2258 - Need to rebuild installPackage and ifBuildable with stage1 compiler as they
2259   go into bindists
2260]
2261[Include ~/Library/Frameworks in the framework searchpath
2262Ian Lynagh <igloo@earth.li>**20071217233457
2263 Patch from Christian Maeder
2264]
2265[Make ghcii.sh executable
2266Ian Lynagh <igloo@earth.li>**20071217195734]
2267[Don't rely on distrib/prep-bin-dist-mingw being executable
2268Ian Lynagh <igloo@earth.li>**20071217195554]
2269[always try to remove the new file before restoring the old one (#1963)
2270Simon Marlow <simonmar@microsoft.com>**20071214123345]
2271[Fix a bug in gen_contents_index
2272Ian Lynagh <igloo@earth.li>**20071212121154
2273 The library doc index thought that the docs were in $module.html, rather
2274 than $package/$module.html.
2275]
2276[Fix lifting of case expressions
2277Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071215000837
2278 
2279 We have to explicity check for empty arrays in each alternative as recursive
2280 algorithms wouldn't terminate otherwise.
2281]
2282[Use (UArr Int) instead of PArray_Int# in vectorisation
2283Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071215000739]
2284[Fix bug in VectInfo loading
2285Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071214230914]
2286[Remove unused vectorisation built-in
2287Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071214011015]
2288[Treat some standard data cons specially during vectorisation
2289Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071213034855
2290 
2291 This is a temporary hack which allows us to vectorise literals.
2292]
2293[More vectorisation-related built ins
2294Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071213034839]
2295[Track changes to package ndp
2296Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071212062714]
2297[Add vectorisation built-ins
2298Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071212040521]
2299[FIX #1963: catch Ctrl-C and clean up properly
2300Simon Marlow <simonmar@microsoft.com>**20071213154056]
2301[Document the new threshold flags
2302Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071214003003]
2303[Separate and optional size thresholds for SpecConstr and LiberateCase
2304Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071214002719
2305 
2306 This patch replaces -fspec-threshold by -fspec-constr-threshold and
2307 -fliberate-case-threshold. The thresholds can be disabled by
2308 -fno-spec-constr-threshold and -fno-liberate-case-threshold.
2309]
2310[Make HscTypes.tyThingId respond not panic on ADataCon
2311simonpj@microsoft.com**20071204152903]
2312[Use Unix format for RnPat (no other change)
2313simonpj@microsoft.com**20071213140532]
2314[Improve free-variable handling for rnPat and friends (fixes Trac #1972)
2315simonpj@microsoft.com**20071213140213
2316 
2317 As well as fixing the immediate problem (Trac #1972) this patch does
2318 a signficant simplification and refactoring of pattern renaming.
2319 
2320 Fewer functions, fewer parameters passed....it's all good.  But it
2321 took much longer than I expected to figure out.
2322 
2323 The most significant change is that the NameMaker type does *binding*
2324 as well as *making* and, in the matchNameMaker case, checks for unused
2325 bindings as well.  This is much tider.
2326 
2327 (No need to merge to the 6.8 branch, but no harm either.)
2328 
2329 
2330]
2331[Allow more than 3 simplifier iterations to be run in phase 0
2332Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071213040835
2333 
2334 The number of iterations during the first run of phase 0 was erroneously
2335 hardcoded to 3. It should be *at least* 3 (see comments in code) but can be
2336 more.
2337]
2338[Document -ddump-simpl-phases
2339Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071213040822]
2340[New flag: -ddump-simpl-phases
2341Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071213040644
2342 
2343 This outputs the core after each simplifier phase (i.e., it produces less
2344 information that -ddump-simpl-iterations).
2345]
2346[Don't dump simplifier iterations with -dverbose-core2core
2347Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071213034635
2348 
2349 SimonPJ says this is the correct behaviour. We still have
2350 -ddump-simpl-iterations.
2351]
2352["list --simple-output" should be quiet when there are no packages to list
2353Simon Marlow <simonmar@microsoft.com>**20071212102230
2354 
2355 Previously:
2356 
2357 $ ghc-pkg list --user --simple-output
2358 ghc-pkg: no matches
2359 $
2360 
2361 Now:
2362 
2363 $ ghc-pkg list --user --simple-output
2364 $
2365]
2366[Fix vectorisation bug
2367Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071206233015]
2368[Vectorisation-related built ins
2369Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071206040829]
2370[Teach vectorisation about some temporary conversion functions
2371Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071206032547]
2372[Vectorise case of unit correctly
2373Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071205221305]
2374[Teach vectorisation about singletonP
2375Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071205221240]
2376[Optimise desugaring of parallel array comprehensions
2377Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071205221213]
2378[Teach vectorisation about tuple datacons
2379Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071205050221]
2380[Track additions to package ndp
2381Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071205042649]
2382[Track changes to package ndp
2383Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071205033859]
2384[Improve pretty-printing of InstDecl
2385simonpj@microsoft.com**20071210083053
2386 
2387 Fixes Trac #1966.
2388 
2389]
2390[Comments only
2391Pepe Iborra <mnislaih@gmail.com>**20071208204815]
2392[Refactoring only
2393Pepe Iborra <mnislaih@gmail.com>**20071208195222
2394 
2395 Suspensions in the Term datatype used for RTTI
2396 always get assigned a Type, so there is no reason
2397 to juggle around with a (Maybe Type) anymore.
2398 
2399]
2400[Change the format used by :print to show the content of references
2401Pepe Iborra <mnislaih@gmail.com>**20071208193013
2402     
2403     This comes as result of the short discussion linked below.
2404     
2405     http://www.haskell.org/pipermail/cvs-ghc/2007-December/040049.html
2406 
2407]
2408[Help the user when she tries to do :history without :trace
2409Pepe Iborra <mnislaih@gmail.com>**20071208180918
2410 
2411 Teach GHCi to show a "perhaps you forgot to use :trace?" when
2412 it finds that the user is trying to retrieve an empty :history
2413 
2414]
2415[Prevent the binding of unboxed things by :print
2416Pepe Iborra <mnislaih@gmail.com>**20071208181830]
2417[Coercions from boxy splitters must be sym'ed in pattern matches
2418Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071208105018]
2419[Properly keep track of whether normalising given or wanted dicts
2420Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071207071302
2421 - The information of whether given or wanted class dictionaries where
2422   normalised by rewriting wasn't always correctly propagated in TcTyFuns,
2423   which lead to malformed dictionary bindings.
2424 - Also fixes a bug in TcPat.tcConPat where GADT equalities where emitted in
2425   the wrong position in case bindings (which led to CoreLint failures).
2426]
2427[TcPat.tcConPat uses equalities instead of GADT refinement
2428Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071120071208
2429 * This patch implements the use of equality constraints instead of GADT
2430   refinements that we have been discussing for a while.
2431 * It just changes TcPat.tcConPat.  It doesn't have any of the simplification
2432   and dead code removal that is possible due to this change.
2433 * At the moment, this patch breaks a fair number of GADT regression tests.
2434]
2435[Use installPackage for register --inplace as well as installing
2436Ian Lynagh <igloo@earth.li>**20071207234652
2437 We also need to do the GHC.Prim hack when registering inplace or the
2438 tests that use it fail.
2439]
2440[Fix the libraries Makefile
2441Ian Lynagh <igloo@earth.li>**20071205125015
2442     x && y
2443 is not the same as
2444     if x; then y; fi
2445 as the latter doesn't fail when x fails
2446]
2447[Copy hscolour.css into dist/... so it gets installed with the library docs
2448Ian Lynagh <igloo@earth.li>**20071205013703]
2449[Add the hscolour.css from hscolour 1.8
2450Ian Lynagh <igloo@earth.li>**20071205011733]
2451[BIN_DIST_INST_SUBDIR Needs to be defined in config.mk so ./Makefile can see it
2452Ian Lynagh <igloo@earth.li>**20071207121317]
2453[#include ../includes/MachRegs.h rather than just MachRegs.h
2454Ian Lynagh <igloo@earth.li>**20071205170335
2455 This fixes building on NixOS. I'm not sure why it worked everywhere else,
2456 but not on NixOS, before.
2457]
2458[Fix bindist creation: readline/config.mk is gone
2459Ian Lynagh <igloo@earth.li>**20071203123031]
2460[FIX #1843: Generate different instructions on PPC
2461Ian Lynagh <igloo@earth.li>**20071203123237
2462 The old ones caused lots of
2463     unknown scattered relocation type 4
2464 errors. Patch from Chris Kuklewicz.
2465]
2466[Refactor gen_contents_index
2467Ian Lynagh <igloo@earth.li>**20071207183538
2468 Also fixes it with Solaris's sh, spotted by Christian Maeder
2469]
2470[Use GHC.Exts rather than GHC.Prim
2471Ian Lynagh <igloo@earth.li>**20071202234222]
2472[Alter the base:GHC.Prim hack in installPackage, following changes in base
2473Ian Lynagh <igloo@earth.li>**20071202215719]
2474[Remove debug warning, and explain why
2475simonpj@microsoft.com**20071207170507]
2476[comment only
2477Simon Marlow <simonmar@microsoft.com>**20071206092422]
2478[comment typo
2479Simon Marlow <simonmar@microsoft.com>**20071206092412]
2480[add Outputable instance for OccIfaceEq
2481Simon Marlow <simonmar@microsoft.com>**20071206092403]
2482[Workaround for #1959: assume untracked names have changed
2483Simon Marlow <simonmar@microsoft.com>**20071206092349
2484 This fixes the 1959 test, but will do more recompilation than is
2485 strictly necessary (but only when -O is on).  Still, more
2486 recompilation is better than segfaults, link errors or other random
2487 breakage.
2488]
2489[FIX part of #1959: declaration versions were not being incremented correctly
2490Simon Marlow <simonmar@microsoft.com>**20071206084556
2491 We were building a mapping from ModuleName to [Occ] from the usage
2492 list, using the usg_mod field as the key.  Unfortunately, due to a
2493 very poor naming decision, usg_mod is actually the module version, not
2494 the ModuleName.  usg_name is the ModuleName.  Since Version is also an
2495 instance of Uniquable, there was no type error: all that happened was
2496 lookups in the map never succeeded.  I shall rename the fields of
2497 Usage in a separate patch.
2498 
2499 This doesn't completely fix #1959, but it gets part of the way there.
2500 
2501 I have to take partial blame as the person who wrote this fragment of
2502 code in late 2006 (patch "Interface file optimisation and removal of
2503 nameParent").
2504]
2505[move FP_FIND_ROOT after the "GHC is required" check
2506Simon Marlow <simonmar@microsoft.com>**20071205101814]
2507[FIX #1110: hackery also needed when running gcc for CPP
2508Simon Marlow <simonmar@microsoft.com>**20071205150230]
2509[Teach :print to follow references (STRefs and IORefs)
2510Pepe Iborra <mnislaih@gmail.com>**20071204105511
2511 
2512 Prelude Data.IORef> :p l
2513 l = (_t4::Maybe Integer) : (_t5::[Maybe Integer])
2514 Prelude Data.IORef> p <- newIORef l
2515 Prelude Data.IORef> :p p
2516 p = GHC.IOBase.IORef (GHC.STRef.STRef {((_t6::Maybe Integer) :
2517                                         (_t7::[Maybe Integer]))})
2518 Prelude Data.IORef> :sp p
2519 p = GHC.IOBase.IORef (GHC.STRef.STRef {(_ : _)})
2520 
2521 
2522 I used braces to denote the contents of a reference.
2523 Perhaps there is a more appropriate notation?
2524]
2525[refactoring only
2526Pepe Iborra <mnislaih@gmail.com>**20071202125400]
2527[Change --shared to -shared in Win32 DLL docs
2528simonpj@microsoft.com**20071204154023]
2529[protect console handler against concurrent access (#1922)
2530Simon Marlow <simonmar@microsoft.com>**20071204153918]
2531[Make eta reduction check more carefully for bottoms (fix Trac #1947)
2532simonpj@microsoft.com**20071204145803
2533 
2534 Eta reduction was wrongly transforming
2535        f = \x. f x
2536 to
2537        f = f
2538 
2539 Solution: don't trust f's arity information; instead look at its
2540 unfolding.  See Note [Eta reduction conditions]
2541 
2542 Almost all the new lines are comments!
2543 
2544 
2545]
2546[Improve inlining for INLINE non-functions
2547simonpj@microsoft.com**20071204114955
2548       
2549 (No need to merge to 6.8, but no harm if a subsequent patch needs it.)
2550 
2551 The proximate cause for this patch is to improve the inlining for INLINE
2552 things that are not functions; this came up in the NDP project.  See
2553 Note [Lone variables] in CoreUnfold.
2554 
2555 This caused some refactoring that actually made things simpler.  In
2556 particular, more of the inlining logic has moved from SimplUtils to
2557 CoreUnfold, where it belongs.
2558 
2559 
2560]
2561[fix race conditions in sandboxIO (#1583, #1922, #1946)
2562Simon Marlow <simonmar@microsoft.com>**20071204114444
2563 using the new block-inheriting forkIO (#1048)
2564]
2565[:cd with no argument goes to the user's home directory
2566Simon Marlow <simonmar@microsoft.com>**20071204113945
2567 Seems better than getting a confusing 'cannot find directory' exception.
2568]
2569[forkIO starts the new thread blocked if the parent is blocked (#1048)
2570Simon Marlow <simonmar@microsoft.com>**20071204110947]
2571[Improve eta reduction, to reduce Simplifier iterations
2572simonpj@microsoft.com**20071203150039
2573 
2574 I finally got around to investigating why the Simplifier was sometimes
2575 iterating so often.  There's a nice example in Text.ParserCombinators.ReadPrec,
2576 which produced:
2577 
2578 NOTE: Simplifier still going after 3 iterations; bailing out.  Size = 339
2579 NOTE: Simplifier still going after 3 iterations; bailing out.  Size = 339
2580 NOTE: Simplifier still going after 3 iterations; bailing out.  Size = 339
2581 
2582 No progress is being made.  It turned out that an interaction between
2583 eta-expansion, casts, and eta reduction was responsible. The change is
2584 small and simple, in SimplUtils.mkLam: do not require the body to be
2585 a Lam when floating the cast outwards. 
2586 
2587 I also discovered a missing side condition in the same equation, so fixing
2588 that is good too.  Now there is no loop when compiling ReadPrec.
2589 
2590 Should do a full nofib run though.
2591 
2592]
2593[Don't default to stripping binaries when installing
2594Ian Lynagh <igloo@earth.li>**20071202195817]
2595[Improve pretty-printing for Insts
2596simonpj@microsoft.com**20071128173125]
2597[Reorganise TcSimplify (again); FIX Trac #1919
2598simonpj@microsoft.com**20071128173146
2599 
2600 This was a bit tricky.  We had a "given" dict like (d7:Eq a); then it got
2601 supplied to reduceImplication, which did some zonking, and emerged with
2602 a "needed given" (d7:Eq Int). That got everything confused.
2603 
2604 I found a way to simplify matters significantly.  Now reduceContext
2605        - first deals with methods/literals/dictionaries
2606        - then deals with implications
2607 Separating things in this way not only made the bug go away, but
2608 eliminated the need for the recently-added "needed-givens" results returned
2609 by checkLoop.  Hurrah.
2610 
2611 It's still a swamp.  But it's a bit better.
2612 
2613]
2614[FIX #1914: GHCi forgot all the modules that were loaded before an error
2615Simon Marlow <simonmar@microsoft.com>**20071130130734]
2616[FIX #1744: ignore the byte-order mark at the beginning of a file
2617Simon Marlow <simonmar@microsoft.com>**20071130101100]
2618[FIX Trac #1935: generate superclass constraints for derived classes
2619simonpj@microsoft.com**20071128150541
2620 
2621 This bug only reports a problem with phantom types, but actually
2622 there was quite a long-standing and significant omission in the
2623 constraint generation for derived classes.  See
2624 Note [Superclasses of derived instance] in TcDeriv.
2625 
2626 The test deriving-1935 tests both cases.
2627 
2628 
2629]
2630[Print a bit more info in VarBinds (no need to merge)
2631simonpj@microsoft.com**20071128150354]
2632[Check for duplicate bindings in CoreLint
2633simonpj@microsoft.com**20071128150214]
2634[add comment
2635Simon Marlow <simonmar@microsoft.com>**20071128111417]
2636[FIX #1916: don't try to convert float constants to int in CMM optimizer
2637Bertram Felgenhauer <int-e@gmx.de>**20071122095513]
2638[give a more useful message when the static flags have not been initialised (#1938)
2639Simon Marlow <simonmar@microsoft.com>**20071127135435]
2640[Rebuild utils with the stage1 compiler when making a bindist; fixes trac #1860
2641Ian Lynagh <igloo@earth.li>**20071127203959
2642 This is a bit unpleasant, as "make binary-dist" really shouldn't actually
2643 build anything, but it works.
2644]
2645[Remove the --print-docdir flag
2646Ian Lynagh <igloo@earth.li>**20071127195605
2647 It wasn't doing the right thing for bindists. Let's rethink...
2648]
2649[FIX #1925: the interpreter was not maintaining tag bits correctly
2650Simon Marlow <simonmar@microsoft.com>**20071127122614
2651 See comment for details
2652]
2653[add missing instruction: ALLOC_AP_NOUPD
2654Simon Marlow <simonmar@microsoft.com>**20071127122604]
2655[Check tag bits on the fun pointer of a PAP
2656Simon Marlow <simonmar@microsoft.com>**20071126160420]
2657[canonicalise the path to HsColour
2658Simon Marlow <simonmar@microsoft.com>**20071126141614]
2659[Consistently put www. on the front of haskell.org in URLs
2660Ian Lynagh <igloo@earth.li>**20071126215256]
2661[Fix some more URLs
2662Ian Lynagh <igloo@earth.li>**20071126214147]
2663[Tweak some URLs
2664Ian Lynagh <igloo@earth.li>**20071126194148]
2665[Fix some links
2666Ian Lynagh <igloo@earth.li>**20071126184406]
2667[Copy gmp stamps into bindists, so we don't try and rebuild gmp
2668Ian Lynagh <igloo@earth.li>**20071125211919]
2669[On Windows, Delete the CriticalSection's we Initialize
2670Ian Lynagh <igloo@earth.li>**20071125125845]
2671[On Windows, add a start menu link to the flag reference
2672Ian Lynagh <igloo@earth.li>**20071125124429]
2673[Remove html/ from the paths we put in the start menu on Windows
2674Ian Lynagh <igloo@earth.li>**20071125124150]
2675[MERGED: Make ":" in GHCi repeat the last command
2676Ian Lynagh <igloo@earth.li>**20071125122020
2677 Ian Lynagh <igloo@earth.li>**20071124231857
2678  It used to be a synonym for ":r" in 6.6.1, but this wasn't documented or
2679  known about by the developers. In 6.8.1 it was accidentally broken.
2680  This patch brings it back, but as "repeat the last command", similar to
2681  pressing enter in gdb. This is almost as good for people who want it to
2682  reload, and means that it can also be used to repeat commands like :step.
2683]
2684[MERGED: Put library docs in a $pkg, rather than $pkgid, directory; fixes trac #1864
2685Ian Lynagh <igloo@earth.li>**20071124212305
2686 Ian Lynagh <igloo@earth.li>**20071124171220
2687]
2688[Don't make a library documentation prologue
2689Ian Lynagh <igloo@earth.li>**20071124211943
2690 It's far too large now, and no-one complained when 6.8.1 didn't have one.
2691]
2692[Don't put package version numbers in links in index.html
2693Ian Lynagh <igloo@earth.li>**20071124211629]
2694[Define install-strip in Makefile
2695Ian Lynagh <igloo@earth.li>**20071124205037]
2696[Define install-strip in distrib/Makefile
2697Ian Lynagh <igloo@earth.li>**20071124204803]
2698[Install gmp from bindists; fixes trac #1848
2699Ian Lynagh <igloo@earth.li>**20071124185240]
2700[(native gen) fix code generated for GDTOI on x86_32
2701Bertram Felgenhauer <int-e@gmx.de>**20071121063942
2702 See trac #1910.
2703]
2704[Copy the INSTALL hack from mk/config.mk.in into distrib/Makefile-bin-vars.in
2705Ian Lynagh <igloo@earth.li>**20071124163028
2706 configure will set INSTALL to ./install-sh if it can't find it in the path,
2707 so we need to replace the . with the path to our root.
2708]
2709[Make install-sh executable /before/ we try to find it
2710Ian Lynagh <igloo@earth.li>**20071124162450]
2711[Document --info in the +RTS -? help
2712Ian Lynagh <igloo@earth.li>**20071123204352]
2713[MERGED: If we have hscolour then make source code links in teh haddock docs
2714Ian Lynagh <igloo@earth.li>**20071123233113
2715 Fri Nov 23 13:15:59 PST 2007  Ian Lynagh <igloo@earth.li>
2716]
2717[Tidy and trim the type environment in mkBootModDetails
2718simonpj@microsoft.com**20071123153519
2719 
2720 Should fix Trac #1833
2721 
2722 We were failing to trim the type envt in mkBootModDetails, so several
2723 functions all called (*), for example, were getting into the interface.
2724 Result chaos.  It only actually bites when we do the retyping-loop thing,
2725 which is why it's gone so long without a fix.
2726 
2727 
2728]
2729[refactor: HscNothing and boot modules do not need desugaring
2730Simon Marlow <simonmar@microsoft.com>**20071123135237]
2731[FIX #1910: fix code generated for GDTOI on x86_32
2732Bertram Felgenhauer <int-e@gmx.de>*-20071121102627]
2733[Properly ppr InstEqs in wanteds of implication constraints
2734Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071122093002]
2735[FIX #1910: fix code generated for GDTOI on x86_32
2736Bertram Felgenhauer <int-e@gmx.de>**20071121102627]
2737[Add built-in Double operations to vectorisation
2738Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071122002517]
2739[Teach vectorisation about Double
2740Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071121054932]
2741[Vectorise polyexprs with notes
2742Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071121053102]
2743[Make rebindable do-notation behave as advertised
2744simonpj@microsoft.com**20071121174914
2745 
2746 Adopt Trac #1537.  The patch ended up a bit bigger than I expected,
2747 so I suggest we do not merge this into the 6.8 branch.  But there
2748 is no funadamental reason why not.
2749 
2750 With this patch, rebindable do-notation really does type as if you
2751 had written the original (>>) and (>>=) operations in desguared form.
2752 
2753 I ended up refactoring some of the (rather complicated) error-context
2754 stuff in TcUnify, by pushing an InstOrigin into tcSubExp and its
2755 various calls. That means we could get rid of tcFunResTy, and the
2756 SubCtxt type.  This should improve error messages slightly
2757 in complicated situations, because we have an Origin to hand
2758 to instCall (in the (isSigmaTy actual_ty) case of tc_sub1).
2759 
2760 Thanks to Pepe for the first draft of the patch.
2761 
2762]
2763[Add DEBUG-only flag -dsuppress-uniques to suppress printing of uniques
2764simonpj@microsoft.com**20071116152446
2765 
2766 This is intended only for debugging use: it makes it easier to
2767 compare two variants without the variations between uniques mattering.
2768 
2769 (Of course, you can't actually feed the output to the C compiler
2770 or assembler and expect anything sensible to happen!)
2771 
2772]
2773[Add -dcore-lint when validating libraries
2774simonpj@microsoft.com**20071105164733]
2775[Fix Trac #1913: check data const for derived types are in scope
2776simonpj@microsoft.com**20071121151428
2777 
2778 When deriving an instance, the data constructors should all be in scope.
2779 This patch checks the condition.
2780 
2781 
2782]
2783[Fix Trac #1909: type of map in docs
2784simonpj@microsoft.com**20071120160152]
2785[Move file locking into the RTS, fixing #629, #1109
2786Simon Marlow <simonmar@microsoft.com>**20071120140859
2787 File locking (of the Haskell 98 variety) was previously done using a
2788 static table with linear search, which had two problems: the array had
2789 a fixed size and was sometimes too small (#1109), and performance of
2790 lockFile/unlockFile was suboptimal due to the linear search.
2791 Also the algorithm failed to count readers as required by Haskell 98
2792 (#629).
2793 
2794 Now it's done using a hash table (provided by the RTS).  Furthermore I
2795 avoided the extra fstat() for every open file by passing the dev_t and
2796 ino_t into lockFile.  This and the improvements to the locking
2797 algorithm result in a healthy 20% or so performance increase for
2798 opening/closing files (see openFile008 test).
2799]
2800[FIX Trac #1825: standalone deriving Typeable
2801simonpj@microsoft.com**20071120125732
2802 
2803 Standalone deriving of typeable now requires you to say
2804        instance Typeable1 Maybe
2805 which is exactly the shape of instance decl that is generated
2806 by a 'deriving( Typeable )' clause on the data type decl.
2807 
2808 This is a bit horrid, but it's the only consistent way, at least
2809 for now.  If you say something else, the error messages are helpful.
2810 
2811 MERGE to 6.8 branch
2812 
2813]
2814[FIX #1715: egregious bug in ifaceDeclSubBndrs
2815simonpj@microsoft.com**20071120111723
2816 
2817 ifaceDeclSubBndrs didn't have an IfaceSyn case; but with type
2818 families an IfaceSyn can introduce subordinate binders.  Result:
2819 chaos.
2820 
2821 The fix is easy though.  Merge to 6.8 branch.
2822 
2823 
2824]
2825[Always do 'setup makefile' before building each library
2826Simon Marlow <simonmar@microsoft.com>**20071120103329
2827 This forces preprocessing to happen, which is necessary if any of the
2828 .hsc files have been modified.  Without this change, a 'setup
2829 makefile' would be required by hand after a .hsc file changed.
2830 Fortunately 'setup makefile' isn't much extra work, and I've made it
2831 not overwrite GNUmakefile if it hasn't changed, which avoids
2832 recalculating the dependencies each time.
2833]
2834[FIX #1847 (improve :browse! docs, fix unqual)
2835claus.reinke@talk21.com**20071108013147
2836 
2837 - add example to docs, explain how to interpret
2838   output of `:browse! Data.Maybe`
2839 - print unqualified names according to current
2840   context, not the context of the target module
2841 
2842]
2843[Track changes to package ndp
2844Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071120033716]
2845[Temporary hack for passing PArrays from unvectorised to vectorised code
2846Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071120024545]
2847[Bind NDP stuff to [:.:] arrays
2848Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071119020302]
2849[Don't treat enumerations specially during vectorisation for the moment
2850Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071119013729]
2851[Fix bugs in vectorisation of case expressions
2852Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071119013714]
2853[More built-in NDP combinators
2854Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071119012205]
2855[New vectorisation built-ins
2856Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071118051940]
2857[Fix bug in conversion unvect/vect
2858Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071118051926]
2859[Extend built-in vectorisation environments
2860Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071118045219]
2861[Fix bug in generation of environments for vectorisation
2862Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071118045203]
2863[Add builtin var->var mapping to vectorisation
2864Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071118042605]
2865[Extend vectorisation built-in mappings with datacons
2866Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071118034351]
2867[Change representation of parallel arrays of enumerations
2868Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071118033355]
2869[Add vectorisation-related builtin
2870Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071118031513]
2871[Teach vectorisation about Bool
2872Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071117042714]
2873[Incomplete support for boxing during vectorisation
2874Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071117040739]
2875[Make sure some TyCons always vectorise to themselves
2876Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071117040537]
2877[Simple conversion vectorised -> unvectorised
2878Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071117023029]
2879[Fix bug in case vectorisation
2880Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071117015014]
2881[Vectorisation of algebraic case expressions
2882Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071116074814]
2883[More vectorisation-related built-ins
2884Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071116061831]
2885[Vectorisation utilities
2886Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071116051037]
2887[Add vectorisation built-ins
2888Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071116050959]
2889[Fix vectorisation of binders in case expressions
2890Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071116021833]
2891[Two small typos in the flags summary (merge to 6.8 branch)
2892simonpj@microsoft.com**20071119134639]
2893[Improve the situation for Trac #959: civilised warning instead of a trace msg
2894simonpj@microsoft.com**20071119122938
2895 
2896 This doesn't fix the root cause of the bug, but it makes the report
2897 more civilised, and points to further info.
2898 
2899]
2900[FIX Trac #1806: test for correct arity for datacon in infix pattern patch
2901simonpj@microsoft.com**20071119114301
2902 
2903 Happily the fix is easy; pls merge
2904 
2905]
2906[Accept x86_64-*-freebsd* as well as amd64-*-freebsd* in configure.ac
2907Ian Lynagh <igloo@earth.li>**20071117154502
2908 Patch from Brian P. O'Hanlon
2909]
2910[Attempt at fixing #1873, #1360
2911Simon Marlow <simonmar@microsoft.com>**20071116152148
2912 
2913 I think I figured out a reasonable way to manage the GHCi context,
2914 comments welcome.
2915 
2916 Rule 1: external package modules in the context are persistent.  That
2917 is, when you say 'import Data.Maybe' it survives over :load, :add,
2918 :reload and :cd.
2919 
2920 Rule 2: :load and :add remove all home-package modules from the
2921 context and add the rightmost target, as a *-module if possible.  This
2922 is as before, and makes sense for :load because we're starting a new
2923 program; the old home-package modules don't make sense any more.  For
2924 :add, it usually does what you want, because the new target will
2925 become the context.
2926 
2927 Rule 3: any modules from the context that fail to load during a
2928 :reload are remembered, and re-added to the context at the next
2929 successful :reload.
2930 
2931 Claus' suggestion about adding the "remembered" modules to the prompt
2932 prefixed with a ! is implemented but commented out.  I couldn't
2933 decide whether it was useful or confusing.
2934 
2935 One difference that people might notice is that after a :reload where
2936 there were errors, GHCi would previously dump you in the most recent
2937 module that it loaded.  Now it dumps you in whatever subset of the
2938 current context still makes sense, and in the common case that will
2939 probably be {Prelude}.
2940]
2941[Wibble to fix Trac #1901 (shorten messsage slightly)
2942simonpj@microsoft.com**20071116150341]
2943[Improve links from flag reference to the relevant section; and improve doc of RankN flags
2944simonpj@microsoft.com**20071116145816]
2945[FIX Trac #1901: check no existential context in H98 mode
2946simonpj@microsoft.com**20071116145609]
2947[Improve documentation of data type declarations (Trac #1901)
2948simonpj@microsoft.com**20071116081841]
2949[Change the command-line semantics for query commands
2950Simon Marlow <simonmar@microsoft.com>**20071116132046
2951 
2952 From the help text:
2953 
2954   Commands that query the package database (list, latest, describe,
2955   field) operate on the list of databases specified by the flags
2956   --user, --global, and --package-conf.  If none of these flags are
2957   given, the default is --global --user.
2958 
2959 This makes it possible to query just a single database (e.g. the
2960 global one without the user one), which needed tricks to accomplish
2961 before.
2962]
2963[use "ghc-pkg latest --global" instead of "ghc-pkg list --simple-output"
2964Simon Marlow <simonmar@microsoft.com>**20071116122018
2965 The former now does the right thing: it uses the global database only,
2966 and picks the most recent package with the given name.
2967]
2968[Disallow installing packages whose names  differ in case only.
2969Simon Marlow <simonmar@microsoft.com>**20071116121153
2970 --force overrides.  Requested by Duncan Coutts, with a view to
2971 treating package names as case-insensitive in the future.
2972]
2973[FIX BUILD (with GHC 6.2.x): update .hi-boot file
2974Simon Marlow <simonmar@microsoft.com>**20071116101227]
2975[FIX #1828: installing to a patch with spaces in
2976Simon Marlow <simonmar@microsoft.com>**20071115155747
2977 We have to pass the path to gcc when calling windres, which itself
2978 might have spaces in.  Furthermore, we have to pass the path to gcc's
2979 tools to gcc.  This means getting the quoting right, and after much
2980 experimentation and reading of the windres sources I found something
2981 that works: passing --use-temp-files to windres makes it use its own
2982 implementation of quoting instead of popen(), and this does what we
2983 want.  Sigh.
2984]
2985[on Windows, install to a directory with spaces (test for #1828)
2986Simon Marlow <simonmar@microsoft.com>**20071115155327]
2987[FIX #1679: crash on returning from a foreign call
2988Simon Marlow <simonmar@microsoft.com>**20071115131635
2989 We forgot to save a pointer to the BCO over the foreign call.  Doing
2990 enough allocation and GC during the call could provoke a crash.
2991]
2992[Avoid the use of unversioned package dependencies
2993Simon Marlow <simonmar@microsoft.com>**20071115103249
2994 Fortunately "ghc-pkg list $pkg --simple-output" is a good way to add
2995 the version number.
2996]
2997[FIX #1596 (remove deprecated --define-name)
2998Simon Marlow <simonmar@microsoft.com>**20071114165323
2999 Also remove the old command-line syntax for ghc-pkg, which was not
3000 documented.  Do not merge.
3001]
3002[FIX #1837: remove deprecated support for unversioned dependencies (do not merge)
3003Simon Marlow <simonmar@microsoft.com>**20071114161044
3004 
3005]
3006[wibble
3007Pepe Iborra <mnislaih@gmail.com>**20071114233356]
3008[Make pprNameLoc more robust in absence of loc information
3009Pepe Iborra <mnislaih@gmail.com>**20071114233343]
3010[Try to manage the size of the text rendered for ':show bindings'
3011Pepe Iborra <mnislaih@gmail.com>**20071114231601]
3012[Make the Term ppr depth aware
3013Pepe Iborra <mnislaih@gmail.com>**20071114183417]
3014[Use paragraph fill sep where possible
3015Pepe Iborra <mnislaih@gmail.com>**20071114181233]
3016[Make SpecConstr work again
3017simonpj@microsoft.com**20071115084242
3018 
3019 In a typo I'd written env instead of env', and as a result RULES are
3020 practically guaranteed not to work in a recursive group.  This pretty
3021 much kills SpecConstr in its tracks!
3022 
3023 Well done Kenny Lu for spotting this.  The fix is easy.
3024 
3025 Merge into 6.8 please.
3026 
3027 
3028 
3029]
3030[Documentation only - fix typo in flags reference
3031Tim Chevalier <chevalier@alum.wellesley.edu>**20071115055748]
3032[Avoid making Either String an instance of Monad in the Haddock parser
3033David Waern <david.waern@gmail.com>**20071114204050]
3034[FIX 1463 (implement 'ghc-pkg find-module')
3035claus.reinke@talk21.com**20071109162652
3036 
3037 - the ticket asks for a module2package lookup in ghc-pkg
3038   (this would be useful to have in cabal, as well)
3039 
3040 - we can now ask which packages expose a module we need,
3041   eg, when preparing a cabal file or when getting errors
3042   after package reorganisations:
3043 
3044   $ ./ghc-pkg-inplace find-module Var
3045   c:/fptools/ghc/driver/package.conf.inplace:
3046       (ghc-6.9.20071106)
3047   
3048   $ ./ghc-pkg-inplace find-module Data.Sequence
3049   c:/fptools/ghc/driver/package.conf.inplace:
3050       containers-0.1
3051 
3052 - implemented as a minor variation on listPackages
3053 
3054 (as usual, it would be useful if one could combine
3055 multiple queries into one)
3056 
3057]
3058[remove --define-name from the --help usage message (#1596)
3059Simon Marlow <simonmar@microsoft.com>**20071114153417
3060 
3061]
3062[FIX #1837: emit deprecated message for unversioned dependencies
3063Simon Marlow <simonmar@microsoft.com>**20071114153010]
3064[Fix #782, #1483, #1649: Unicode GHCi input
3065Simon Marlow <simonmar@microsoft.com>**20071114151411
3066 GHCi input is now treated universally as UTF-8, except for the Windows
3067 console where we do the correct conversion from the current code
3068 page (see System.Win32.stringToUnicode).
3069 
3070 That leaves non-UTF-8 locales on Unix as unsupported, but (a) we only
3071 accept source files in UTF-8 anyway, and (b) UTF-8 is quite ubiquitous
3072 as the default locale.
3073 
3074]
3075[Fix build
3076David Waern <david.waern@gmail.com>**20071114125842
3077 I had forgot to update HaddockLex.hi-boot-6, so the build with 6.2.2
3078 failed. This fixes that.
3079]
3080[FIX Trac 1662: actually check for existentials in proc patterns
3081simonpj@microsoft.com**20071114112930
3082 
3083 I'd fixed the bug for code that should be OK, but had forgotten to
3084 make the test for code that should be rejected!
3085 
3086 Test is arrowfail004
3087 
3088]
3089[FIX Trac 1888; duplicate INLINE pragmas
3090simonpj@microsoft.com**20071114104701
3091 
3092 There are actually three things here
3093 - INLINE pragmas weren't being pretty-printed properly
3094 - They were being classified into too-narrow boxes by eqHsSig
3095 - They were being printed in to much detail by hsSigDoc
3096 
3097 All easy.  Test is rnfail048.
3098 
3099]
3100[Run the -frule-check pass more often (when asked)
3101simonpj@microsoft.com**20071114104632]
3102[GHCi debugger: added a new flag, -fno-print-binding-contents
3103Pepe Iborra <mnislaih@gmail.com>**20071113174539
3104 
3105 The contents of bindings show at breakpoints and by :show bindings
3106 is rendered using the same printer that :print uses.
3107 But sometimes the output it gives spans over too many lines and the
3108 user may want to be able to disable it.
3109]
3110[Fix Trac 1865: GHCi debugger crashes with :print
3111Pepe Iborra <mnislaih@gmail.com>**20071113170113]
3112[Replaced two uses of head b explicit pattern matching
3113Pepe Iborra <mnislaih@gmail.com>**20071013113136]
3114[Print binding contents in :show bindings
3115Pepe Iborra <mnislaih@gmail.com>**20071006123952]
3116[ Leftovers from the 1st GHCi debugger prototype
3117Pepe Iborra <mnislaih@gmail.com>**20071004204718]
3118[Following an indirection doesn't count as a RTTI step
3119Pepe Iborra <mnislaih@gmail.com>**20070928091941]
3120[FIX #1653 (partially): add -X flags to completion for :set
3121Simon Marlow <simonmar@microsoft.com>**20071113153257]
3122[Merge from Haddock: Add <<url>> for images
3123David Waern <david.waern@gmail.com>**20071112220537
3124 A merge of this patch:
3125 
3126   Mon Aug  7 16:22:14 CEST 2006  Simon Marlow <simonmar@microsoft.com>
3127     * Add <<url>> for images
3128     Submitted by: Lennart Augustsson
3129 
3130 Please merge to the 6.8.2 branch.
3131]
3132[Improve documentation of INLINE, esp its interactions with other transformations
3133simonpj@microsoft.com**20071112160240]
3134[Comment re Trac #1220
3135simonpj@microsoft.com**20071112154109]
3136[Merge from Haddock: Modify lexing of /../
3137David Waern <david.waern@gmail.com>**20071112023856
3138 
3139   Tue Aug 28 11:19:54 CEST 2007  Simon Marlow <simonmar@microsoft.com>
3140     * Modify lexing of /../
3141     This makes /../ more like '..', so that a single / on a line doesn't
3142     trigger a parse error.  This should reduce the causes of accidental
3143     parse errors in Haddock comments; apparently stray / characters are
3144     a common source of failures.
3145 
3146 Please merge this to the 6.8.2 branch.
3147]
3148[Merge from Haddock: allow blank lines inside code blocks
3149David Waern <david.waern@gmail.com>**20071112013439
3150 
3151   Tue Jan  9 14:14:34 CET 2007  Simon Marlow <simonmar@microsoft.com>
3152     * allow blank lines inside a @...@ code block
3153 
3154 Please merge this to the 6.8.2 branch
3155]
3156[Merge of a patch from the old Haddock branch:
3157David Waern <david.waern@gmail.com>**20071112013143
3158 
3159   Fri Jan  5 12:13:41 CET 2007  Simon Marlow <simonmar@microsoft.com>
3160     * Fix up a case of extra vertical space after a code block
3161 
3162 Please merge this to the 6.8.2 branch
3163]
3164[Remove ex-extralibs from libraries/Makefile
3165Ian Lynagh <igloo@earth.li>**20071111213618]
3166[Remove the X11 and HGL libraries from extralibs
3167Ian Lynagh <igloo@earth.li>**20071111213447
3168 Don Stewart, X11 maintainer, requested we remove X11, and HGL depends on it
3169 on Linux (and we don't try to build HGL on Windows).
3170]
3171[arrows is no longer an extralib
3172Ian Lynagh <igloo@earth.li>**20071027123656]
3173[Turn -fprint-bind-result off by default
3174Ian Lynagh <igloo@earth.li>**20071111001126]
3175[TAG 2007-11-11
3176Ian Lynagh <igloo@earth.li>**20071111161540]
3177Patch bundle hash:
3178362403f810d8f65878e7da2e91907c54c0fcbc4a