Ticket #1537: donotation.patch2

File donotation.patch2, 128.0 KB (added by mnislaih, 8 years ago)

Flexi or Boxy? I never know.

Line 
1
2New patches:
3
4[Be more liberal when typechecking rebindable do-notation
5Pepe Iborra <[email protected]>**20080201193440
6   
7   More Trac #1537. The previous patch still assumed that
8   the monadic combinators have types of shape
9   
10   (>>=) :: rhs_ty -> (a -> res_ty) -> res_ty
11   (>>)  :: rhs_ty -> res_ty -> res_ty
12   
13   This patch generalizes those assumptions
14] {
15hunk ./compiler/deSugar/DsExpr.lhs 554
16-                                 result_ty (cantFailMatchResult body)
17+                                 (exprType body) (cantFailMatchResult body)
18hunk ./compiler/typecheck/TcMatches.lhs 470
19-tcDoStmt ctxt (BindStmt pat rhs bind_op fail_op) reft_res_ty@(_,res_ty) thing_inside
20+tcDoStmt ctxt (BindStmt pat rhs bind_op fail_op) reft_res_ty@(reft,res_ty) thing_inside
21hunk ./compiler/typecheck/TcMatches.lhs 479
22-       -- Deal with rebindable syntax; (>>=) :: rhs_ty -> (a -> res_ty) -> res_ty
23+       -- Deal with rebindable syntax; (>>=) :: rhs_ty -> (a -> thing_ty) -> res_ty
24+        ; thing_ty <- newFlexiTyVarTy liftedTypeKind
25hunk ./compiler/typecheck/TcMatches.lhs 484
26-                       (mkFunTys [rhs_ty, mkFunTy pat_ty res_ty] res_ty)
27+                       (mkFunTys [rhs_ty, mkFunTy pat_ty thing_ty] res_ty)
28hunk ./compiler/typecheck/TcMatches.lhs 492
29-       ; (pat', thing) <- tcLamPat pat pat_ty reft_res_ty thing_inside
30+       ; (pat', thing) <- tcLamPat pat pat_ty (reft,thing_ty) thing_inside
31hunk ./compiler/typecheck/TcMatches.lhs 497
32-tcDoStmt ctxt (ExprStmt rhs then_op _) reft_res_ty@(_,res_ty) thing_inside
33+tcDoStmt ctxt (ExprStmt rhs then_op _) reft_res_ty@(reft,res_ty) thing_inside
34hunk ./compiler/typecheck/TcMatches.lhs 499
35-
36-       -- Deal with rebindable syntax; (>>) :: rhs_ty -> res_ty -> res_ty
37+        ; thing_ty <- newFlexiTyVarTy liftedTypeKind
38+       -- Deal with rebindable syntax; (>>) :: rhs_ty -> thing_ty -> res_ty
39hunk ./compiler/typecheck/TcMatches.lhs 502
40-                                (mkFunTys [rhs_ty, res_ty] res_ty)
41+                                (mkFunTys [rhs_ty, thing_ty] res_ty)
42hunk ./compiler/typecheck/TcMatches.lhs 504
43-       ; thing <- thing_inside reft_res_ty
44+       ; thing <- thing_inside (reft,thing_ty)
45}
46
47Context:
48
49[Fix #2062: foldr1 problem in hpc tool
50[email protected]**20080126210607]
51[Fix do-notation so that it works with -DDEBUG
52[email protected]**20080125163101]
53[Be a little keener to inline
54[email protected]**20080125104616
55 
56 This is really a bug.  A saturated call in an "interesting" context
57 should inline, but there was a strange "n_val_args > 0" condition, which
58 was stopping it.  Reported by Roman.
59 
60 
61]
62[Fix the build
63Ian Lynagh <[email protected]>**20080124141800
64 Work around various problems caused by some of the monadification patches
65 not being applied.
66]
67[Replace ioToTcRn with liftIO
68Twan van Laarhoven <[email protected]>**20080117220553]
69[Remove unused custom versions of monad combinators from IOEnv
70Twan van Laarhoven <[email protected]>**20080117215835]
71[Remove unused custom versions of monad combinators from UniqSupply
72Twan van Laarhoven <[email protected]>**20080117215752]
73[Replace remaining uses of ioToIOEnv by liftIO, remove ioToIOEnv
74Twan van Laarhoven <[email protected]>**20080117215233]
75[Monadify iface/BuildTyCl: use return
76Twan van Laarhoven <[email protected]>**20080117215036]
77[Monadify iface/TcIface: use do, return, applicative, standard monad functions
78Twan van Laarhoven <[email protected]>**20080117214938]
79[Monadify iface/MkIface: use do, return and standard monad functions
80Twan van Laarhoven <[email protected]>**20080117214441]
81[Monadify iface/LoadIface: use return and liftIO
82Twan van Laarhoven <[email protected]>**20080117214233]
83[Monadify iface/IfaceEnv: use do, return and standard monad functions
84Twan van Laarhoven <[email protected]>**20080117214041]
85[Monadify typecheck/TcRnMonad: use return, standard monad functions and liftIO
86Twan van Laarhoven <[email protected]>**20080117213850]
87[Monadify typecheck/TcEnv: use do, return, applicative, standard monad functions
88Twan van Laarhoven <[email protected]>**20080117213636]
89[Monadify typecheck/TcRnDriver: use return and standard monad functions
90Twan van Laarhoven <[email protected]>**20080117213352]
91[Monadify typecheck/TcMatches: use return and standard monad functions
92Twan van Laarhoven <[email protected]>**20080117213307]
93[Monadify typecheck/TcMType: use do, return, applicative, standard monad functions
94Twan van Laarhoven <[email protected]>**20080117213242]
95[Monadify typecheck/TcInstDcls: use do, return and standard monad functions
96Twan van Laarhoven <[email protected]>**20080117213040]
97[Monadify typecheck/TcHsType: use do, return and standard monad functions
98Twan van Laarhoven <[email protected]>**20080117212822]
99[Monadify typecheck/TcSimplify: use do, return and standard monad functions
100Twan van Laarhoven <[email protected]>**20080117212200]
101[Monadify typecheck/TcSplice: use do and return
102Twan van Laarhoven <[email protected]>**20080117211911]
103[Monadify typecheck/TcTyClsDecls: use return and standard monad functions
104Twan van Laarhoven <[email protected]>**20080117211746]
105[Monadify typecheck/TcDefaults: use return and standard monad functions
106Twan van Laarhoven <[email protected]>**20080117211558]
107[Monadify typecheck/TcDeriv: use return
108Twan van Laarhoven <[email protected]>**20080117211507]
109[Monadify typecheck/TcClassDcl: use do, return and standard monad functions
110Twan van Laarhoven <[email protected]>**20080117211439]
111[Monadify typecheck/TcBinds: use do, return and standard monad functions
112Twan van Laarhoven <[email protected]>**20080117211035]
113[Monadify typecheck/TcArrows: use do and return
114Twan van Laarhoven <[email protected]>**20080117210818]
115[Monadify typecheck/Inst: use do, return and standard monad functions
116Twan van Laarhoven <[email protected]>**20080117210655]
117[Monadify typecheck/TcUnify: use do, return and standard monad functions
118Twan van Laarhoven <[email protected]>**20080117210213
119   there may be some accidental tab->space conversion
120]
121[Monadify typecheck/TcTyFuns: use standard monad functions
122Twan van Laarhoven <[email protected]>**20080117205505]
123[Monadify typecheck/TcPat: use return and standard monad functions
124Twan van Laarhoven <[email protected]>**20080117205423]
125[Monadify typecheck/TcRules: use do, return and standard monad functions
126Twan van Laarhoven <[email protected]>**20080117205307]
127[Monadify typecheck/TcForeign: use do, return and standard monad functions
128Twan van Laarhoven <[email protected]>**20080117204934]
129[Monadify typecheck/TcExpr: use do, return and standard monad functions
130Twan van Laarhoven <[email protected]>**20080117204603]
131[Monadify specialise/Specialise: use do, return, standard monad functions and MonadUnique
132Twan van Laarhoven <[email protected]>**20080117204330]
133[Monadify specialise/SpecConstr: use do, return and standard monad functions
134Twan van Laarhoven <[email protected]>**20080117203842]
135[Monadify stgSyn/StgLint
136Twan van Laarhoven <[email protected]>**20080117203042
137  - made LintM a newtype instead of a type synonym
138  - use do, return and standard monad functions
139  - use MaybeT where `thenMaybeL` was used
140  - removed custom versions of monad functions
141 
142]
143[Monadify stgSyn/CoreToStg
144Twan van Laarhoven <[email protected]>**20080117202619
145  - made LneM a newtype instead of a type synonym
146  - use do, return and standard monad functions
147  - removed custom versions of monad functions
148]
149[Remove generic monad function from State, it was moved to MonadUtils
150Twan van Laarhoven <[email protected]>**20080117202144]
151[Added MaybeT monad transformer to utils/Maybes
152Twan van Laarhoven <[email protected]>**20080117202051]
153[Removed unused Maybe functions, use the standard Maybe monad instead
154Twan van Laarhoven <[email protected]>**20080117201953]
155[MonadIO instance for IOEnv
156Twan van Laarhoven <[email protected]>**20080117201812]
157[Monadify simplCore/SimplMonad: custom monad functions are no longer needed
158Twan van Laarhoven <[email protected]>**20080117200354]
159[Monadify simplCore/SimplMonad: use MonadUnique instance instead of custom functions
160Twan van Laarhoven <[email protected]>**20080117200228]
161[Monadify simplCore/SetLevels: use do, return, standard monad functions and MonadUnique
162Twan van Laarhoven <[email protected]>**20080117195958]
163[Monadify simplCore/SimplUtils: use do, return, standard monad functions and MonadUnique
164Twan van Laarhoven <[email protected]>**20080117195625]
165[Monadify simplCore/Simplify: use do and return
166Twan van Laarhoven <[email protected]>**20080117195408]
167[Monadify simplCore/SimplEnv: use standard monad functions
168Twan van Laarhoven <[email protected]>**20080117195255]
169[Monadify simplCore/SimplCore: use do, return and standard monad functions
170Twan van Laarhoven <[email protected]>**20080117195149]
171[Monadify profiling/SCCfinal
172Twan van Laarhoven <[email protected]>**20080117194417
173   - change monad type synonym into a newtype
174   - use do, return and standard monad functions
175]
176[Monadify coreSyn/CorePrep: use do, return, applicative, standard monad functions
177Twan van Laarhoven <[email protected]>**20080117193154]
178[Monadify rename/RnTypes: use do, return and standard monad functions
179Twan van Laarhoven <[email protected]>**20080117190823]
180[Monadify rename/RnPat: use do, return and standard monad functions
181Twan van Laarhoven <[email protected]>**20080117190033]
182[Monadify rename/RnNames: use return and standard monad functions
183Twan van Laarhoven <[email protected]>**20080117185837]
184[seqMaybe is more commonly known as mplus
185Twan van Laarhoven <[email protected]>**20080117185330]
186[Monadify rename/RnBinds: use do, return and standard monad functions
187Twan van Laarhoven <[email protected]>**20080117184354]
188[Monadify stranal/StrictAnal: use the State monad instead of a custom thing
189Twan van Laarhoven <[email protected]>**20080117180449]
190[Monadify stranal/WwLib: use do, return, applicative, standard monad functions
191Twan van Laarhoven <[email protected]>**20080117180022]
192[Added MonadUnique class for monads that have a unique supply
193Twan van Laarhoven <[email protected]>**20080117175616]
194[Monadify stranal/WorkWrap: use do, return, applicative, standard monad functions
195Twan van Laarhoven <[email protected]>**20080117175007]
196[Added Applicative and Functor instances for State monad
197Twan van Laarhoven <[email protected]>**20080117174656]
198[Monadify deSugar/DsMonad: use do, return, applicative, standard monad functions
199Twan van Laarhoven <[email protected]>**20080117174432]
200[Monadify deSugar/Desugar: use do, return, applicative, standard monad functions
201Twan van Laarhoven <[email protected]>**20080117174130]
202[Monadify deSugar/DsUtils: use do, return, applicative, standard monad functions
203Twan van Laarhoven <[email protected]>**20080117173856]
204[Monadify deSugar/DsListComp: use do, return, applicative, standard monad functions
205Twan van Laarhoven <[email protected]>**20080117173205]
206[Monadify deSugar/DsForeign: use do, return, applicative, standard monad functions
207Twan van Laarhoven <[email protected]>**20080117172843]
208[Monadify deSugar/DsGRHSs: use do, return, applicative, standard monad functions
209Twan van Laarhoven <[email protected]>**20080117172228]
210[Monadify deSugar/DsExpr: use do, return, applicative, standard monad functions
211Twan van Laarhoven <[email protected]>**20080117164055]
212[Added Applicative instance for IOEnv
213Twan van Laarhoven <[email protected]>**20080117162644]
214[Add 'util/MonadUtils.hs' with common monad (and applicative) combinators
215Twan van Laarhoven <[email protected]>**20080117161939]
216[Monadify deSugar/MatchLit: use do, return, applicative, standard monad functions
217Twan van Laarhoven <[email protected]>**20080117173439]
218[Monadify deSugar/Match: use do, return, applicative, standard monad functions
219Twan van Laarhoven <[email protected]>**20080117173336]
220[Monadify deSugar/DsCCall: use do, return, applicative, standard monad functions
221Twan van Laarhoven <[email protected]>**20080117165334]
222[Monadify deSugar/DsArrows: use do, return, applicative, standard monad functions
223Twan van Laarhoven <[email protected]>**20080117165114]
224[Monadify deSugar/DsBinds: use do, return, applicative, standard monad functions
225Twan van Laarhoven <[email protected]>**20080117164746]
226[Added MASSERT macro for assertions in do notation
227Twan van Laarhoven <[email protected]>**20080117163112]
228[FIX BUILD wrong imports on non-Windows
229Simon Marlow <[email protected]>**20080124092935]
230[Show CmdLineError exceptions as "<command line>: ..."
231Simon Marlow <[email protected]>**20080123163145
232 instead of something like "ghc-6.8.2: ...", which causes problems in
233 the test suite.  In any case, "<command line>" seems a more
234 appropriate context for these errors, the only question is whether
235 we're using CmdLineError incorrectly anywhere.
236]
237[FIX #1750: in isBrokenPackage, don't loop if the deps are recursive
238Simon Marlow <[email protected]>**20080123160703]
239[FIX #1750: throw out mutually recursive groups of packages
240Simon Marlow <[email protected]>**20080123160635]
241[Windows now doesn't need different values for DQ in the build system
242Ian Lynagh <[email protected]>**20080123173933]
243[Fix setting argv[0] in shell-utils.c on Windows
244Ian Lynagh <[email protected]>**20080123160139]
245[Escape arguments for Windows in shell-tools.c
246Ian Lynagh <[email protected]>**20080123151724]
247[Attach the INLINE Activation pragma to any automatically-generated specialisations
248[email protected]**20080123134012
249 
250 Another idea suggested by Roman, happily involving a one-line change.  Here's
251 the new Note in Specialise:
252 
253 Note [Auto-specialisation and RULES]
254 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
255 Consider:
256    g :: Num a => a -> a
257    g = ...
258 
259    f :: (Int -> Int) -> Int
260    f w = ...
261    {-# RULE f g = 0 #-}
262 
263 Suppose that auto-specialisation makes a specialised version of
264 g::Int->Int That version won't appear in the LHS of the RULE for f.
265 So if the specialisation rule fires too early, the rule for f may
266 never fire.
267 
268 It might be possible to add new rules, to "complete" the rewrite system.
269 Thus when adding
270        RULE forall d. g Int d = g_spec
271 also add
272        RULE f g_spec = 0
273 
274 But that's a bit complicated.  For now we ask the programmer's help,
275 by *copying the INLINE activation pragma* to the auto-specialised rule.
276 So if g says {-# NOINLINE[2] g #-}, then the auto-spec rule will also
277 not be active until phase 2.
278 
279]
280[Tidy up the treatment of SPECIALISE pragmas
281[email protected]**20080122122613
282 
283 Remove the now-redundant "const-dicts" field in SpecPrag
284 
285 In dsBinds, abstract over constant dictionaries in the RULE.
286 This avoids the creation of a redundant, duplicate, rule later
287 in the Specialise pass, which was happening before.
288 
289 There should be no effect on performance either way, just less
290 duplicated code, and the compiler gets a little simpler.
291 
292]
293[Comments only
294[email protected]**20080122122547]
295[FIX #1838, #1987: change where GHCi searches for config files
296Simon Marlow <[email protected]>**20080123143207
297 
298 6.6 behaviour:
299   - ./.ghci
300   - $HOME/.ghci
301 
302 6.8.[12] behaviour:
303   - ./.ghci
304   - Windows: c:/Documents and Settings/<user>/.ghci
305   - Unix: $HOME/.ghci
306 
307 6.10 (and 6.8.3 when this is merged):
308   - ./.ghci
309   - Windows: c:/Documents and Settings/<user>/Application Data/ghc/ghci.conf
310   - Unix: $HOME/.ghc/ghci.conf
311   - $HOME/.ghci
312 
313 We will need to document this in the 6.8.3 release notes because it
314 may affect Windows users who have adapted their setup to 6.8.[12].
315]
316[FIX #1767 :show documentation claimed too much
317Simon Marlow <[email protected]>**20080122152943
318 Also put the :help docs back within 80 columns
319]
320[fix syntax-error output for :show
321Simon Marlow <[email protected]>**20080122144923]
322[This goes with the patch for #1839, #1463
323Simon Marlow <[email protected]>**20080122161811]
324[use pathSeparator instead of '/'
325Simon Marlow <[email protected]>**20080122140957]
326[cleanup only
327Simon Marlow <[email protected]>**20080122132047]
328[FIX #1839, #1463, by supporting ghc-pkg bulk queries with substring matching
329[email protected]**20080121161744
330 
331    - #1839 asks for a ghc-pkg dump feature, #1463 for the ability
332      to query the same fields in several packages at once.
333 
334    - this patch enables substring matching for packages in 'list',
335      'describe', and 'field', and for modules in find-module. it
336      also allows for comma-separated multiple fields in 'field'.
337      substring matching can optionally ignore cases to avoid the
338      rather unpredictable capitalisation of packages.
339 
340    - the patch is not quite as full-featured as the one attached
341      to #1839, but avoids the additional dependency on regexps.
342      open ended substrings are indicated by '*' (only the three
343      forms prefix*, *suffix, *infix* are supported)
344 
345    - on windows, the use of '*' for package/module name globbing
346      leads to conflicts with filename globbing: by default, windows
347      programs are self-globbing, and bash adds another level of
348      globbing on top of that. it seems impossible to escape '*'
349      from both levels of globbing, so we disable default globbing
350      for ghc-pkg and ghc-pkg-inplace. users of bash will still
351      have filename globbing available, users of cmd won't.
352 
353    - if it is considered necessary to reenable filename globbing
354      for cmd users, it should be done selectively, only for
355      filename parameters. to this end, the patch includes a
356      glob.hs program which simply echoes its parameters after
357      filename globbing. see the commented out glob command in
358      Main.hs for usage or testing.
359 
360    - this covers both tickets, and permits for the most common
361      query patterns (finding all packages contributing to the
362      System. hierarchy, finding all regex or string packages,
363      listing all package maintainers or haddock directories,
364      ..), which not only i have wanted to have for a long time.
365 
366      examples (the quotes are needed to escape shell-based
367      filename globbing and should be omitted in cmd.exe):
368 
369        ghc-pkg list '*regex*' --ignore-case
370        ghc-pkg list '*string*' --ignore-case
371        ghc-pkg list '*gl*' --ignore-case
372        ghc-pkg find-module 'Data.*'
373        ghc-pkg find-module '*Monad*'
374        ghc-pkg field '*' name,maintainer
375        ghc-pkg field '*' haddock-html
376        ghc-pkg describe '*'
377 
378 
379]
380[Wibble to the OccurAnal fix for RULEs and loop-breakers
381[email protected]**20080121165529]
382[FIX #2049, another problem with the module context on :reload
383Simon Marlow <[email protected]>**20080121145935
384 The previous attempt to fix this (#1873, #1360) left a problem that
385 occurred when the first :load of the program failed (#2049). 
386 
387 Now I've implemented a different strategy: between :loads, we remember
388 all the :module commands, and just replay them after a :reload.  This
389 is in addition to remembering all the package modules added with
390 :module, which is orthogonal.
391 
392 This approach is simpler than the previous one, and seems to do the
393 right thing in all the cases I could think of.  Let's hope this is the
394 last bug in this series...
395]
396[Increase the bar for bootstrapping GHC to 6.4 (HEAD only)
397Simon Marlow <[email protected]>**20080121111835
398  - remove $(ghc_ge_601), $(ghc_ge_602), $(ghc_ge_603)
399  - configure now checks the GHC version number
400  - there are probably various cleanups that we can now do in compat/
401    and compiler/, but I haven't done those yet.
402]
403[Do not worker/wrapper INLINE things, even if they are in a recursive group
404[email protected]**20080121135909
405 
406 This patch stops the worker/wrapper transform working on an INLINE thing,
407 even if it's in a recursive group.  It might not be the loop breaker.  Indeed
408 a recursive group might have no loop breaker, if the only recursion is
409 through rules.
410 
411 Again, this change was provoked by one of Roman's NDP libraries.
412 Specifically the Rec { splitD, splitJoinD } group in
413        Data.Array.Parallel.Unlifted.Distributed.Arrays
414 
415 Simon
416 
417]
418[Make the loop-breaking algorithm a bit more liberal, where RULES are involved
419[email protected]**20080121135654
420 
421 This is another gloss on the now-quite-subtle and heavily-documented algorithm
422 for choosing loop breakers.
423 
424 This fix, provoked by Roman's NDP library, makes sure that when we are choosing
425 a loop breaker we only take into account variables free on the *rhs* of a rule
426 not the *lhs*.
427 
428 Most of the new lines are comments!
429 
430]
431[Fix Trac #2055
432simonpj@microsoft.com**20080121124244
433 
434 Sorry, this was my fault, a consequence of the quasi-quoting patch. 
435 
436 I've added rn062 as a test.
437 
438 
439]
440[Fix exception message with ghc -e
441Ian Lynagh <igloo@earth.li>**20080121104142
442 When running with ghc -e, exceptions should claim to be from the program
443 that we are running, not ghc.
444]
445[Fix warnings in main/CmdLineParser
446Ian Lynagh <igloo@earth.li>**20080121103158]
447[Normalise FilePaths before printing them
448Ian Lynagh <igloo@earth.li>**20080120193002]
449[Tweak runghc
450Ian Lynagh <igloo@earth.li>**20080120184639]
451[Fix catching exit exceptions in ghc -e
452Ian Lynagh <igloo@earth.li>**20080120170236]
453[Typo in phase-control documentation
454simonpj@microsoft.com**20080121113620]
455[Fix warnings in main/Main
456Ian Lynagh <igloo@earth.li>**20080119235914]
457[Support multiple -e flags
458Ian Lynagh <igloo@earth.li>**20080119223036]
459[Fix ghc -e :main (it was enqueuing the main function, but not running it)
460Ian Lynagh <igloo@earth.li>**20080119220044]
461[Fix whitespace
462Ian Lynagh <igloo@earth.li>**20080119212830]
463[Fix giving an error if we are given conflicting mode flags
464Ian Lynagh <igloo@earth.li>**20080119212602]
465[Add :run and tweak :main
466Ian Lynagh <igloo@earth.li>**20080119164923
467 You can now give :main a Haskell [String] as an argument, e.g.
468 :main ["foo", "bar"]
469 and :run is a variant that takes the name of the function to run.
470 Also, :main now obeys the -main-is flag.
471]
472[Make MacFrameworks a subdirectory of distrib, since it isn't used in the normal building process.
473judah.jacobson@gmail.com**20071217235735]
474[Add scripts for building GMP.framework and GNUreadline.framework (OS X).
475judah.jacobson@gmail.com**20071127072951]
476[Use -framework-path flags during the cc phase.  Fixes trac #1975.
477judah.jacobson@gmail.com**20071212201245]
478[FIX #1821 (Parser or lexer mess-up)
479df@dfranke.us**20071210230649]
480[Improve the error when :list can't find any code to show
481Ian Lynagh <igloo@earth.li>**20080118225655]
482[Fix imports when !DEBUG
483Ian Lynagh <igloo@earth.li>**20080118180126]
484[Tweak the splitter
485Ian Lynagh <igloo@earth.li>**20080116195612
486 We were generating a label ".LnLC7", which the splitter was confusing
487 with a literal constant (LC). The end result was the assembler tripping
488 up on ".Ln.text".
489]
490[Wibble to SetLevels.abstractVars
491simonpj@microsoft.com**20080118171754
492 
493 I've gotten this wrong more than once.  Hopefully this has it nailed.
494 The issue is that in float-out we must abstract over the correct
495 variables.
496 
497 
498]
499[Add quasi-quotation, courtesy of Geoffrey Mainland
500simonpj@microsoft.com**20080118145503
501 
502 This patch adds quasi-quotation, as described in
503   "Nice to be Quoted: Quasiquoting for Haskell"
504        (Geoffrey Mainland, Haskell Workshop 2007)
505 Implemented by Geoffrey and polished by Simon.
506 
507 Overview
508 ~~~~~~~~
509 The syntax for quasiquotation is very similar to the existing
510 Template haskell syntax:
511        [$q| stuff |]
512 where 'q' is the "quoter".  This syntax differs from the paper, by using
513 a '$' rather than ':', to avoid clashing with parallel array comprehensions.
514 
515 The "quoter" is a value of type Language.Haskell.TH.Quote.QuasiQuoter, which
516 contains two functions for quoting expressions and patterns, respectively.
517 
518      quote = Language.Haskell.TH.Quote.QuasiQuoter quoteExp quotePat
519 
520      quoteExp :: String -> Language.Haskell.TH.ExpQ
521      quotePat :: String -> Language.Haskell.TH.PatQ
522 
523 TEXT is passed unmodified to the quoter. The context of the
524 quasiquotation statement determines which of the two quoters is
525 called: if the quasiquotation occurs in an expression context,
526 quoteExp is called, and if it occurs in a pattern context, quotePat
527 is called.
528 
529 The result of running the quoter on its arguments is spliced into
530 the program using Template Haskell's existing mechanisms for
531 splicing in code. Note that although Template Haskell does not
532 support pattern brackets, with this patch binding occurrences of
533 variables in patterns are supported. Quoters must also obey the same
534 stage restrictions as Template Haskell; in particular, in this
535 example quote may not be defined in the module where it is used as a
536 quasiquoter, but must be imported from another module.
537 
538 Points to notice
539 ~~~~~~~~~~~~~~~~
540 * The whole thing is enabled with the flag -XQuasiQuotes
541 
542 * There is an accompanying patch to the template-haskell library. This
543   involves one interface change:
544        currentModule :: Q String
545   is replaced by
546        location :: Q Loc
547   where Loc is a data type defined in TH.Syntax thus:
548       data Loc
549         = Loc { loc_filename :: String
550              , loc_package  :: String
551              , loc_module   :: String
552              , loc_start    :: CharPos
553              , loc_end      :: CharPos }
554 
555       type CharPos = (Int, Int)        -- Line and character position
556 
557   So you get a lot more info from 'location' than from 'currentModule'.
558   The location you get is the location of the splice.
559   
560   This works in Template Haskell too of course, and lets a TH program
561   generate much better error messages.
562 
563 * There's also a new module in the template-haskell package called
564   Language.Haskell.TH.Quote, which contains support code for the
565   quasi-quoting feature.
566 
567 * Quasi-quote splices are run *in the renamer* because they can build
568   *patterns* and hence the renamer needs to see the output of running the
569   splice.  This involved a bit of rejigging in the renamer, especially
570   concerning the reporting of duplicate or shadowed names.
571 
572   (In fact I found and removed a few calls to checkDupNames in RnSource
573   that are redundant, becuase top-level duplicate decls are handled in
574   RnNames.)
575 
576 
577 
578]
579[lots of portability changes (#1405)
580Isaac Dupree <id@isaac.cedarswampstudios.org>**20080117011312
581 
582 re-recording to avoid new conflicts was too hard, so I just put it
583 all in one big patch :-(  (besides, some of the changes depended on
584 each other.)  Here are what the component patches were:
585 
586 Fri Dec 28 11:02:55 EST 2007  Isaac Dupree <id@isaac.cedarswampstudios.org>
587   * document BreakArray better
588 
589 Fri Dec 28 11:39:22 EST 2007  Isaac Dupree <id@isaac.cedarswampstudios.org>
590   * properly ifdef BreakArray for GHCI
591 
592 Fri Jan  4 13:50:41 EST 2008  Isaac Dupree <id@isaac.cedarswampstudios.org>
593   * change ifs on __GLASGOW_HASKELL__ to account for... (#1405)
594   for it not being defined. I assume it being undefined implies
595   a compiler with relatively modern libraries but without most
596   unportable glasgow extensions.
597 
598 Fri Jan  4 14:21:21 EST 2008  Isaac Dupree <id@isaac.cedarswampstudios.org>
599   * MyEither-->EitherString to allow Haskell98 instance
600 
601 Fri Jan  4 16:13:29 EST 2008  Isaac Dupree <id@isaac.cedarswampstudios.org>
602   * re-portabilize Pretty, and corresponding changes
603 
604 Fri Jan  4 17:19:55 EST 2008  Isaac Dupree <id@isaac.cedarswampstudios.org>
605   * Augment FastTypes to be much more complete
606 
607 Fri Jan  4 20:14:19 EST 2008  Isaac Dupree <id@isaac.cedarswampstudios.org>
608   * use FastFunctions, cleanup FastString slightly
609 
610 Fri Jan  4 21:00:22 EST 2008  Isaac Dupree <id@isaac.cedarswampstudios.org>
611   * Massive de-"#", mostly Int# --> FastInt (#1405)
612 
613 Fri Jan  4 21:02:49 EST 2008  Isaac Dupree <id@isaac.cedarswampstudios.org>
614   * miscellaneous unnecessary-extension-removal
615 
616 Sat Jan  5 19:30:13 EST 2008  Isaac Dupree <id@isaac.cedarswampstudios.org>
617   * add FastFunctions
618 
619]
620[Add missing extendSubst
621simonpj@microsoft.com**20080117180227
622 
623 Oops -- missed this from previous commit; sorry
624 
625]
626[Add -fspec-inline-join-points to SpecConstr
627simonpj@microsoft.com**20080117150325
628 
629 This patch addresses a problem that Roman found in SpecConstr.  Consider:
630 
631 foo :: Maybe Int -> Maybe Int -> Int
632 foo a b = let j b = foo a b
633            in
634            case b of
635              Nothing -> ...
636              Just n  -> case a of
637                           Just m  -> ... j (Just (n+1)) ...
638                           Nothing -> ... j (Just (n-1)) ...
639 
640 We want to make specialised versions for 'foo' for the patterns
641        Nothing  (Just v)
642        (Just a) (Just b)
643 
644 Two problems, caused by the join point j.  First, j does not
645 scrutinise b, so j won't be specialised f for the (Just v) pattern.
646 Second, j is defined where the free var 'a' is not evaluated.
647 
648 Both are solved by brutally inlining j at its call sites.  This risks
649 major code bloat, but it's relatively quick to implement.  The flag
650        -fspec-inline-join-points
651 causes brutal inlining for a
652        non-recursive binding
653        of a function
654        whose RHS contains calls
655        of a recursive function
656 
657 The (experimental) flag is static for now, and I have not even
658 documented it properly.
659 
660 
661]
662[Fix references to Filepath
663Clemens Fruhwirth <clemens@endorphin.org>**20080117134139]
664[Fix egregious error in earlier "Record evaluated-ness" patch
665simonpj@microsoft.com**20080117134057]
666[Eliminate warnings with -DDEBUG
667simonpj@microsoft.com**20080117124921]
668[Record evaluated-ness information correctly for strict constructors
669simonpj@microsoft.com**20080117105256
670 
671 The add_evals code in Simplify.simplAlt had bit-rotted.  Example:
672 
673   data T a = T !a
674   data U a = U !a
675 
676   foo :: T a -> U a
677   foo (T x) = U x
678 
679 Here we should not evaluate x before building the U result, because
680 the x argument of T is already evaluated.
681 
682 Thanks to Roman for finding this.
683 
684 
685]
686[In float-out, make sure we abstract over the type variables in the kind of a coercion
687simonpj@microsoft.com**20080116153908
688 
689 I can't remember where this bug showed up, but we were abstracting over a
690 coercion variable (co :: a ~ T), without also abstracting over 'a'.
691 
692 The fix is simple.
693 
694]
695[Fix broken debug warning
696simonpj@microsoft.com**20080116151818]
697[Complain sensibly if you try to use scoped type variables in Template Haskell
698simonpj@microsoft.com**20080116151612
699 
700 This fixes Trac #2024; worth merging onto 6.8 branch.
701 
702]
703[Comments only
704simonpj@microsoft.com**20080116150554]
705[Extra instance for Outputable on 5-tuples
706simonpj@microsoft.com**20080116150525]
707[Fix the -frule-check pass
708simonpj@microsoft.com**20080116141156
709 
710 Rules for imported things are now kept in the global rule base, not
711 attached to the global Id.  The rule-check pass hadn't kept up.
712 
713 This should fix it.
714 
715]
716[Add dyn-wrapper.c used as cross-plattform launch wrapper for executables using dynamic libraries in non-standard places
717Clemens Fruhwirth <clemens@endorphin.org>**20080116220603]
718[Use runPhase_MoveBinary also for generating a dynamic library wrapper
719Clemens Fruhwirth <clemens@endorphin.org>**20080116220420]
720[Remove -fhardwire-lib-paths in favour of -dynload sysdep
721Clemens Fruhwirth <clemens@endorphin.org>**20080110121736]
722[ghc-inplace defaults to -fhardwire-lib-paths. Change that to -dynload wrapped
723Clemens Fruhwirth <clemens@endorphin.org>**20080110090839]
724[Add -dynload flag as dynamic flag.
725Clemens Fruhwirth <clemens@endorphin.org>**20080116205710]
726[Add a missing import
727Ian Lynagh <igloo@earth.li>**20080116174149]
728[Fix Makefile generatin on Windows
729Ian Lynagh <igloo@earth.li>**20080116162752]
730[Fix slash direction on Windows with the new filePath code
731Ian Lynagh <igloo@earth.li>**20080116154317]
732[Fix typo
733Ian Lynagh <igloo@earth.li>**20080116011953]
734[The Core type-matcher should look through PredTypes
735simonpj@microsoft.com**20080116145939
736 
737 The core type-matcher Unify.match was previouly using tcView to expand
738 types, because it must treat newtypes as distinct from their representation.
739 But that meant that it also treated the PredType {C Int} as distinct from
740 its representation type (:TC Int).  And that in turn was causing a rule
741 not to fire, because the argument types didn't match up.
742 
743 For this to happen we need to get a situation where we have
744 
745   a = :DC blah blah    -- Dictionary
746   ....(f a).....
747 
748 Now a has type (:TC Int), bu the RULE for f expects an argument
749 of type {C Int}.  Roman found that just this was happening.
750 
751 
752 
753 
754]
755[A bottoming function should have infinite arity
756simonpj@microsoft.com**20080116145722
757 
758 I can't think how this one escaped for so long, but
759        (error "foo")
760 should have arityType ABot, just as 'error' itself does.
761 
762 This improves eta expansion.  I spotted it when looking at the function
763 
764   Data.Array.Parallel.Arr.BBArr.writeMBB
765 
766 in the ndp package.
767 
768 
769]
770[Add Main.dyn_o deployed into the RTS library dir to linking (see DLLNOTES for rational)
771Clemens Fruhwirth <clemens@endorphin.org>**20080110091217]
772[Refactor cross-plattform process spawning from ghc-inplace into shell-tools.c
773Clemens Fruhwirth <clemens@endorphin.org>**20080110090721]
774[More verbose error reporting in mk/target.mk
775Clemens Fruhwirth <clemens@endorphin.org>**20071231170715]
776[Fix generating dependencies for different ways now we use FilePath
777Ian Lynagh <igloo@earth.li>**20080115204716
778 We were making filenames like
779 dist/build/GHC/Base.p_.o
780 rather than
781 dist/build/GHC/Base.p_o
782]
783[Fix utils/Util for debug build
784mainland@eecs.harvard.edu**20080114190530]
785[Give an error if view pattern syntax is used in an expression; fixes #2033
786Ian Lynagh <igloo@earth.li>**20080114115031]
787[FIX BUILD (Solaris): include fcntl.h for file operations
788Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080115051844]
789[Fix warning when USE_READLINE is unset
790Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080115015014]
791[Remove an extra ) that was breaking the build on Windows
792Ian Lynagh <igloo@earth.li>**20080114103953]
793[Fix warnings in utils/ListSetOps
794Ian Lynagh <igloo@earth.li>**20080113150017]
795[Fix warnings in utils/Panic
796Ian Lynagh <igloo@earth.li>**20080113142939]
797[Fix warnings in utils/UniqSet
798Ian Lynagh <igloo@earth.li>**20080113142604]
799[Fix warnings in utils/Maybes
800Ian Lynagh <igloo@earth.li>**20080113142347]
801[Fix warnings in utils/BufWrite
802Ian Lynagh <igloo@earth.li>**20080113141630]
803[Fix warnings in utils/FastTypes
804Ian Lynagh <igloo@earth.li>**20080113141612
805 Split off a FastBool module, to avoid a circular import with Panic
806]
807[Fix warnings in utils/OrdList
808Ian Lynagh <igloo@earth.li>**20080113132042]
809[Fix warnings in utils/FastMutInt
810Ian Lynagh <igloo@earth.li>**20080113131830]
811[Fix warnings in utils/State
812Ian Lynagh <igloo@earth.li>**20080113131658]
813[Only initialise readline if we are connected to a terminal
814Ian Lynagh <igloo@earth.li>**20080113124107
815 Patch from Bertram Felgenhauer <int-e@gmx.de>
816]
817[Fix warnings in utils/Util
818Ian Lynagh <igloo@earth.li>**20080113005832]
819[Fix warnings in utils/Bag.lhs
820Ian Lynagh <igloo@earth.li>**20080113002037]
821[Add GMP_INCLUDE_DIRS in a couple of places
822Ian Lynagh <igloo@earth.li>**20080112234215
823 Fixes the build on OpenBSD (trac #2009). Based on a patch from kili.
824]
825[Tweak whitespace in HsExpr
826Ian Lynagh <igloo@earth.li>**20080112185753]
827[Fix warnings in HsExpr
828Ian Lynagh <igloo@earth.li>**20080112181444]
829[FilePath fixes
830Ian Lynagh <igloo@earth.li>**20080112172837]
831[don't initialize readline needlessly
832Ian Lynagh <igloo@earth.li>**20080112155413
833 Readline.initialize spills some escape sequences to stdout for some terminal
834 types, potentially spoiling  ghc -e  output. So don't initialize readline
835 unless we're working interactively on a terminal.
836 Patch from Bertram Felgenhauer <int-e@gmx.de>
837]
838[Fix whitespace
839Ian Lynagh <igloo@earth.li>**20080112155214]
840[Use System.FilePath
841Ian Lynagh <igloo@earth.li>**20080112154459]
842[Fix filename completion by adding trailing spaces/slashes manually.
843judah.jacobson@gmail.com**20080110221928]
844[Use command-dependent word break characters for tab completion in ghci.  Fixes bug #998.
845judah.jacobson@gmail.com**20080109003606]
846[Fix 2030: make -XScopedTypeVariables imply -XRelaxedPolyRec
847simonpj@microsoft.com**20080110113133
848 
849 The type checker doesn't support lexically scoped type variables
850 unless we are using the RelaxedPolyRec option.  Reasons: see
851 Note [Scoped tyvars] in TcBinds.
852 
853 So I've changed DynFlags to add this implication, improved the
854 documentation, and simplified the code in TcBinds somewhat.
855 (It's longer but only because of comments!)
856 
857 
858]
859[More refactoring in getCoreToDo
860Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080109023747]
861[Document -fsimplifier-phases
862Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080109022822]
863[Add -fsimplifier-phases option
864Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080109022449
865 
866 It controls the number of simplifier phases run during optimisation. These are
867 numbered from n to 1 (by default, n=2). Phase 0 is always run regardless of
868 this flag. The flag is ignored with -O0 since (practically) no optimisation is
869 performed in that case.
870]
871[Refactor getCoreToDo slightly
872Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080109014359]
873[Fix Trac #2018: float-out was ignoring the kind of a coercion variable
874simonpj@microsoft.com**20080107142601
875 
876 The float-out transformation must handle the case where a coercion
877 variable is free, which in turn mentions type variables in its kind.
878 Just like a term variable really.
879 
880 I did a bit of refactoring at the same time.
881 
882 Test is tc241
883 
884 MERGE to stable branch
885 
886]
887[Make the treatment of equalities more uniform
888simonpj@microsoft.com**20080107142306
889 
890 This patch (which is part of the fix for Trac #2018) makes coercion variables
891 be handled more uniformly.  Generally, they are treated like dictionaries
892 in the type checker, not like type variables, but in a couple of places we
893 were treating them like type variables.  Also when zonking we should use
894 zonkDictBndr not zonkIdBndr.
895 
896]
897[Fix Trac #2017
898simonpj@microsoft.com**20080107125819]
899[Add -XImpredicativeTypes, and tighten up type-validity checking (cf Trac 2019)
900simonpj@microsoft.com**20080107115451
901 
902 Somehow we didn't have a separate flag for impredicativity; now we do.
903 
904 Furthermore, Trac #2019 showed up a missing test for monotypes in data
905 constructor return types.  And I realised that we were even allowing
906 things like
907        Num (forall a. a) => ...
908 which we definitely should not. 
909 
910 This patch insists on monotypes in several places where we were (wrongly)
911 too liberal before.
912 
913 Could be merged to 6.8 but no big deal.
914 
915 
916]
917[pass -no-user-package-conf to ghc-inplace
918Simon Marlow <simonmar@microsoft.com>**20080104162840]
919[Fix build: Recent instance shuffling left us with overlapping instances
920Ian Lynagh <igloo@earth.li>**20080106221547]
921[Add instructions for building docs to README
922Ian Lynagh <igloo@earth.li>**20080106215723]
923[A little refactoring of GenIfaceEq to make the Outputable instance into H98
924simonpj@microsoft.com**20080104105450]
925[Make the instance of DebugNodes more H98-like
926simonpj@microsoft.com**20080104105409]
927[change CmmActual, CmmFormal to use a data CmmHinted rather than tuple (#1405)
928Isaac Dupree <id@isaac.cedarswampstudios.org>**20080104105339
929 This allows the instance of UserOfLocalRegs to be within Haskell98, and IMHO
930  makes the code a little cleaner generally.
931 This is one small (though tedious) step towards making GHC's code more
932  portable...
933]
934[generalize instance Outputable GenCmm to H98 (#1405)
935Isaac Dupree <id@isaac.cedarswampstudios.org>**20071226175915]
936[move and generalize another instance (#1405)
937Isaac Dupree <id@isaac.cedarswampstudios.org>**20071226174904
938 was instance Outputable CmmGraph
939 type CmmGraph = LGraph Middle Last
940 now instance (ctx) => Outputable (LGraph m l),
941 in module with LGraph where it belongs
942 This also let us reduce the context of DebugNodes to Haskell98,
943 leaving that class's only extension being multi-parameter.
944 (also Outputable (LGraph M Last) with M = ExtendWithSpills Middle
945 was another redundant instance that was then removed)
946]
947[move and generalize an instance (#1405)
948Isaac Dupree <id@isaac.cedarswampstudios.org>**20071226171913
949 UserOfLocalRegs (ZLast Last) isn't Haskell98, but it was just as
950 good an instance to be UserOfLocalRegs a => UserOfLocalRegs (ZLast a)
951]
952[Do not consult -XGADTs flag when pattern matching on GADTs
953simonpj@microsoft.com**20080104125814
954 
955 See Trac #2004, and Note [Flags and equational constraints] in TcPat.
956 
957]
958[Add a note about primop wrappers (cf Trac #1509)
959simonpj@microsoft.com**20080104125305]
960[Document SOURCE pragma; clarify TH behavior for mutually-recurive modules (Trac #1012)
961simonpj@microsoft.com**20080104121939]
962[White space and comments only
963simonpj@microsoft.com**20080104102236]
964[Optionally use libffi to implement 'foreign import "wrapper"' (#793)
965Simon Marlow <simonmar@microsoft.com>**20080103170236
966 To enable this, set UseLibFFI=YES in mk/build.mk. 
967 
968 The main advantage here is that this reduces the porting effort for
969 new platforms: libffi works on more architectures than our current
970 adjustor code, and it is probably more heavily tested.  We could
971 potentially replace our existing code, but since it is probably faster
972 than libffi (just a guess, I'll measure later) and is already working,
973 it doesn't seem worthwhile.
974 
975 Right now, you must have libffi installed on your system.  I used the
976 one supplied by Debian/Ubuntu.
977]
978[remove trace apparently left in by accident
979Simon Marlow <simonmar@microsoft.com>**20080103163805]
980[Remove -funfolding-update-in-place flag documentation
981simonpj@microsoft.com**20080103160036
982 
983 This flag does nothing, and should have been removed ages ago. (GHC
984 no longer does update-in-place.)
985 
986 MERGE to 6.8 branch
987 
988]
989[Fix warnings with newer gcc versions (I hope)
990Simon Marlow <simonmar@microsoft.com>**20080103140338]
991[FIX #1898: add a missing UNTAG_CLOSURE() in checkBlackHoles
992Simon Marlow <simonmar@microsoft.com>**20080103112717]
993[fix validation failure on non-i386
994Simon Marlow <simonmar@microsoft.com>**20080102151740]
995[expand "out of stack slots" panic to suggest using -fregs-graph, see #1993
996Simon Marlow <simonmar@microsoft.com>**20080102150737]
997[Warning clean, and fix compilation with GHC 6.2.x
998Simon Marlow <simonmar@microsoft.com>**20080102114529]
999[Add dead code elimination in cmmMiniInline
1000Simon Marlow <simonmar@microsoft.com>**20071220151734
1001 cmmMiniInline counts the uses of local variables, so it can easily
1002 eliminate assigments to unused locals.  This almost never gets
1003 triggered, as we don't generate any dead assignments, but it will be
1004 needed by a forthcoming cleanup in CgUtils.emitSwitch.
1005]
1006[implement prefix unboxed tuples (part of #1509)
1007Isaac Dupree <id@isaac.cedarswampstudios.org>**20080102124001]
1008[Link libgmp.a statically into libHSrts.dll on Windows
1009Clemens Fruhwirth <clemens@endorphin.org>**20080101154017]
1010[Embedd DLL name into its import library, so client libs reference them properly in .idata
1011Clemens Fruhwirth <clemens@endorphin.org>**20080101152157]
1012[Add package dependencies to link pass when building ghc package (required for windows DLL build)
1013Clemens Fruhwirth <clemens@endorphin.org>**20080101152101]
1014[Fix building libHSrts.dll by using ghc-pkg instead of grepping in base.cabal
1015Clemens Fruhwirth <clemens@endorphin.org>**20071230193952]
1016[Add installPackage to dependencies of make.library.* as it's used by the rule
1017Clemens Fruhwirth <clemens@endorphin.org>**20071229162707]
1018[Install dynlibs correctly
1019Clemens Fruhwirth <clemens@endorphin.org>**20071228184024
1020 
1021 Add dynlibdir target to config.mk.in, setting it to @libdir@.
1022 Invoke installPackage with dynlibdir at libraries/Makefile
1023 Make installPackage.hs hand dynlibdir to Cabal.
1024]
1025[import ord that alex secretly imported
1026Isaac Dupree <id@isaac.cedarswampstudios.org>**20071228175727]
1027[add missing import that happy -agc secretly provided
1028Isaac Dupree <id@isaac.cedarswampstudios.org>**20071227171335]
1029[correct type mistake, hidden by happy -agc coercions!
1030Isaac Dupree <id@isaac.cedarswampstudios.org>**20071226140743]
1031[API changes for cabal-HEAD
1032Clemens Fruhwirth <clemens@endorphin.org>**20071227143114
1033 
1034 Rename interfacedir to haddockdir
1035 Change empty(Copy|Register)Flags to default(Copy|Register)Flags
1036 Wrap content of RegisterFlags with toFlag (the Flag type is actually just Maybe)
1037]
1038[Extend API for compiling to and from Core
1039Tim Chevalier <chevalier@alum.wellesley.edu>**20071225200411
1040 
1041 Added API support for compiling Haskell to simplified Core, and for
1042 compiling Core to machine code. The latter, especially, should be
1043 considered experimental and has only been given cursory testing. Also
1044 fixed warnings in DriverPipeline. Merry Christmas.
1045]
1046[When complaining about non-rigid context, give suggestion of adding a signature
1047simonpj@microsoft.com**20071224122217]
1048[Improve handling of newtypes (fixes Trac 1495)
1049simonpj@microsoft.com**20071221090406
1050 
1051 In a few places we want to "look through" newtypes to get to the
1052 representation type.  But we need to be careful that  we don't fall
1053 into an ininite loop with e.g.
1054        newtype T = MkT T
1055 
1056 The old mechansim for doing this was to have a field nt_rep, inside
1057 a newtype TyCon, that gave the "ultimate representation" of the type.
1058 But that failed for Trac 1495, which looked like this:
1059    newtype Fix a = Fix (a (Fix a))
1060    data I a = I a
1061 Then, expanding the type (Fix I) went on for ever.
1062 
1063 The right thing to do seems to be to check for loops when epxanding
1064 the *type*, rather than in the *tycon*.  This patch does that,
1065        - Removes nt_rep from TyCon
1066        - Make Type.repType check for loops
1067 See Note [Expanding newtypes] in Type.lhs.
1068 
1069 At the same time I also fixed a bug for Roman, where newtypes were not
1070 being expanded properly in FamInstEnv.topNormaliseType.  This function
1071 and Type.repType share a common structure.
1072 
1073 
1074        Ian, see if this merges easily to the branch
1075        If not, I don't think it's essential to fix 6.8
1076 
1077]
1078[Fix Trac #1981: seq on a type-family-typed expression
1079simonpj@microsoft.com**20071221085542
1080 
1081 We were crashing when we saw
1082        case x of DEFAULT -> rhs
1083 where x had a type-family type.  This patch fixes it.
1084 
1085 MERGE to the 6.8 branch.
1086 
1087 
1088]
1089[Comment only
1090simonpj@microsoft.com**20071220164621]
1091[Fix nasty recompilation bug in MkIface.computeChangedOccs
1092simonpj@microsoft.com**20071220164307
1093 
1094        MERGE to 6.8 branch
1095 
1096 In computeChangedOccs we look up the old version of a Name.
1097 But a WiredIn Name doesn't have an old version, because WiredIn things
1098 don't appear in interface files at all.
1099 
1100 Result: ghc-6.9: panic! (the 'impossible' happened)
1101   (GHC version 6.9 for x86_64-unknown-linux):
1102        lookupVers1 base:GHC.Prim chr#{v}
1103 
1104 This fixes the problem.  The patch should merge easily onto the branch.
1105 
1106 
1107]
1108[Fix Trac #1988; keep the ru_fn field of a RULE up to date
1109simonpj@microsoft.com**20071220131912
1110 
1111 The ru_fn field was wrong when we moved RULES from one Id to another.
1112 The fix is simple enough.
1113 
1114 However, looking at this makes me realise that the worker/wrapper stuff
1115 for recursive newtypes isn't very clever: we generate demand info but
1116 then don't properly exploit it. 
1117 
1118 This patch fixes the crash though.
1119 
1120]
1121[Add better panic message in getSRTInfo (Trac #1973)
1122simonpj@microsoft.com**20071220180335]
1123[Remove obselete code for update-in-place (which we no longer do)
1124simonpj@microsoft.com**20071220173432]
1125[Implement generalised list comprehensions
1126simonpj@microsoft.com**20071220111300
1127 
1128   This patch implements generalised list comprehensions, as described in
1129   the paper "Comprehensive comprehensions" (Peyton Jones & Wadler, Haskell
1130   Workshop 2007).  If you don't use the new comprehensions, nothing
1131   should change.
1132   
1133   The syntax is not exactly as in the paper; see the user manual entry
1134   for details.
1135   
1136   You need an accompanying patch to the base library for this stuff
1137   to work.
1138   
1139   The patch is the work of Max Bolingbroke [batterseapower@hotmail.com],
1140   with some advice from Simon PJ.
1141   
1142   The related GHC Wiki page is
1143     http://hackage.haskell.org/trac/ghc/wiki/SQLLikeComprehensions
1144 
1145]
1146[More bindist-publishing fixes and refactoring
1147Ian Lynagh <igloo@earth.li>**20071218144505]
1148[Fix publishing the docs
1149Ian Lynagh <igloo@earth.li>**20071216122544]
1150[FIX #1980: must check for ThreadRelocated in killThread#
1151Simon Marlow <simonmar@microsoft.com>**20071217164610]
1152[Eliminate external GMP dependencies
1153Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071217093839
1154 - Ensure the stage1 compiler uses ghc's own GMP library on Mac OS
1155 - Need to rebuild installPackage and ifBuildable with stage1 compiler as they
1156   go into bindists
1157]
1158[Include ~/Library/Frameworks in the framework searchpath
1159Ian Lynagh <igloo@earth.li>**20071217233457
1160 Patch from Christian Maeder
1161]
1162[Make ghcii.sh executable
1163Ian Lynagh <igloo@earth.li>**20071217195734]
1164[Don't rely on distrib/prep-bin-dist-mingw being executable
1165Ian Lynagh <igloo@earth.li>**20071217195554]
1166[always try to remove the new file before restoring the old one (#1963)
1167Simon Marlow <simonmar@microsoft.com>**20071214123345]
1168[Fix a bug in gen_contents_index
1169Ian Lynagh <igloo@earth.li>**20071212121154
1170 The library doc index thought that the docs were in $module.html, rather
1171 than $package/$module.html.
1172]
1173[Fix lifting of case expressions
1174Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071215000837
1175 
1176 We have to explicity check for empty arrays in each alternative as recursive
1177 algorithms wouldn't terminate otherwise.
1178]
1179[Use (UArr Int) instead of PArray_Int# in vectorisation
1180Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071215000739]
1181[Fix bug in VectInfo loading
1182Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071214230914]
1183[Remove unused vectorisation built-in
1184Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071214011015]
1185[Treat some standard data cons specially during vectorisation
1186Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071213034855
1187 
1188 This is a temporary hack which allows us to vectorise literals.
1189]
1190[More vectorisation-related built ins
1191Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071213034839]
1192[Track changes to package ndp
1193Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071212062714]
1194[Add vectorisation built-ins
1195Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071212040521]
1196[FIX #1963: catch Ctrl-C and clean up properly
1197Simon Marlow <simonmar@microsoft.com>**20071213154056]
1198[Document the new threshold flags
1199Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071214003003]
1200[Separate and optional size thresholds for SpecConstr and LiberateCase
1201Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071214002719
1202 
1203 This patch replaces -fspec-threshold by -fspec-constr-threshold and
1204 -fliberate-case-threshold. The thresholds can be disabled by
1205 -fno-spec-constr-threshold and -fno-liberate-case-threshold.
1206]
1207[Make HscTypes.tyThingId respond not panic on ADataCon
1208simonpj@microsoft.com**20071204152903]
1209[Use Unix format for RnPat (no other change)
1210simonpj@microsoft.com**20071213140532]
1211[Improve free-variable handling for rnPat and friends (fixes Trac #1972)
1212simonpj@microsoft.com**20071213140213
1213 
1214 As well as fixing the immediate problem (Trac #1972) this patch does
1215 a signficant simplification and refactoring of pattern renaming.
1216 
1217 Fewer functions, fewer parameters passed....it's all good.  But it
1218 took much longer than I expected to figure out.
1219 
1220 The most significant change is that the NameMaker type does *binding*
1221 as well as *making* and, in the matchNameMaker case, checks for unused
1222 bindings as well.  This is much tider.
1223 
1224 (No need to merge to the 6.8 branch, but no harm either.)
1225 
1226 
1227]
1228[Allow more than 3 simplifier iterations to be run in phase 0
1229Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071213040835
1230 
1231 The number of iterations during the first run of phase 0 was erroneously
1232 hardcoded to 3. It should be *at least* 3 (see comments in code) but can be
1233 more.
1234]
1235[Document -ddump-simpl-phases
1236Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071213040822]
1237[New flag: -ddump-simpl-phases
1238Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071213040644
1239 
1240 This outputs the core after each simplifier phase (i.e., it produces less
1241 information that -ddump-simpl-iterations).
1242]
1243[Don't dump simplifier iterations with -dverbose-core2core
1244Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071213034635
1245 
1246 SimonPJ says this is the correct behaviour. We still have
1247 -ddump-simpl-iterations.
1248]
1249["list --simple-output" should be quiet when there are no packages to list
1250Simon Marlow <simonmar@microsoft.com>**20071212102230
1251 
1252 Previously:
1253 
1254 $ ghc-pkg list --user --simple-output
1255 ghc-pkg: no matches
1256 $
1257 
1258 Now:
1259 
1260 $ ghc-pkg list --user --simple-output
1261 $
1262]
1263[Fix vectorisation bug
1264Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071206233015]
1265[Vectorisation-related built ins
1266Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071206040829]
1267[Teach vectorisation about some temporary conversion functions
1268Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071206032547]
1269[Vectorise case of unit correctly
1270Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071205221305]
1271[Teach vectorisation about singletonP
1272Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071205221240]
1273[Optimise desugaring of parallel array comprehensions
1274Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071205221213]
1275[Teach vectorisation about tuple datacons
1276Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071205050221]
1277[Track additions to package ndp
1278Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071205042649]
1279[Track changes to package ndp
1280Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071205033859]
1281[Improve pretty-printing of InstDecl
1282simonpj@microsoft.com**20071210083053
1283 
1284 Fixes Trac #1966.
1285 
1286]
1287[Coercions from boxy splitters must be sym'ed in pattern matches
1288Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071208105018]
1289[Properly keep track of whether normalising given or wanted dicts
1290Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071207071302
1291 - The information of whether given or wanted class dictionaries where
1292   normalised by rewriting wasn't always correctly propagated in TcTyFuns,
1293   which lead to malformed dictionary bindings.
1294 - Also fixes a bug in TcPat.tcConPat where GADT equalities where emitted in
1295   the wrong position in case bindings (which led to CoreLint failures).
1296]
1297[TcPat.tcConPat uses equalities instead of GADT refinement
1298Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071120071208
1299 * This patch implements the use of equality constraints instead of GADT
1300   refinements that we have been discussing for a while.
1301 * It just changes TcPat.tcConPat.  It doesn't have any of the simplification
1302   and dead code removal that is possible due to this change.
1303 * At the moment, this patch breaks a fair number of GADT regression tests.
1304]
1305[Use installPackage for register --inplace as well as installing
1306Ian Lynagh <igloo@earth.li>**20071207234652
1307 We also need to do the GHC.Prim hack when registering inplace or the
1308 tests that use it fail.
1309]
1310[Fix the libraries Makefile
1311Ian Lynagh <igloo@earth.li>**20071205125015
1312     x && y
1313 is not the same as
1314     if x; then y; fi
1315 as the latter doesn't fail when x fails
1316]
1317[Copy hscolour.css into dist/... so it gets installed with the library docs
1318Ian Lynagh <igloo@earth.li>**20071205013703]
1319[Add the hscolour.css from hscolour 1.8
1320Ian Lynagh <igloo@earth.li>**20071205011733]
1321[BIN_DIST_INST_SUBDIR Needs to be defined in config.mk so ./Makefile can see it
1322Ian Lynagh <igloo@earth.li>**20071207121317]
1323[#include ../includes/MachRegs.h rather than just MachRegs.h
1324Ian Lynagh <igloo@earth.li>**20071205170335
1325 This fixes building on NixOS. I'm not sure why it worked everywhere else,
1326 but not on NixOS, before.
1327]
1328[Fix bindist creation: readline/config.mk is gone
1329Ian Lynagh <igloo@earth.li>**20071203123031]
1330[FIX #1843: Generate different instructions on PPC
1331Ian Lynagh <igloo@earth.li>**20071203123237
1332 The old ones caused lots of
1333     unknown scattered relocation type 4
1334 errors. Patch from Chris Kuklewicz.
1335]
1336[Refactor gen_contents_index
1337Ian Lynagh <igloo@earth.li>**20071207183538
1338 Also fixes it with Solaris's sh, spotted by Christian Maeder
1339]
1340[Use GHC.Exts rather than GHC.Prim
1341Ian Lynagh <igloo@earth.li>**20071202234222]
1342[Alter the base:GHC.Prim hack in installPackage, following changes in base
1343Ian Lynagh <igloo@earth.li>**20071202215719]
1344[Remove debug warning, and explain why
1345simonpj@microsoft.com**20071207170507]
1346[comment only
1347Simon Marlow <simonmar@microsoft.com>**20071206092422]
1348[comment typo
1349Simon Marlow <simonmar@microsoft.com>**20071206092412]
1350[add Outputable instance for OccIfaceEq
1351Simon Marlow <simonmar@microsoft.com>**20071206092403]
1352[Workaround for #1959: assume untracked names have changed
1353Simon Marlow <simonmar@microsoft.com>**20071206092349
1354 This fixes the 1959 test, but will do more recompilation than is
1355 strictly necessary (but only when -O is on).  Still, more
1356 recompilation is better than segfaults, link errors or other random
1357 breakage.
1358]
1359[FIX part of #1959: declaration versions were not being incremented correctly
1360Simon Marlow <simonmar@microsoft.com>**20071206084556
1361 We were building a mapping from ModuleName to [Occ] from the usage
1362 list, using the usg_mod field as the key.  Unfortunately, due to a
1363 very poor naming decision, usg_mod is actually the module version, not
1364 the ModuleName.  usg_name is the ModuleName.  Since Version is also an
1365 instance of Uniquable, there was no type error: all that happened was
1366 lookups in the map never succeeded.  I shall rename the fields of
1367 Usage in a separate patch.
1368 
1369 This doesn't completely fix #1959, but it gets part of the way there.
1370 
1371 I have to take partial blame as the person who wrote this fragment of
1372 code in late 2006 (patch "Interface file optimisation and removal of
1373 nameParent").
1374]
1375[move FP_FIND_ROOT after the "GHC is required" check
1376Simon Marlow <simonmar@microsoft.com>**20071205101814]
1377[FIX #1110: hackery also needed when running gcc for CPP
1378Simon Marlow <simonmar@microsoft.com>**20071205150230]
1379[Comments only
1380Pepe Iborra <mnislaih@gmail.com>**20071208204815]
1381[Refactoring only
1382Pepe Iborra <mnislaih@gmail.com>**20071208195222
1383 
1384 Suspensions in the Term datatype used for RTTI
1385 always get assigned a Type, so there is no reason
1386 to juggle around with a (Maybe Type) anymore.
1387 
1388]
1389[Change the format used by :print to show the content of references
1390Pepe Iborra <mnislaih@gmail.com>**20071208193013
1391     
1392     This comes as result of the short discussion linked below.
1393     
1394     http://www.haskell.org/pipermail/cvs-ghc/2007-December/040049.html
1395 
1396]
1397[Help the user when she tries to do :history without :trace
1398Pepe Iborra <mnislaih@gmail.com>**20071208180918
1399 
1400 Teach GHCi to show a "perhaps you forgot to use :trace?" when
1401 it finds that the user is trying to retrieve an empty :history
1402 
1403]
1404[Prevent the binding of unboxed things by :print
1405Pepe Iborra <mnislaih@gmail.com>**20071208181830]
1406[Change --shared to -shared in Win32 DLL docs
1407simonpj@microsoft.com**20071204154023]
1408[protect console handler against concurrent access (#1922)
1409Simon Marlow <simonmar@microsoft.com>**20071204153918]
1410[Make eta reduction check more carefully for bottoms (fix Trac #1947)
1411simonpj@microsoft.com**20071204145803
1412 
1413 Eta reduction was wrongly transforming
1414        f = \x. f x
1415 to
1416        f = f
1417 
1418 Solution: don't trust f's arity information; instead look at its
1419 unfolding.  See Note [Eta reduction conditions]
1420 
1421 Almost all the new lines are comments!
1422 
1423 
1424]
1425[Improve inlining for INLINE non-functions
1426simonpj@microsoft.com**20071204114955
1427       
1428 (No need to merge to 6.8, but no harm if a subsequent patch needs it.)
1429 
1430 The proximate cause for this patch is to improve the inlining for INLINE
1431 things that are not functions; this came up in the NDP project.  See
1432 Note [Lone variables] in CoreUnfold.
1433 
1434 This caused some refactoring that actually made things simpler.  In
1435 particular, more of the inlining logic has moved from SimplUtils to
1436 CoreUnfold, where it belongs.
1437 
1438 
1439]
1440[fix race conditions in sandboxIO (#1583, #1922, #1946)
1441Simon Marlow <simonmar@microsoft.com>**20071204114444
1442 using the new block-inheriting forkIO (#1048)
1443]
1444[:cd with no argument goes to the user's home directory
1445Simon Marlow <simonmar@microsoft.com>**20071204113945
1446 Seems better than getting a confusing 'cannot find directory' exception.
1447]
1448[forkIO starts the new thread blocked if the parent is blocked (#1048)
1449Simon Marlow <simonmar@microsoft.com>**20071204110947]
1450[Improve eta reduction, to reduce Simplifier iterations
1451simonpj@microsoft.com**20071203150039
1452 
1453 I finally got around to investigating why the Simplifier was sometimes
1454 iterating so often.  There's a nice example in Text.ParserCombinators.ReadPrec,
1455 which produced:
1456 
1457 NOTE: Simplifier still going after 3 iterations; bailing out.  Size = 339
1458 NOTE: Simplifier still going after 3 iterations; bailing out.  Size = 339
1459 NOTE: Simplifier still going after 3 iterations; bailing out.  Size = 339
1460 
1461 No progress is being made.  It turned out that an interaction between
1462 eta-expansion, casts, and eta reduction was responsible. The change is
1463 small and simple, in SimplUtils.mkLam: do not require the body to be
1464 a Lam when floating the cast outwards. 
1465 
1466 I also discovered a missing side condition in the same equation, so fixing
1467 that is good too.  Now there is no loop when compiling ReadPrec.
1468 
1469 Should do a full nofib run though.
1470 
1471]
1472[Don't default to stripping binaries when installing
1473Ian Lynagh <igloo@earth.li>**20071202195817]
1474[Improve pretty-printing for Insts
1475simonpj@microsoft.com**20071128173125]
1476[Reorganise TcSimplify (again); FIX Trac #1919
1477simonpj@microsoft.com**20071128173146
1478 
1479 This was a bit tricky.  We had a "given" dict like (d7:Eq a); then it got
1480 supplied to reduceImplication, which did some zonking, and emerged with
1481 a "needed given" (d7:Eq Int). That got everything confused.
1482 
1483 I found a way to simplify matters significantly.  Now reduceContext
1484        - first deals with methods/literals/dictionaries
1485        - then deals with implications
1486 Separating things in this way not only made the bug go away, but
1487 eliminated the need for the recently-added "needed-givens" results returned
1488 by checkLoop.  Hurrah.
1489 
1490 It's still a swamp.  But it's a bit better.
1491 
1492]
1493[Teach :print to follow references (STRefs and IORefs)
1494Pepe Iborra <mnislaih@gmail.com>**20071204105511
1495 
1496 Prelude Data.IORef> :p l
1497 l = (_t4::Maybe Integer) : (_t5::[Maybe Integer])
1498 Prelude Data.IORef> p <- newIORef l
1499 Prelude Data.IORef> :p p
1500 p = GHC.IOBase.IORef (GHC.STRef.STRef {((_t6::Maybe Integer) :
1501                                         (_t7::[Maybe Integer]))})
1502 Prelude Data.IORef> :sp p
1503 p = GHC.IOBase.IORef (GHC.STRef.STRef {(_ : _)})
1504 
1505 
1506 I used braces to denote the contents of a reference.
1507 Perhaps there is a more appropriate notation?
1508]
1509[refactoring only
1510Pepe Iborra <mnislaih@gmail.com>**20071202125400]
1511[FIX #1914: GHCi forgot all the modules that were loaded before an error
1512Simon Marlow <simonmar@microsoft.com>**20071130130734]
1513[FIX #1744: ignore the byte-order mark at the beginning of a file
1514Simon Marlow <simonmar@microsoft.com>**20071130101100]
1515[FIX Trac #1935: generate superclass constraints for derived classes
1516simonpj@microsoft.com**20071128150541
1517 
1518 This bug only reports a problem with phantom types, but actually
1519 there was quite a long-standing and significant omission in the
1520 constraint generation for derived classes.  See
1521 Note [Superclasses of derived instance] in TcDeriv.
1522 
1523 The test deriving-1935 tests both cases.
1524 
1525 
1526]
1527[Print a bit more info in VarBinds (no need to merge)
1528simonpj@microsoft.com**20071128150354]
1529[Check for duplicate bindings in CoreLint
1530simonpj@microsoft.com**20071128150214]
1531[add comment
1532Simon Marlow <simonmar@microsoft.com>**20071128111417]
1533[FIX #1916: don't try to convert float constants to int in CMM optimizer
1534Bertram Felgenhauer <int-e@gmx.de>**20071122095513]
1535[give a more useful message when the static flags have not been initialised (#1938)
1536Simon Marlow <simonmar@microsoft.com>**20071127135435]
1537[Rebuild utils with the stage1 compiler when making a bindist; fixes trac #1860
1538Ian Lynagh <igloo@earth.li>**20071127203959
1539 This is a bit unpleasant, as "make binary-dist" really shouldn't actually
1540 build anything, but it works.
1541]
1542[Remove the --print-docdir flag
1543Ian Lynagh <igloo@earth.li>**20071127195605
1544 It wasn't doing the right thing for bindists. Let's rethink...
1545]
1546[FIX #1925: the interpreter was not maintaining tag bits correctly
1547Simon Marlow <simonmar@microsoft.com>**20071127122614
1548 See comment for details
1549]
1550[add missing instruction: ALLOC_AP_NOUPD
1551Simon Marlow <simonmar@microsoft.com>**20071127122604]
1552[Check tag bits on the fun pointer of a PAP
1553Simon Marlow <simonmar@microsoft.com>**20071126160420]
1554[canonicalise the path to HsColour
1555Simon Marlow <simonmar@microsoft.com>**20071126141614]
1556[Consistently put www. on the front of haskell.org in URLs
1557Ian Lynagh <igloo@earth.li>**20071126215256]
1558[Fix some more URLs
1559Ian Lynagh <igloo@earth.li>**20071126214147]
1560[Tweak some URLs
1561Ian Lynagh <igloo@earth.li>**20071126194148]
1562[Fix some links
1563Ian Lynagh <igloo@earth.li>**20071126184406]
1564[Copy gmp stamps into bindists, so we don't try and rebuild gmp
1565Ian Lynagh <igloo@earth.li>**20071125211919]
1566[On Windows, Delete the CriticalSection's we Initialize
1567Ian Lynagh <igloo@earth.li>**20071125125845]
1568[On Windows, add a start menu link to the flag reference
1569Ian Lynagh <igloo@earth.li>**20071125124429]
1570[Remove html/ from the paths we put in the start menu on Windows
1571Ian Lynagh <igloo@earth.li>**20071125124150]
1572[MERGED: Make ":" in GHCi repeat the last command
1573Ian Lynagh <igloo@earth.li>**20071125122020
1574 Ian Lynagh <igloo@earth.li>**20071124231857
1575  It used to be a synonym for ":r" in 6.6.1, but this wasn't documented or
1576  known about by the developers. In 6.8.1 it was accidentally broken.
1577  This patch brings it back, but as "repeat the last command", similar to
1578  pressing enter in gdb. This is almost as good for people who want it to
1579  reload, and means that it can also be used to repeat commands like :step.
1580]
1581[MERGED: Put library docs in a $pkg, rather than $pkgid, directory; fixes trac #1864
1582Ian Lynagh <igloo@earth.li>**20071124212305
1583 Ian Lynagh <igloo@earth.li>**20071124171220
1584]
1585[Don't make a library documentation prologue
1586Ian Lynagh <igloo@earth.li>**20071124211943
1587 It's far too large now, and no-one complained when 6.8.1 didn't have one.
1588]
1589[Don't put package version numbers in links in index.html
1590Ian Lynagh <igloo@earth.li>**20071124211629]
1591[Define install-strip in Makefile
1592Ian Lynagh <igloo@earth.li>**20071124205037]
1593[Define install-strip in distrib/Makefile
1594Ian Lynagh <igloo@earth.li>**20071124204803]
1595[Install gmp from bindists; fixes trac #1848
1596Ian Lynagh <igloo@earth.li>**20071124185240]
1597[(native gen) fix code generated for GDTOI on x86_32
1598Bertram Felgenhauer <int-e@gmx.de>**20071121063942
1599 See trac #1910.
1600]
1601[Copy the INSTALL hack from mk/config.mk.in into distrib/Makefile-bin-vars.in
1602Ian Lynagh <igloo@earth.li>**20071124163028
1603 configure will set INSTALL to ./install-sh if it can't find it in the path,
1604 so we need to replace the . with the path to our root.
1605]
1606[Make install-sh executable /before/ we try to find it
1607Ian Lynagh <igloo@earth.li>**20071124162450]
1608[Document --info in the +RTS -? help
1609Ian Lynagh <igloo@earth.li>**20071123204352]
1610[MERGED: If we have hscolour then make source code links in teh haddock docs
1611Ian Lynagh <igloo@earth.li>**20071123233113
1612 Fri Nov 23 13:15:59 PST 2007  Ian Lynagh <igloo@earth.li>
1613]
1614[Tidy and trim the type environment in mkBootModDetails
1615simonpj@microsoft.com**20071123153519
1616 
1617 Should fix Trac #1833
1618 
1619 We were failing to trim the type envt in mkBootModDetails, so several
1620 functions all called (*), for example, were getting into the interface.
1621 Result chaos.  It only actually bites when we do the retyping-loop thing,
1622 which is why it's gone so long without a fix.
1623 
1624 
1625]
1626[refactor: HscNothing and boot modules do not need desugaring
1627Simon Marlow <simonmar@microsoft.com>**20071123135237]
1628[FIX #1910: fix code generated for GDTOI on x86_32
1629Bertram Felgenhauer <int-e@gmx.de>*-20071121102627]
1630[Properly ppr InstEqs in wanteds of implication constraints
1631Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071122093002]
1632[FIX #1910: fix code generated for GDTOI on x86_32
1633Bertram Felgenhauer <int-e@gmx.de>**20071121102627]
1634[Add built-in Double operations to vectorisation
1635Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071122002517]
1636[Teach vectorisation about Double
1637Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071121054932]
1638[Vectorise polyexprs with notes
1639Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071121053102]
1640[Make rebindable do-notation behave as advertised
1641simonpj@microsoft.com**20071121174914
1642 
1643 Adopt Trac #1537.  The patch ended up a bit bigger than I expected,
1644 so I suggest we do not merge this into the 6.8 branch.  But there
1645 is no funadamental reason why not.
1646 
1647 With this patch, rebindable do-notation really does type as if you
1648 had written the original (>>) and (>>=) operations in desguared form.
1649 
1650 I ended up refactoring some of the (rather complicated) error-context
1651 stuff in TcUnify, by pushing an InstOrigin into tcSubExp and its
1652 various calls. That means we could get rid of tcFunResTy, and the
1653 SubCtxt type.  This should improve error messages slightly
1654 in complicated situations, because we have an Origin to hand
1655 to instCall (in the (isSigmaTy actual_ty) case of tc_sub1).
1656 
1657 Thanks to Pepe for the first draft of the patch.
1658 
1659]
1660[Add DEBUG-only flag -dsuppress-uniques to suppress printing of uniques
1661simonpj@microsoft.com**20071116152446
1662 
1663 This is intended only for debugging use: it makes it easier to
1664 compare two variants without the variations between uniques mattering.
1665 
1666 (Of course, you can't actually feed the output to the C compiler
1667 or assembler and expect anything sensible to happen!)
1668 
1669]
1670[Add -dcore-lint when validating libraries
1671simonpj@microsoft.com**20071105164733]
1672[Fix Trac #1913: check data const for derived types are in scope
1673simonpj@microsoft.com**20071121151428
1674 
1675 When deriving an instance, the data constructors should all be in scope.
1676 This patch checks the condition.
1677 
1678 
1679]
1680[Fix Trac #1909: type of map in docs
1681simonpj@microsoft.com**20071120160152]
1682[Move file locking into the RTS, fixing #629, #1109
1683Simon Marlow <simonmar@microsoft.com>**20071120140859
1684 File locking (of the Haskell 98 variety) was previously done using a
1685 static table with linear search, which had two problems: the array had
1686 a fixed size and was sometimes too small (#1109), and performance of
1687 lockFile/unlockFile was suboptimal due to the linear search.
1688 Also the algorithm failed to count readers as required by Haskell 98
1689 (#629).
1690 
1691 Now it's done using a hash table (provided by the RTS).  Furthermore I
1692 avoided the extra fstat() for every open file by passing the dev_t and
1693 ino_t into lockFile.  This and the improvements to the locking
1694 algorithm result in a healthy 20% or so performance increase for
1695 opening/closing files (see openFile008 test).
1696]
1697[FIX Trac #1825: standalone deriving Typeable
1698simonpj@microsoft.com**20071120125732
1699 
1700 Standalone deriving of typeable now requires you to say
1701        instance Typeable1 Maybe
1702 which is exactly the shape of instance decl that is generated
1703 by a 'deriving( Typeable )' clause on the data type decl.
1704 
1705 This is a bit horrid, but it's the only consistent way, at least
1706 for now.  If you say something else, the error messages are helpful.
1707 
1708 MERGE to 6.8 branch
1709 
1710]
1711[FIX #1715: egregious bug in ifaceDeclSubBndrs
1712simonpj@microsoft.com**20071120111723
1713 
1714 ifaceDeclSubBndrs didn't have an IfaceSyn case; but with type
1715 families an IfaceSyn can introduce subordinate binders.  Result:
1716 chaos.
1717 
1718 The fix is easy though.  Merge to 6.8 branch.
1719 
1720 
1721]
1722[Always do 'setup makefile' before building each library
1723Simon Marlow <simonmar@microsoft.com>**20071120103329
1724 This forces preprocessing to happen, which is necessary if any of the
1725 .hsc files have been modified.  Without this change, a 'setup
1726 makefile' would be required by hand after a .hsc file changed.
1727 Fortunately 'setup makefile' isn't much extra work, and I've made it
1728 not overwrite GNUmakefile if it hasn't changed, which avoids
1729 recalculating the dependencies each time.
1730]
1731[FIX #1847 (improve :browse! docs, fix unqual)
1732claus.reinke@talk21.com**20071108013147
1733 
1734 - add example to docs, explain how to interpret
1735   output of `:browse! Data.Maybe`
1736 - print unqualified names according to current
1737   context, not the context of the target module
1738 
1739]
1740[Track changes to package ndp
1741Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071120033716]
1742[Temporary hack for passing PArrays from unvectorised to vectorised code
1743Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071120024545]
1744[Bind NDP stuff to [:.:] arrays
1745Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071119020302]
1746[Don't treat enumerations specially during vectorisation for the moment
1747Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071119013729]
1748[Fix bugs in vectorisation of case expressions
1749Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071119013714]
1750[More built-in NDP combinators
1751Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071119012205]
1752[New vectorisation built-ins
1753Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071118051940]
1754[Fix bug in conversion unvect/vect
1755Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071118051926]
1756[Extend built-in vectorisation environments
1757Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071118045219]
1758[Fix bug in generation of environments for vectorisation
1759Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071118045203]
1760[Add builtin var->var mapping to vectorisation
1761Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071118042605]
1762[Extend vectorisation built-in mappings with datacons
1763Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071118034351]
1764[Change representation of parallel arrays of enumerations
1765Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071118033355]
1766[Add vectorisation-related builtin
1767Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071118031513]
1768[Teach vectorisation about Bool
1769Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071117042714]
1770[Incomplete support for boxing during vectorisation
1771Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071117040739]
1772[Make sure some TyCons always vectorise to themselves
1773Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071117040537]
1774[Simple conversion vectorised -> unvectorised
1775Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071117023029]
1776[Fix bug in case vectorisation
1777Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071117015014]
1778[Vectorisation of algebraic case expressions
1779Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071116074814]
1780[More vectorisation-related built-ins
1781Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071116061831]
1782[Vectorisation utilities
1783Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071116051037]
1784[Add vectorisation built-ins
1785Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071116050959]
1786[Fix vectorisation of binders in case expressions
1787Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071116021833]
1788[Two small typos in the flags summary (merge to 6.8 branch)
1789simonpj@microsoft.com**20071119134639]
1790[Improve the situation for Trac #959: civilised warning instead of a trace msg
1791simonpj@microsoft.com**20071119122938
1792 
1793 This doesn't fix the root cause of the bug, but it makes the report
1794 more civilised, and points to further info.
1795 
1796]
1797[FIX Trac #1806: test for correct arity for datacon in infix pattern patch
1798simonpj@microsoft.com**20071119114301
1799 
1800 Happily the fix is easy; pls merge
1801 
1802]
1803[Accept x86_64-*-freebsd* as well as amd64-*-freebsd* in configure.ac
1804Ian Lynagh <igloo@earth.li>**20071117154502
1805 Patch from Brian P. O'Hanlon
1806]
1807[Attempt at fixing #1873, #1360
1808Simon Marlow <simonmar@microsoft.com>**20071116152148
1809 
1810 I think I figured out a reasonable way to manage the GHCi context,
1811 comments welcome.
1812 
1813 Rule 1: external package modules in the context are persistent.  That
1814 is, when you say 'import Data.Maybe' it survives over :load, :add,
1815 :reload and :cd.
1816 
1817 Rule 2: :load and :add remove all home-package modules from the
1818 context and add the rightmost target, as a *-module if possible.  This
1819 is as before, and makes sense for :load because we're starting a new
1820 program; the old home-package modules don't make sense any more.  For
1821 :add, it usually does what you want, because the new target will
1822 become the context.
1823 
1824 Rule 3: any modules from the context that fail to load during a
1825 :reload are remembered, and re-added to the context at the next
1826 successful :reload.
1827 
1828 Claus' suggestion about adding the "remembered" modules to the prompt
1829 prefixed with a ! is implemented but commented out.  I couldn't
1830 decide whether it was useful or confusing.
1831 
1832 One difference that people might notice is that after a :reload where
1833 there were errors, GHCi would previously dump you in the most recent
1834 module that it loaded.  Now it dumps you in whatever subset of the
1835 current context still makes sense, and in the common case that will
1836 probably be {Prelude}.
1837]
1838[Wibble to fix Trac #1901 (shorten messsage slightly)
1839simonpj@microsoft.com**20071116150341]
1840[Improve links from flag reference to the relevant section; and improve doc of RankN flags
1841simonpj@microsoft.com**20071116145816]
1842[FIX Trac #1901: check no existential context in H98 mode
1843simonpj@microsoft.com**20071116145609]
1844[Improve documentation of data type declarations (Trac #1901)
1845simonpj@microsoft.com**20071116081841]
1846[Change the command-line semantics for query commands
1847Simon Marlow <simonmar@microsoft.com>**20071116132046
1848 
1849 From the help text:
1850 
1851   Commands that query the package database (list, latest, describe,
1852   field) operate on the list of databases specified by the flags
1853   --user, --global, and --package-conf.  If none of these flags are
1854   given, the default is --global --user.
1855 
1856 This makes it possible to query just a single database (e.g. the
1857 global one without the user one), which needed tricks to accomplish
1858 before.
1859]
1860[use "ghc-pkg latest --global" instead of "ghc-pkg list --simple-output"
1861Simon Marlow <simonmar@microsoft.com>**20071116122018
1862 The former now does the right thing: it uses the global database only,
1863 and picks the most recent package with the given name.
1864]
1865[Disallow installing packages whose names  differ in case only.
1866Simon Marlow <simonmar@microsoft.com>**20071116121153
1867 --force overrides.  Requested by Duncan Coutts, with a view to
1868 treating package names as case-insensitive in the future.
1869]
1870[FIX BUILD (with GHC 6.2.x): update .hi-boot file
1871Simon Marlow <simonmar@microsoft.com>**20071116101227]
1872[FIX #1828: installing to a patch with spaces in
1873Simon Marlow <simonmar@microsoft.com>**20071115155747
1874 We have to pass the path to gcc when calling windres, which itself
1875 might have spaces in.  Furthermore, we have to pass the path to gcc's
1876 tools to gcc.  This means getting the quoting right, and after much
1877 experimentation and reading of the windres sources I found something
1878 that works: passing --use-temp-files to windres makes it use its own
1879 implementation of quoting instead of popen(), and this does what we
1880 want.  Sigh.
1881]
1882[on Windows, install to a directory with spaces (test for #1828)
1883Simon Marlow <simonmar@microsoft.com>**20071115155327]
1884[FIX #1679: crash on returning from a foreign call
1885Simon Marlow <simonmar@microsoft.com>**20071115131635
1886 We forgot to save a pointer to the BCO over the foreign call.  Doing
1887 enough allocation and GC during the call could provoke a crash.
1888]
1889[Avoid the use of unversioned package dependencies
1890Simon Marlow <simonmar@microsoft.com>**20071115103249
1891 Fortunately "ghc-pkg list $pkg --simple-output" is a good way to add
1892 the version number.
1893]
1894[FIX #1596 (remove deprecated --define-name)
1895Simon Marlow <simonmar@microsoft.com>**20071114165323
1896 Also remove the old command-line syntax for ghc-pkg, which was not
1897 documented.  Do not merge.
1898]
1899[FIX #1837: remove deprecated support for unversioned dependencies (do not merge)
1900Simon Marlow <simonmar@microsoft.com>**20071114161044
1901 
1902]
1903[Make SpecConstr work again
1904simonpj@microsoft.com**20071115084242
1905 
1906 In a typo I'd written env instead of env', and as a result RULES are
1907 practically guaranteed not to work in a recursive group.  This pretty
1908 much kills SpecConstr in its tracks!
1909 
1910 Well done Kenny Lu for spotting this.  The fix is easy.
1911 
1912 Merge into 6.8 please.
1913 
1914 
1915 
1916]
1917[Documentation only - fix typo in flags reference
1918Tim Chevalier <chevalier@alum.wellesley.edu>**20071115055748]
1919[Avoid making Either String an instance of Monad in the Haddock parser
1920David Waern <david.waern@gmail.com>**20071114204050]
1921[FIX 1463 (implement 'ghc-pkg find-module')
1922claus.reinke@talk21.com**20071109162652
1923 
1924 - the ticket asks for a module2package lookup in ghc-pkg
1925   (this would be useful to have in cabal, as well)
1926 
1927 - we can now ask which packages expose a module we need,
1928   eg, when preparing a cabal file or when getting errors
1929   after package reorganisations:
1930 
1931   $ ./ghc-pkg-inplace find-module Var
1932   c:/fptools/ghc/driver/package.conf.inplace:
1933       (ghc-6.9.20071106)
1934   
1935   $ ./ghc-pkg-inplace find-module Data.Sequence
1936   c:/fptools/ghc/driver/package.conf.inplace:
1937       containers-0.1
1938 
1939 - implemented as a minor variation on listPackages
1940 
1941 (as usual, it would be useful if one could combine
1942 multiple queries into one)
1943 
1944]
1945[remove --define-name from the --help usage message (#1596)
1946Simon Marlow <simonmar@microsoft.com>**20071114153417
1947 
1948]
1949[FIX #1837: emit deprecated message for unversioned dependencies
1950Simon Marlow <simonmar@microsoft.com>**20071114153010]
1951[Fix #782, #1483, #1649: Unicode GHCi input
1952Simon Marlow <simonmar@microsoft.com>**20071114151411
1953 GHCi input is now treated universally as UTF-8, except for the Windows
1954 console where we do the correct conversion from the current code
1955 page (see System.Win32.stringToUnicode).
1956 
1957 That leaves non-UTF-8 locales on Unix as unsupported, but (a) we only
1958 accept source files in UTF-8 anyway, and (b) UTF-8 is quite ubiquitous
1959 as the default locale.
1960 
1961]
1962[Fix build
1963David Waern <david.waern@gmail.com>**20071114125842
1964 I had forgot to update HaddockLex.hi-boot-6, so the build with 6.2.2
1965 failed. This fixes that.
1966]
1967[FIX Trac 1662: actually check for existentials in proc patterns
1968simonpj@microsoft.com**20071114112930
1969 
1970 I'd fixed the bug for code that should be OK, but had forgotten to
1971 make the test for code that should be rejected!
1972 
1973 Test is arrowfail004
1974 
1975]
1976[FIX Trac 1888; duplicate INLINE pragmas
1977simonpj@microsoft.com**20071114104701
1978 
1979 There are actually three things here
1980 - INLINE pragmas weren't being pretty-printed properly
1981 - They were being classified into too-narrow boxes by eqHsSig
1982 - They were being printed in to much detail by hsSigDoc
1983 
1984 All easy.  Test is rnfail048.
1985 
1986]
1987[Run the -frule-check pass more often (when asked)
1988simonpj@microsoft.com**20071114104632]
1989[FIX #1653 (partially): add -X flags to completion for :set
1990Simon Marlow <simonmar@microsoft.com>**20071113153257]
1991[wibble
1992Pepe Iborra <mnislaih@gmail.com>**20071114233356]
1993[Make pprNameLoc more robust in absence of loc information
1994Pepe Iborra <mnislaih@gmail.com>**20071114233343]
1995[Try to manage the size of the text rendered for ':show bindings'
1996Pepe Iborra <mnislaih@gmail.com>**20071114231601]
1997[Make the Term ppr depth aware
1998Pepe Iborra <mnislaih@gmail.com>**20071114183417]
1999[Use paragraph fill sep where possible
2000Pepe Iborra <mnislaih@gmail.com>**20071114181233]
2001[GHCi debugger: added a new flag, -fno-print-binding-contents
2002Pepe Iborra <mnislaih@gmail.com>**20071113174539
2003 
2004 The contents of bindings show at breakpoints and by :show bindings
2005 is rendered using the same printer that :print uses.
2006 But sometimes the output it gives spans over too many lines and the
2007 user may want to be able to disable it.
2008]
2009[Fix Trac 1865: GHCi debugger crashes with :print
2010Pepe Iborra <mnislaih@gmail.com>**20071113170113]
2011[Merge from Haddock: Add <<url>> for images
2012David Waern <david.waern@gmail.com>**20071112220537
2013 A merge of this patch:
2014 
2015   Mon Aug  7 16:22:14 CEST 2006  Simon Marlow <simonmar@microsoft.com>
2016     * Add <<url>> for images
2017     Submitted by: Lennart Augustsson
2018 
2019 Please merge to the 6.8.2 branch.
2020]
2021[Improve documentation of INLINE, esp its interactions with other transformations
2022simonpj@microsoft.com**20071112160240]
2023[Comment re Trac #1220
2024simonpj@microsoft.com**20071112154109]
2025[Merge from Haddock: Modify lexing of /../
2026David Waern <david.waern@gmail.com>**20071112023856
2027 
2028   Tue Aug 28 11:19:54 CEST 2007  Simon Marlow <simonmar@microsoft.com>
2029     * Modify lexing of /../
2030     This makes /../ more like '..', so that a single / on a line doesn't
2031     trigger a parse error.  This should reduce the causes of accidental
2032     parse errors in Haddock comments; apparently stray / characters are
2033     a common source of failures.
2034 
2035 Please merge this to the 6.8.2 branch.
2036]
2037[Merge from Haddock: allow blank lines inside code blocks
2038David Waern <david.waern@gmail.com>**20071112013439
2039 
2040   Tue Jan  9 14:14:34 CET 2007  Simon Marlow <simonmar@microsoft.com>
2041     * allow blank lines inside a @...@ code block
2042 
2043 Please merge this to the 6.8.2 branch
2044]
2045[Merge of a patch from the old Haddock branch:
2046David Waern <david.waern@gmail.com>**20071112013143
2047 
2048   Fri Jan  5 12:13:41 CET 2007  Simon Marlow <simonmar@microsoft.com>
2049     * Fix up a case of extra vertical space after a code block
2050 
2051 Please merge this to the 6.8.2 branch
2052]
2053[Remove ex-extralibs from libraries/Makefile
2054Ian Lynagh <igloo@earth.li>**20071111213618]
2055[Remove the X11 and HGL libraries from extralibs
2056Ian Lynagh <igloo@earth.li>**20071111213447
2057 Don Stewart, X11 maintainer, requested we remove X11, and HGL depends on it
2058 on Linux (and we don't try to build HGL on Windows).
2059]
2060[arrows is no longer an extralib
2061Ian Lynagh <igloo@earth.li>**20071027123656]
2062[Turn -fprint-bind-result off by default
2063Ian Lynagh <igloo@earth.li>**20071111001126]
2064[TAG 2007-11-11
2065Ian Lynagh <igloo@earth.li>**20071111161540]
2066[Define CPP in distrib/Makefile-bin-vars.in; fixes #1855
2067Ian Lynagh <igloo@earth.li>**20071110180302
2068 Patch from Christian Maeder
2069]
2070[Tweak gen_contents_index to work with Solaris's sh
2071Ian Lynagh <igloo@earth.li>**20071110180014]
2072[Update install-sh
2073Ian Lynagh <igloo@earth.li>**20071110173950
2074 This comes from the Debian automake 1:1.10+nogfdl-1 package.
2075]
2076[Support more doc targets (html, pdf, etc) in the libraries Makefile
2077Ian Lynagh <igloo@earth.li>**20071110171328]
2078[Build Cabal user guide during "make", not only "make install-docs"
2079Ian Lynagh <igloo@earth.li>**20071110171247]
2080[Use INSTALL_SCRIPT, not INSTALL_PROGRAM, when installing scripts; fixes #1858
2081Ian Lynagh <igloo@earth.li>**20071110152309]
2082[Rename Parser.ly in the extralibs tarball; fixes #1859
2083Ian Lynagh <igloo@earth.li>**20071110151529
2084 If Cabal doesn't see the .ly file then it won't try to run happy, and
2085 thus won't fail if happy isn't installed.
2086]
2087[Add a path to the DocBook XSL Stylesheets search path
2088Ian Lynagh <igloo@earth.li>**20071110150649
2089 Slackware puts the stylesheets in /usr/share/xml/docbook/xsl-stylesheets*
2090 Patch from Andrea Rossato.
2091]
2092[Replace "tail -n +2" with "sed 1d", as Solaris doesn't understand the former
2093Ian Lynagh <igloo@earth.li>**20071031001218]
2094[Fix typo: -XNoRank2Types -> -XRank2Types
2095Ian Lynagh <igloo@earth.li>**20071109135656]
2096[Fix Trac #1654: propagate name changes into CoreRules
2097simonpj@microsoft.com**20071108175108
2098 
2099 This patch is on the HEAD.  It fixes a nasty and long-standing bug
2100 whereby we weren't substituting the ru_fn field of a CoreRule in
2101 CoreSubst.substSpec, which ultimately led to a puzzling "nameModule"
2102 error trying to put the rules in the interface file.
2103 
2104 
2105]
2106[eliminate a bit of duplication
2107Simon Marlow <simonmar@microsoft.com>*-20071105143714]
2108[Pad static literals to word size in the code generator
2109Simon Marlow <simonmar@microsoft.com>**20071108132842]
2110[FIX #1617: reloading didn't change the :browse output as it should
2111Simon Marlow <simonmar@microsoft.com>**20071107161454
2112 The problem was that because the interface hadn't changed, we were
2113 re-using the old ModIface.  Unfortunately the ModIface contains the
2114 GlobalRdrEnv for the module, and that *had* changed.  The fix is to
2115 put the new GlobalRdrEnv in the ModIface even if the interface has not
2116 otherwise changed.
2117 
2118 ModIface is not really the right place for the GlobalRdrEnv, but
2119 neither is ModDetails, so we should think about a better way to do
2120 this.
2121]
2122[FIX BUILD
2123Simon Marlow <simonmar@microsoft.com>**20071107161612
2124 Sorry, should have pushed with previous batch of changes.
2125]
2126[FIX #1556: GHC's :reload keeps the context, if possible
2127Simon Marlow <simonmar@microsoft.com>**20071107124118]
2128[FIX #1561: don't use tabs in pretty-printed output at all.
2129Simon Marlow <simonmar@microsoft.com>**20071107113201
2130 Tabs aren't guaranteed to be 8 spaces on every output device, so we
2131 shouldn't be using them.  Instead I added a little optimisation to
2132 use chunks of 8 spaces for long indentations.
2133 
2134]
2135[FIX #1765, #1766
2136Simon Marlow <simonmar@microsoft.com>**20071107111757
2137 - :def! now overwrites a previous command with the same name
2138 - :def on its own lists the defined macros
2139 - ":undef f g" undefines both f and g
2140]
2141[#1617: Add :browse! and various other additions to GHCi
2142Simon Marlow <simonmar@microsoft.com>**20071107102648
2143   
2144   - :browse!
2145     a variant of :browse that lists children separately,
2146     not in context, and gives import qualifiers in comments
2147 
2148 SimonM: I also added sorting by source location for interpreted
2149 modules in :browse, and alphabetic sorting by name otherwise.  For
2150 :browse *M, the locally-defined names come before the external ones.
2151 
2152   - :{ ..lines.. :} (multiline commands)
2153     allow existing commands to be spread over multiple lines
2154     to improve readability, both interactively and in .ghci
2155     (includes a refactoring that unifies the previous three
2156     command loops into one, runCommands, fed from cmdqueue,
2157     file, or readline)
2158 
2159   - :set
2160       now shows GHCi-specific flag settings (printing/
2161       debugger), as well as non-language dynamic flag
2162       settings
2163     :show languages
2164       show active language flags
2165     :show packages
2166       show active package flags as well as implicitly
2167       loaded packages
2168 
2169]
2170[FIX #1838: use System.Directory.getHomeDirectory instead of getEnv "HOME"
2171Simon Marlow <simonmar@microsoft.com>**20071107100653]
2172[catch up with removal of config.mk in the readline package
2173Simon Marlow <simonmar@microsoft.com>**20071107095952]
2174[Fix Trac #1813: generalise over *all* type variables at top level, even phantom ones
2175simonpj@microsoft.com**20071106153151
2176 
2177 See Note [Silly type synonym] in TcType for further details.  This bug
2178 (or at least infelicity) has been in GHC for quite a long time.
2179 
2180]
2181[Fix Trac #1814 (staging interaction in Template Haskell and GHCi), and add comments
2182simonpj@microsoft.com**20071106135548
2183 
2184 An Id bound by GHCi from a previous Stmt is Global but Internal, and
2185 I'd forgotten that, leading to unnecessary restrictions when using TH
2186 and GHCi together.
2187 
2188 This patch fixes the problem and adds lots of explanatory comments (which
2189 is where most of the extra lines come from).
2190 
2191 
2192]
2193[Improve error messages
2194simonpj@microsoft.com**20071106105258]
2195[Improve manual entry for binding lexically scoped type variables in pattern signatures
2196simonpj@microsoft.com**20071106105151]
2197[Remove trailing spaces from programlisting lines
2198simonpj@microsoft.com**20071106104921]
2199[Remove unhelpful sentence (see Trac #1832)
2200simonpj@microsoft.com**20071106104315
2201 
2202 Merge to 6.8 branch
2203 
2204]
2205[fix stage 1 compilation
2206Simon Marlow <simonmar@microsoft.com>**20071106142057]
2207[warning police
2208Simon Marlow <simonmar@microsoft.com>**20071106140538]
2209[GHC API: add checkAndLoadModule
2210Simon Marlow <simonmar@microsoft.com>**20071106140121
2211 Does what the name suggests: it performs the function of both
2212 checkModule and load on that module, avoiding the need to process each
2213 module twice when checking a batch of modules.  This will make Haddock
2214 and ghctags much faster.
2215 
2216 Along with this is the beginnings of a refactoring of the HscMain
2217 interface.  HscMain now exports functions for separately running the
2218 parser, typechecher, and generating ModIface and ModDetails.
2219 Eventually the plan is to complete this interface and use it to
2220 replace the existing one.
2221]
2222[update to use latest changes to the GHC API (works much quicker now)
2223Simon Marlow <simonmar@microsoft.com>**20071106135430]
2224[warning police
2225Simon Marlow <simonmar@microsoft.com>**20071106104019]
2226[Various improvements
2227Simon Marlow <simonmar@microsoft.com>**20071105164054
2228  - take the GHC topdir as a runtime argument
2229  - deal with files one at a time (fix space leak)
2230]
2231[build ghctags-inplace
2232Simon Marlow <simonmar@microsoft.com>**20071105163954]
2233[updates to ghctags code
2234Simon Marlow <simonmar@microsoft.com>**20071105163927]
2235[eliminate a bit of duplication
2236Simon Marlow <simonmar@microsoft.com>**20071105143714]
2237[catch up with changes to checkModule
2238Simon Marlow <simonmar@microsoft.com>**20071105142217]
2239[reorder the imports
2240Simon Marlow <simonmar@microsoft.com>**20070625134151]
2241[add $(GHCTAGS)
2242Simon Marlow <simonmar@microsoft.com>**20070625133450]
2243[follow changes in HsRecFields
2244Simon Marlow <simonmar@microsoft.com>**20070625133119]
2245[merged patches relating to GhcTags from #946
2246Simon Marlow <simonmar@microsoft.com>**20070625132158
2247 
2248 * accomodate changes in the GHC API
2249 * refactoring for more readable source code
2250 * if the whole group fails, try one file at a time
2251 * desperate attempts to handle the GHC build
2252]
2253[Rules to create TAGS using ghctags
2254Simon Marlow <simonmar@microsoft.com>**20070625132047]
2255[request for documentation of a new argument
2256nr@eecs.harvard.edu**20070625131906]
2257[new README file for utils/ghctags
2258nr@eecs.harvard.edu**20061013202756]
2259[proper HC entry for bootstrapping in Makefile
2260Norman Ramsey <nr@eecs.harvard.edu>**20060920042839]
2261[first cut at missing case for ids defined in pattern
2262Norman Ramsey <nr@eecs.harvard.edu>**20060920042757]
2263[change representation of FoundThing
2264Norman Ramsey <nr@eecs.harvard.edu>**20060917050800
2265 refactored FoundThing to use GHC's native representation of
2266 source-code locations and to carry the module name so that the TAGS
2267 file can contain a qualified name as well as the unqualified name
2268]
2269[get names of data constructors
2270Norman Ramsey <nr@eecs.harvard.edu>**20060917015539]
2271[do notation for the Maybe monad
2272Norman Ramsey <nr@eecs.harvard.edu>**20060917003410]
2273[load all files at once and compute tags for all
2274Norman Ramsey <nr@eecs.harvard.edu>**20060917002430]
2275[tell GHC not to generate code (thanks Simon M)
2276Norman Ramsey <nr@eecs.harvard.edu>**20060917002353]
2277[cover more cases; take GHC options on command line
2278Norman Ramsey <nr@eecs.harvard.edu>**20060916232755
2279 Bit of a dog's breakfast here:
2280   * generate tags for more cases in the syntax
2281   * accept -package ghc and other args on command line
2282   * scrub away old code for snaffling thru text
2283]
2284[initial, very incomplete tags generator
2285Norman Ramsey <nr@eecs.harvard.edu>**20060915235033
2286 The ultimate goal is to replace hasktags with
2287 a tags generator based on GHC-as-a-library.
2288 This file is a very incomplete first cut.
2289]
2290[Inline implication constraints
2291simonpj@microsoft.com**20071105220807
2292 
2293 This patch fixes Trac #1643, where Lennart found that GHC was generating
2294 code with unnecessary dictionaries.  The reason was that we were getting
2295 an implication constraint floated out of an INLINE (actually an instance
2296 decl), and the implication constraint therefore wasn't inlined even
2297 though it was used only once (but inside the INLINE).  Thus we were
2298 getting:
2299 
2300        ic = \d -> <stuff>
2301        foo = _inline_me_ (...ic...)
2302 
2303 Then 'foo' gets inlined in lots of places, but 'ic' now looks a bit
2304 big. 
2305 
2306 But implication constraints should *always* be inlined; they are just
2307 artefacts of the constraint simplifier.
2308 
2309 This patch solves the problem, by adding a WpInline form to the HsWrap
2310 type.
2311 
2312 
2313]
2314[Comment warning about transparent newtypes
2315simonpj@microsoft.com**20071105220744]
2316[Wibble to earlier case-merge fix
2317simonpj@microsoft.com**20071105220627
2318 
2319 This fix avoids a bogus WARN in SimplEnv.substId
2320 
2321]
2322[Improve pretty-printing of Core slightly (avoid indenting let bodies)
2323simonpj@microsoft.com**20071105220535]
2324[Fix an old but subtle bug in the Simplifier
2325simonpj@microsoft.com**20071105161314
2326 
2327 I got a Core Lint failure when compiling System.Win32.Info in the
2328 Win32 package.  It was very delicate: adding or removing a function
2329 definition elsewhere in the module (unrelated to the error) made the
2330 error go away.
2331 
2332 Happily, I found it.  In SimplUtils.prepareDefault I was comparing an
2333 InId with an OutId.  We were getting a spurious hit, and hence doing
2334 a bogus CaseMerge.
2335 
2336 This bug has been lurking ever since I re-factored the way that case
2337 expressions were simplified, about 6 months ago!
2338 
2339]
2340[Make CoreLint give a more informative error message
2341simonpj@microsoft.com**20071105161217]
2342[Comments about TH staging
2343simonpj@microsoft.com**20071105145340]
2344[Fix freeHaskellFunctionPtr for Darwin/i386
2345Aaron Tomb <atomb@galois.com>**20071029202636]
2346[MERGED: Set interfacedir (using $topdir, not $httptopdir)
2347Ian Lynagh <igloo@earth.li>**20071103180803
2348 Mon Oct 29 10:48:25 PDT 2007  Ian Lynagh <igloo@earth.li>
2349]
2350[Teach ghc-pkg about $httptopdir
2351Ian Lynagh <igloo@earth.li>**20071029161130]
2352[MERGED: installPackage needs to treat $httptopdir the same as $topdir
2353Ian Lynagh <igloo@earth.li>**20071103180259
2354 Sun Oct 28 06:45:34 PDT 2007  Ian Lynagh <igloo@earth.li>
2355]
2356[MERGED: Define and use $httptopdir for the haddock docs locations
2357Ian Lynagh <igloo@earth.li>**20071103180023
2358 Sun Oct 28 05:35:52 PDT 2007  Ian Lynagh <igloo@earth.li>
2359]
2360[We need to copy .buildinfo files into the bindists
2361Ian Lynagh <igloo@earth.li>**20071028131752]
2362[(>>>) now comes from GHC.Desugar
2363Simon Marlow <simonmar@microsoft.com>**20071102155954]
2364[Refactor error recovery slightly
2365simonpj@microsoft.com**20071102130115
2366 
2367 Mostly this patch is refacoring, but it also avoids post-tc zonking if
2368 the typechecker found errors.  This is good because otherwise with
2369 DEBUG you can get the "Inventing strangely-kinded TyCon" warning.
2370 
2371]
2372[Avoid Haddock bug #1821
2373simonpj@microsoft.com**20071102130043]
2374[Update error message to mention -XPatternSignatures instead of -fglasgow-exts
2375simonpj@microsoft.com**20071101180302]
2376[Rejig the error messages a bit; fixes a minor bug
2377simonpj@microsoft.com**20071101175022
2378 
2379 The type checker was only reporting the first message if an equality
2380 failed to match.  This patch does a bit of refactoring and fixes the
2381 bug, which was in the bogus use of eqInstMisMatch
2382 in tcSimplify.report_no_instances.b
2383 
2384 This is really a bug in 6.8 too, so this would be good to merge across
2385 to the 6.8 branch.
2386 
2387]
2388[Refactor Haddock options
2389David Waern <davve@dtek.chalmers.se>**20071101131757
2390 
2391 This patch renames the DOC_OPTIONS pragma to OPTIONS_HADDOCK. It also
2392 adds "-- # ..."-style Haddock option pragmas, for compatibility with
2393 code that use them.
2394 
2395 Another change is that both of these two pragmas behave like
2396 OPTIONS_GHC, i.e. they are only allowed at the top of the module, they
2397 are ignored everywhere else and they are stored in the dynflags. There is
2398 no longer any Haddock options in HsSyn.
2399 
2400 Please merge this to the 6.8.2 branch when 6.8.1 is out, if appropriate.
2401 
2402]
2403[clean ghci-inplace
2404Simon Marlow <simonmar@microsoft.com>**20071031093932]
2405[clean Haddock droppings
2406Simon Marlow <simonmar@microsoft.com>**20071031093923]
2407[Fix warning in OSMem for darwin
2408Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071030133003]
2409[FIX BUILD: a glitch in the new rules and inlining stuff
2410simonpj@microsoft.com**20071030113857
2411 
2412 Don't re-add the worker info to a binder until completeBind. It's not
2413 needed in its own RHS, and it may be replaced, via the substitution
2414 following postInlineUnconditionally.
2415 
2416 (Fixes build of the stage2 compiler which fell over when Coercion.lhs
2417 was being compiled.)
2418 
2419]
2420[Fix LiberateCase
2421simonpj@microsoft.com**20071029170620
2422 
2423        Merge to STABLE please
2424 
2425 Liberate case was being far too gung-ho about what to specialise. This
2426 bug only showed up when a recursive function 'f' has a nested recursive
2427 function 'g', where 'g' calls 'f' (as well as recursively calling 'g').
2428 This exact situation happens in GHC/IO.writeLines.
2429 
2430 This patch puts things right; see Note [When to specialise].  Result:
2431 much less code bloat.
2432 
2433 
2434 
2435 
2436]
2437[Improve error-message output slightly
2438simonpj@microsoft.com**20071029162637]
2439[Improve documentation of orphan instances (thanks to Adrian Hey)
2440simonpj@microsoft.com**20071029162505
2441 
2442 Please push to stable branch
2443 
2444 Simon
2445 
2446]
2447[fix installation of haddock.css and friends
2448Simon Marlow <simonmar@microsoft.com>**20071029120732]
2449[In a pattern binding, a type sig in the pattern cannot bind a type variable
2450simonpj@microsoft.com**20071027153330
2451 
2452 In a pattern binding with a pattern type signature, such as
2453 
2454        (Just (x::a)) = e
2455 
2456 the pattern type signature cannot bind type variables.  Hence
2457 'a' must be in scope already for the above example to be legal.
2458 
2459 This has been the situation for some time, but Dan changed it when
2460 adding view patterns.  This one-line change restores the old behaviour.
2461 
2462]
2463[Substantial improvement to the interaction of RULES and inlining
2464simonpj@microsoft.com**20071029111056
2465 
2466        (Merge to 6.8 branch after testing.)
2467 
2468 There were a number of delicate interactions between RULEs and inlining
2469 in GHC 6.6.  I've wanted to fix this for a long time, and some perf
2470 problems in the 6.8 release candidate finally forced me over the edge!
2471 
2472 The issues are documented extensively in OccurAnal, Note [Loop breaking
2473 and RULES], and I won't duplicate them here.  (Many of the extra lines in
2474 OccurAnal are comments!)
2475 
2476 This patch resolves Trac bugs #1709, #1794, #1763, I believe.
2477 
2478 
2479]
2480[Add newline in debug print
2481simonpj@microsoft.com**20071026150224]
2482[Explicit pattern match in default case of addTickLHsBind
2483simonpj@microsoft.com**20071024134828]
2484[Generalise the types of mk_FunBind, mk_easy_FunBind, mkVarBind
2485simonpj@microsoft.com**20071024134750]
2486[Fix the build with GHC < 6.4 (foldl1' didn't exist)
2487Ian Lynagh <igloo@earth.li>*-20071027210526]
2488[Fix the build with GHC < 6.4 (foldl1' didn't exist)
2489Ian Lynagh <igloo@earth.li>**20071027210526]
2490[MERGED: We need to install-docs when making the Windows bindist
2491Ian Lynagh <igloo@earth.li>**20071027203220]
2492[We need to set _way=* in rts/ both when making and installing bindists
2493Ian Lynagh <igloo@earth.li>**20071027142914
2494 This is a hack, but it means we get libHSrts*.a etc rather than just
2495 libHSrts.a.
2496]
2497[Fix a whole heap of speling errrs in the docs
2498Josef Svenningsson <josef.svenningsson@gmail.com>**20071007213858]
2499[Only build/install the man page if XSLTPROC is defined
2500Ian Lynagh <igloo@earth.li>**20071027122155]
2501[install the Cabal docs, and make them show up in a binary distribution
2502Simon Marlow <simonmar@microsoft.com>**20071026122456]
2503[cp => $(CP)
2504Simon Marlow <simonmar@microsoft.com>**20071026111054]
2505[get rid of the html subdirectory under share/doc/ghc/users_guide
2506Simon Marlow <simonmar@microsoft.com>**20071026110919]
2507[Make 'improvement' work properly in TcSimplify
2508simonpj@microsoft.com**20071027155459
2509 
2510        (Please merge this, and the preceding
2511        handful from me to the 6.8 branch.)
2512 
2513 This patch fixes a serious problem in the type checker, whereby
2514 TcSimplify was going into a loop because it thought improvement
2515 had taken place, but actually the unificataion was actually deferred.
2516 
2517 We thereby fix Trac #1781, #1783, #1795, and #1797!
2518 
2519 In fixing this I found what a mess TcSimplify.reduceContext is!
2520 We need to fix this.
2521 
2522 The main idea is to replace the "improvement flag" in Avails with
2523 a simpler and more direct test: have any of the mutable type variables
2524 in the (zonked) 'given' or 'irred' constraints been filled in?
2525 This test uses the new function TcMType.isFilledMetaTyVar; the test
2526 itself is towards the end of reduceContext.
2527 
2528 I fixed a variety of other infelicities too, and left some ToDos.
2529 
2530 
2531]
2532[An implication constraint can abstract over EqInsts
2533simonpj@microsoft.com**20071027155433]
2534[In an AbsBinds, the 'dicts' can include EqInsts
2535simonpj@microsoft.com**20071027154903
2536 
2537 An AbsBinds abstrats over evidence, and the evidence can be both
2538 Dicts (class constraints, implicit parameters) and EqInsts (equality
2539 constraints).  So we need to
2540   - use varType rather than idType
2541   - use instToVar rather than instToId
2542   - use zonkDictBndr rather than zonkIdBndr in zonking
2543 
2544 It actually all worked before, but gave warnings.
2545 
2546 
2547]
2548[More notes
2549simonpj@microsoft.com**20071027154702]
2550[Comments only
2551simonpj@microsoft.com**20071027154642]
2552[Add anyM to IOEnv
2553simonpj@microsoft.com**20071027154551]
2554[Add a note to NOTES
2555simonpj@microsoft.com**20071027100220]
2556[Make compileToCore return the module name and type environment along with bindings
2557Tim Chevalier <chevalier@alum.wellesley.edu>**20071027100530
2558 
2559   compileToCore returned just a list of CoreBind, which isn't enough,
2560 since to do anything with the resulting Core code, you probably also
2561 want the type declarations. I left compileToCore as it is, but added a
2562 function compileToCoreModule that returns a complete Core module (with
2563 module name, type environment, and bindings). I'm not sure that
2564 returning the type environment is the best way to represent the type
2565 declarations for the given module, but I don't want to reinvent the
2566 External Core wheel for this.
2567 
2568]
2569[binary-dist: Makefile-vars needs HADDOCK_DOCS=YES
2570Simon Marlow <simonmar@microsoft.com>**20071025135816]
2571[fix the links in the library documentation index
2572Simon Marlow <simonmar@microsoft.com>**20071025152245]
2573[default to installing runhaskell and hsc2hs again, but provide knobs to turn them off
2574Simon Marlow <simonmar@microsoft.com>**20071025084222]
2575[Adding hpc documentation about sum and map, push to STABLE.
2576andy@unsafeperformio.com**20071025050341]
2577[Fixing typo in runtime documentation for hpc, push to stable
2578andy@unsafeperformio.com**20071025045456]
2579[Correct a comment
2580Ian Lynagh <igloo@earth.li>**20071024114549]
2581[Fix ghc package in bindists; it wasn't adding the depenedency on readline
2582Ian Lynagh <igloo@earth.li>**20071024120633]
2583[Fix installing the ghc package .hi files in a bindist
2584Ian Lynagh <igloo@earth.li>**20071024114219]
2585[Build the manpage when building, not when installing
2586Ian Lynagh <igloo@earth.li>**20071024112914]
2587[Hack to make sure we get all the RTS ways in bindists
2588Ian Lynagh <igloo@earth.li>**20071024004155]
2589[Fix installing the documentation in the bindists
2590Ian Lynagh <igloo@earth.li>**20071023234624]
2591[-ftype-families -> -XTypeFamilies
2592Ian Lynagh <igloo@earth.li>**20071024142828]
2593[FIX #1791: fail with out-of-heap when allocating more than the max heap size in one go
2594Simon Marlow <simonmar@microsoft.com>**20071024095420
2595 Normally the out-of-heap check is performed post-GC, but there are
2596 cases where we can detect earlier that we definitely have exhausted
2597 the heap size limit.
2598]
2599[Fix more warnings
2600Simon Marlow <simonmar@microsoft.com>**20071023131351]
2601[FIX BUILD (on 32-bit platforms): hs_hpc_module() type mismatch
2602Simon Marlow <simonmar@microsoft.com>**20071023082233]
2603[patch from #1782; fixes check-packages target on Solaris
2604Simon Marlow <simonmar@microsoft.com>**20071022133337]
2605[add PIC relocations for x86_64, and use a simpler hack in place of x86_64_high_symbol()
2606Simon Marlow <simonmar@microsoft.com>**20071018125220
2607 This is Wolfgang Thaller's patch sent to cvs-ghc recently, with extra
2608 commentary by me.  It turns out that this patch is not just a cleanup,
2609 it is also necessary for GHCi to work on x86_64 with shared libraries,
2610 because previously lookupSymbol() was creating jump-table entries for
2611 all symbols looked up that resolved outside 2Gb, whereas Wolfgang's
2612 version only generates jump-table entries for 32-bit symbol references
2613 in object code that we load.
2614]
2615[fix creation of ghc-inplace for non-std ways
2616Simon Marlow <simonmar@microsoft.com>**20071017152820]
2617[remove an incorrect assertion
2618Simon Marlow <simonmar@microsoft.com>**20071016151829]
2619[second attempt to fix C compiler warnings with -fhpc
2620Simon Marlow <simonmar@microsoft.com>**20071019133243
2621 The hs_hpc_module() prototype in RtsExternal.h didn't match its usage:
2622 we were passing StgWord-sized parameters but the prototype used C
2623 ints.  I think it accidentally worked because we only ever passed
2624 constants that got promoted.  The constants unfortunately were
2625 sometimes negative, which caused the C compiler to emit warnings.
2626 
2627 I suspect PprC.pprHexVal may be wrong to emit negative constants in
2628 the generated C, but I'm not completely sure.  Anyway, it's easy to
2629 fix this in CgHpc, which is what I've done.
2630 
2631]
2632[Zonk quantified tyvars with skolems
2633Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071019115653
2634 
2635 We used to zonk quantified type variables to regular TyVars.  However, this
2636 leads to problems.  Consider this program from the regression test suite:
2637 
2638   eval :: Int -> String -> String -> String
2639   eval 0 root actual = evalRHS 0 root actual
2640 
2641   evalRHS :: Int -> a
2642   evalRHS 0 root actual = eval 0 root actual
2643 
2644 It leads to the deferral of an equality
2645 
2646   (String -> String -> String) ~ a
2647 
2648 which is propagated up to the toplevel (see TcSimplify.tcSimplifyInferCheck).
2649 In the meantime `a' is zonked and quantified to form `evalRHS's signature.
2650 This has the *side effect* of also zonking the `a' in the deferred equality
2651 (which at this point is being handed around wrapped in an implication
2652 constraint).
2653 
2654 Finally, the equality (with the zonked `a') will be handed back to the
2655 simplifier by TcRnDriver.tcRnSrcDecls calling TcSimplify.tcSimplifyTop.
2656 If we zonk `a' with a regular type variable, we will have this regular type
2657 variable now floating around in the simplifier, which in many places assumes to
2658 only see proper TcTyVars.
2659 
2660 We can avoid this problem by zonking with a skolem.  The skolem is rigid
2661 (which we requirefor a quantified variable), but is still a TcTyVar that the
2662 simplifier knows how to deal with.
2663]
2664[Fix typo that prevented zonking of rhs of EqInsts
2665Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071018131040
2666 
2667 MERGE TO STABLE
2668]
2669[implement #1468, :browse on its own uses the currently-loaded module
2670Simon Marlow <simonmar@microsoft.com>**20071019115751]
2671[FIX #1784: EM_AMD64 and EM_X86_64 might both be defined to the same value
2672Simon Marlow <simonmar@microsoft.com>**20071019110223]
2673[Tell Cabal what it's version number is while bootstrapping it
2674Duncan Coutts <duncan.coutts@worc.ox.ac.uk>**20071018222128
2675 This means that it'll work with all the packages that specify a cabal-version
2676]
2677[FIX #1450: asynchronous exceptions are now printed by +RTS -xc
2678Simon Marlow <simonmar@microsoft.com>**20071018134951]
2679[fix -fbreak-on-exception for unregsterised
2680Simon Marlow <simonmar@microsoft.com>**20071018110621]
2681[fix :print when !tablesNextToCode
2682Simon Marlow <simonmar@microsoft.com>**20071018105340]
2683[fix breakpoints in unregisterised mode
2684Simon Marlow <simonmar@microsoft.com>**20071018101929]
2685[Change some ints to unsigned ints
2686Simon Marlow <simonmar@microsoft.com>**20071018095503
2687 Fixes some gratuitous warnings when compiling via C with -fhpc
2688]
2689[fix warnings when compiling via C
2690Simon Marlow <simonmar@microsoft.com>**20071018095417]
2691[rollback "accounting wibble: we were missing an alloc_blocks .. "
2692Simon Marlow <simonmar@microsoft.com>**20071018094415
2693 I misread the code, now added a comment to explain why it isn't necessary
2694]
2695[recordMutable: test for gen>0 before calling recordMutableCap
2696Simon Marlow <simonmar@microsoft.com>**20071017125657
2697 For some reason the C-- version of recordMutable wasn't verifying that
2698 the object was in an old generation before attempting to add it to the
2699 mutable list, and this broke maessen_hashtab.  This version of
2700 recordMutable is only used in unsafeThaw#.
2701]
2702[re-instate missing parts of "put the @N suffix on stdcall foreign calls in .cmm code"
2703Simon Marlow <simonmar@microsoft.com>**20071017144007
2704 These changes were apparently lost during "massive changes to add a
2705 'zipper' representation of C-"
2706]
2707[Don't barf on error message with non-tc tyvars
2708Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071018060336
2709 
2710 MERGE TO STABLE
2711]
2712[Fix deferring on tyvars in TcUnify.subFunTys
2713Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071018044352]
2714[TcUnify.subFunTys must take type families into account
2715Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071017114326
2716 * A bug reported by Andrew Appleyard revealed that subFunTys did take
2717   neither type families nor equalities into account.  In a fairly obscure
2718   case there was also a coercion ignored.
2719]
2720[Refactoring: extract platform-specific code from sm/MBlock.c
2721Simon Marlow <simonmar@microsoft.com>**20071017134145
2722 Also common-up some duplicate bits in the platform-specific code
2723]
2724[fix an error message (barf -> sysErrorBelch)
2725Simon Marlow <simonmar@microsoft.com>**20071017121855]
2726[fix warning on Windows
2727Simon Marlow <simonmar@microsoft.com>**20071017121645]
2728[Don't clean gmp when validating (speeds up validation on Windows)
2729Simon Marlow <simonmar@microsoft.com>**20071017100908]
2730[document float2Int# and double2Int#
2731Simon Marlow <simonmar@microsoft.com>**20070925121139]
2732[Update HsExpr.hi-boot-6 for view pattern changes
2733simonpj@microsoft.com**20071017120212]
2734[Fix #1709: do not expose the worker for a loop-breaker
2735simonpj@microsoft.com**20071016131840
2736 
2737 The massive 'Uni' program produced a situation in which a function that
2738 had a worker/wrapper split was chosen as a loop breaker.  If the worker
2739 is exposed in the interface file, then an importing module may go into
2740 an inlining loop: see comments on TidyPgm.tidyWorker.
2741 
2742 This patch fixes the inlining bug.  The code that gives rise to this
2743 bizarre case is still not good (it's a bunch of implication constraints
2744 and we are choosing a bad loop breaker) but the first thing is to fix the
2745 bug.
2746 
2747 It's rather hard to produce a test case!
2748 
2749 Please merge to the 6.8 branch.
2750 
2751 
2752 
2753]
2754[Fix #1662: do not simplify constraints for vanilla pattern matches
2755simonpj@microsoft.com**20071016124710
2756 
2757 See Note [Arrows and patterns] in TcPat. 
2758 
2759 This fixes Trac 1662.   Test is arrows/should_compile/arrowpat.hs
2760 
2761 Please merge
2762 
2763]
2764[Eliminate over-zealous warning in CoreToStg
2765simonpj@microsoft.com**20071016124606]
2766[Show inlined function in the header of 'Inlining done' message
2767simonpj@microsoft.com**20071016124535]
2768[Show program size in the simplifier-bailing-out message
2769simonpj@microsoft.com**20071016124450]
2770[View patterns, record wildcards, and record puns
2771Dan Licata <drl@cs.cmu.edu>**20071010150254
2772 This patch implements three new features:
2773 * view patterns (syntax: expression -> pat in a pattern)
2774 * working versions of record wildcards and record puns
2775 See the manual for detailed descriptions.
2776 
2777 Other minor observable changes:
2778 * There is a check prohibiting local fixity declarations
2779   when the variable being fixed is not defined in the same let
2780 * The warn-unused-binds option now reports warnings for do and mdo stmts
2781 
2782 Implementation notes:
2783 
2784 * The pattern renamer is now in its own module, RnPat, and the
2785 implementation is now in a CPS style so that the correct context is
2786 delivered to pattern expressions.
2787 
2788 * These features required a fairly major upheaval to the renamer.
2789 Whereas the old version used to collect up all the bindings from a let
2790 (or top-level, or recursive do statement, ...) and put them into scope
2791 before renaming anything, the new version does the collection as it
2792 renames.  This allows us to do the right thing with record wildcard
2793 patterns (which need to be expanded to see what names should be
2794 collected), and it allows us to implement the desired semantics for view
2795 patterns in lets.  This change had a bunch of domino effects brought on
2796 by fiddling with the top-level renaming.
2797 
2798 * Prior to this patch, there was a tricky bug in mkRecordSelId in HEAD,
2799 which did not maintain the invariant necessary for loadDecl.  See note
2800 [Tricky iface loop] for details.
2801]
2802[FIX profiling after my storage manager changes
2803Simon Marlow <simonmar@microsoft.com>**20071015103939]
2804[More docu for skolemOccurs
2805Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071015075644]
2806[Slightly improved comments in TcTyClsDecls
2807Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071010142023]
2808[TcTyFuns: remove some duplicate code
2809Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071004142315]
2810[TcTyFuns.eqInstToRewrite
2811Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071003145715]
2812[Add allocateInGen() for allocating in a specific generation, and cleanups
2813Simon Marlow <simonmar@microsoft.com>**20071012124413
2814 Now allocate() is a synonym for allocateInGen(). 
2815 
2816 I also made various cleanups: there is now less special-case code for
2817 supporting -G1 (two-space collection), and -G1 now works with
2818 -threaded.
2819]
2820[optimise isAlive()
2821Simon Marlow <simonmar@microsoft.com>**20071012103810]
2822[accounting wibble: we were missing an alloc_blocks++ in allocateLocal()
2823Simon Marlow <simonmar@microsoft.com>**20071012101711]
2824[threadStackOverflow should be using allocateLocal
2825Simon Marlow <simonmar@microsoft.com>**20071012100405]
2826[FIX #1759 while respecting the ticks
2827andy@galois.com**20071015033319]
2828[Improving the combine mode for hpc
2829andy@galois.com**20071014171009
2830 
2831 we now have
2832 Processing Coverage files:
2833   sum         Sum multiple .tix files in a single .tix file
2834   combine     Combine two .tix files in a single .tix file
2835   map         Map a function over a single .tix file
2836 
2837 Where sum joins many .tix files, combine joins two files (with
2838 extra functionality possible), and map just applied a function
2839 to single .tix file.
2840 
2841 These changes were improvements driven by hpc use cases.
2842 
2843 END OF DESCRIPTION***
2844 
2845 Place the long patch description above the ***END OF DESCRIPTION*** marker.
2846 The first line of this file will be the patch name.
2847 
2848 
2849 This patch contains the following changes:
2850 
2851 M ./utils/hpc/Hpc.hs -1 +3
2852 M ./utils/hpc/HpcCombine.hs -33 +84
2853 M ./utils/hpc/HpcFlags.hs -11 +59
2854]
2855[Fix DoCon: Another try at getting extractResults right
2856simonpj@microsoft.com**20071012162325
2857 
2858 For some reason TcSimplify.extractResults is quite difficult to get right.
2859 This is another attempt; finally I think I have it.
2860 
2861 Strangely enough, it's only Sergey's DoCon program that shows up the
2862 bug, which manifested as a failure in the Simplifier
2863 
2864         lookupRecBndr $dGCDRing{v a1Lz} [lid]
2865 
2866 But it was due to extractResults producing multiple bindings for
2867 the same dictionary.
2868 
2869 Please merge this to the stable branch (after previous patches to
2870 TcSimplify though).
2871 
2872 
2873]
2874[mention what SCC stands for
2875Simon Marlow <simonmar@microsoft.com>**20071011135736]
2876[Add a proper write barrier for MVars
2877Simon Marlow <simonmar@microsoft.com>**20071011135505
2878 Previously MVars were always on the mutable list of the old
2879 generation, which meant every MVar was visited during every minor GC.
2880 With lots of MVars hanging around, this gets expensive.  We addressed
2881 this problem for MUT_VARs (aka IORefs) a while ago, the solution is to
2882 use a traditional GC write-barrier when the object is modified.  This
2883 patch does the same thing for MVars.
2884 
2885 TVars are still done the old way, they could probably benefit from the
2886 same treatment too.
2887]
2888[we need to #include "Stg.h" first, we can't rely on GHC to inject it
2889Simon Marlow <simonmar@microsoft.com>**20071010153244
2890 This fixes the unreg build, and in general building the RTS code
2891 via-C. I'm not sure at what stage this was broken, but I think it
2892 was working accidentally before.
2893]
2894[Fix Trac #1680; check for unboxed tuples in TcType.marshalableTyCon
2895simonpj@microsoft.com**20071011123426]
2896[Fix Trac #1759: do not let ticks get in the way of spotting trivially-true guards
2897simonpj@microsoft.com**20071010164731
2898 
2899 GHC spots that an 'otherwise' guard is true, and uses that knowledge to
2900 avoid reporting spurious missing-pattern or overlaps with -Wall.
2901 
2902 The HPC ticks were disguising the 'otherwise', which led to this failure.
2903 Now we check.  The key change is defining DsGRHSs.isTrueLHsExpr.
2904 
2905 Test is ds062
2906 
2907 
2908]
2909[Fix Trac #1755; check for stage errors in TH quoted Names
2910simonpj@microsoft.com**20071010150250
2911 
2912 There are a number of situations in which you aren't allowed to use
2913 a quoted Name in a TH program, such as
2914        \x -> 'x
2915 But we weren't checking for that!  Now we are.
2916 
2917 Merge to stable branch.
2918 
2919 Test is TH_qname.
2920 
2921 
2922]
2923[checkWellStaged: reverse comparsion (no change in semantics), plus some comments
2924simonpj@microsoft.com**20071010124013]
2925[Add traceTc in tcSimplifyDefault
2926simonpj@microsoft.com**20071010123933]
2927[Improve pretty-printing of splices in HsSyn
2928simonpj@microsoft.com**20071010123726]
2929[Replaced two uses of head b explicit pattern matching
2930Pepe Iborra <mnislaih@gmail.com>**20071013113136]
2931[Fix Trac #1678; be more careful about catching and reporting exceptions in spliced TH monadic computations
2932simonpj@microsoft.com**20071010145705
2933 
2934 Many of the new lines are comments to explain the slightly-convoluted
2935 in which exceptions get propagated out of the Q monad.
2936 
2937 This fixes Trac 1679; test is TH_runIO (as well as the exising TH_fail).
2938 
2939 Please merge
2940 
2941 
2942]
2943[Comments only
2944simonpj@microsoft.com**20071010145646]
2945[FIX BUILD (when compiling base via C): declare n_capabilities
2946Simon Marlow <simonmar@microsoft.com>**20071010103704]
2947[GHCi: use non-updatable thunks for breakpoints
2948Simon Marlow <simonmar@microsoft.com>**20071010093241
2949 The extra safe points introduced for breakpoints were previously
2950 compiled as normal updatable thunks, but they are guaranteed
2951 single-entry, so we can use non-updatable thunks here.  This restores
2952 the tail-call property where it was lost in some cases (although stack
2953 squeezing probably often recovered it), and should improve
2954 performance.
2955]
2956[FIX #1681: withBreakAction had too large a scope in runStmt
2957Simon Marlow <simonmar@microsoft.com>**20071010085820]
2958[tiny refactoring
2959Simon Marlow <simonmar@microsoft.com>**20071009145002]
2960[small reworking of the loop-breaker-choosing algorithm
2961Simon Marlow <simonmar@microsoft.com>**20071009145305
2962 Previously inline candidates were given higher preference as
2963 non-loop-breakers than constructor applications, but the reason for
2964 this was that making a wrapper into a loop-breaker is to be avoided at
2965 all costs.  This patch refines the algorithm slightly so that wrappers
2966 are explicitly avoided by giving them a much higher score, and other
2967 inline candidates are given lower scores than constructor
2968 applications.
2969 
2970 This makes almost zero difference to a complete nofib run, so it
2971 amounts to just a tidyup.
2972]
2973[Fix warnings when build w/o readline
2974Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071010101840]
2975[Update documentation for win32 DLL linking
2976Clemens Fruhwirth <clemens@endorphin.org>**20071010074415]
2977[FIX: tidy up TcSimplify following equality constraints additions
2978simonpj@microsoft.com**20071010093334
2979 
2980 The combination of "type refinement" for GADTs and the new equality
2981 constraints has made TcSimplify rather complicated.  And wrong:
2982 it generated bogus code for cholewo-eval.
2983 
2984 This patch is still far from entirely satisfactory.  There are
2985 too many places where invariants are unclear, and the code is
2986 still a bit of a mess.  But I believe it's better, and it passes
2987 the regression tests!  So I think it's good enough for the 6.8 release.
2988 
2989 Please merge.
2990 
2991 The main changes are:
2992 
2993 - get rid of extractLocalResults (which was always suspicious)
2994 
2995 - instead, treat the 'refinement' along with 'givens', by
2996   adding a field to RedEnv, red_reft which travels with red_givens
2997 
2998 - I also reworked extractResults a bit, which looked wrong to me
2999   This entailed changing the Given constructor in Avail to take
3000   an Inst rather than a TcId
3001 
3002 
3003]
3004[Improve pretty-printing for HsSyn
3005simonpj@microsoft.com**20071010093058]
3006[Fix Trac #1746: make rule-matching work properly with Cast expressions
3007simonpj@microsoft.com**20070929104406
3008 
3009 The Cast case of the rule-matcher was simply wrong.
3010 
3011 This patch fixes it; see Trac #1746.
3012 
3013 I also fixed the rule generation in SpecConstr to generate a wild-card
3014 for the cast expression, which we don't want to match on.  This makes
3015 the rule more widely applicable; it wasn't the cause of the bug.
3016 
3017]
3018[Small comment only
3019simonpj@microsoft.com**20070929104309]
3020[export n_capabilities, see #1733
3021Simon Marlow <simonmar@microsoft.com>**20071009142701]
3022[FIX #1743, create a fresh unique for each Id we bind at a breakpoint
3023Simon Marlow <simonmar@microsoft.com>**20071009142554]
3024[remove vestiges of way 'u' (see #1008)
3025Simon Marlow <simonmar@microsoft.com>**20071009130942]
3026[also call initMutex on every task->lock, see #1391
3027Simon Marlow <simonmar@microsoft.com>**20071009122409]
3028[remove the "-unreg" flag and the unregisterised way, see #1008
3029Simon Marlow <simonmar@microsoft.com>**20071009122338]
3030[warning removal
3031Simon Marlow <simonmar@microsoft.com>**20071009105138]
3032[warning removal
3033Simon Marlow <simonmar@microsoft.com>**20071003170005]
3034[refactoring only: use the parameterised InstalledPackageInfo
3035Simon Marlow <simonmar@microsoft.com>**20071003163536
3036 This required moving PackageId from PackageConfig to Module
3037]
3038[warning removal
3039Simon Marlow <simonmar@microsoft.com>**20071003174016]
3040[warning removal
3041Simon Marlow <simonmar@microsoft.com>**20071003173448]
3042[warning removal
3043Simon Marlow <simonmar@microsoft.com>**20071003173202]
3044[warning removal
3045Simon Marlow <simonmar@microsoft.com>**20071003172715]
3046[remove most warnings
3047Simon Marlow <simonmar@microsoft.com>**20071003090804]
3048[mkIfaceExports: sort the children of AvailTC
3049Simon Marlow <simonmar@microsoft.com>**20071002114917
3050 This fixes a problem with spurious recompilations: each time a module
3051 was recompiled, the order of the children would change, causing extra
3052 recompilation.
3053 
3054 MERGE TO STABLE
3055]
3056[error message fix (#1758)
3057Simon Marlow <simonmar@microsoft.com>**20071008134958]
3058[FIX validate for PPC Mac OS X - RegAllocStats.hs
3059Thorkil Naur <naur@post11.tele.dk>**20071005144105]
3060[FIX validate for PPC Mac OS X - RegAllocLinear.hs
3061Thorkil Naur <naur@post11.tele.dk>**20071005143607]
3062[FIX validate for PPC Mac OS X - Linker.c
3063Thorkil Naur <naur@post11.tele.dk>**20071005144908]
3064[FIX validate for PPC Mac OS X - Evac.h
3065Thorkil Naur <naur@post11.tele.dk>**20071005144454]
3066[FIX #1748: -main-is wasn't handling the case of a single hierarchical module
3067Simon Marlow <simonmar@microsoft.com>**20071008131305
3068 test case is driver062.5
3069]
3070[FIX BUILD FD_SETSIZE signed
3071jochemberndsen@dse.nl**20070927132649
3072 On FreeBSD FD_SETSIZE is unsigned. Cast it to a signed int
3073 for portability.
3074]
3075[FIX BUILD addDLL returns const char*
3076jochemberndsen@dse.nl**20070927132619
3077 addDLL returns const char*, not just a char*.
3078 Fix compiler warning
3079]
3080[FIX BUILD `set -o igncr'-issue on FreeBSD
3081jochemberndsen@dse.nl**20070926203750
3082 `set -o igncr' does not work on non-cygwin-systems.
3083 Fail silently if this command does not work, instead
3084 of aborting the build.
3085 
3086]
3087[comment-out "use vars" in 3 places (see #1739)
3088Simon Marlow <simonmar@microsoft.com>**20071008115740]
3089[Print binding contents in :show bindings
3090Pepe Iborra <mnislaih@gmail.com>**20071006123952]
3091[Change DOCOPTIONS pragma to DOC_OPTIONS
3092David Waern <davve@dtek.chalmers.se>**20071002143849
3093 
3094 MERGE TO STABLE
3095]
3096[FIX: parsing of doc options
3097David Waern <davve@dtek.chalmers.se>**20071002143713
3098 
3099 Lexing of the doc options pragma was changed, but but no change was
3100 made to the parser to reflect that. This patch fixes this problem.
3101 
3102 MERGE TO STABLE
3103]
3104[FIX: add missing case to OccName.isSymOcc
3105David Waern <davve@dtek.chalmers.se>**20071002143459]
3106[Remove warnings from WwLib
3107Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071002130736]
3108[FIX: mkWWcpr takes open alg types into account
3109Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071002130407
3110 - This fixed the failures of GMapAssoc and GMapTop for optmising ways
3111 
3112 MERGE TO STABLE
3113]
3114[FIX #1738: KPush rule of FC must take dataConEqTheta into account
3115Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071001154343
3116 
3117 MERGE TO STABLE
3118]
3119[FIX #1729: Don't try to expand syn families with -XLiberalTypeSynonyms
3120Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070929122624
3121 
3122 MERGE TO STABLE
3123]
3124[Some more traceTcs
3125Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070929121941]
3126[FIX: Make boxy splitters aware of type families
3127Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070928225541
3128 
3129 MERGE TO STABLE
3130]
3131[html_installed_root shouldn't contain $$pkgid
3132Ian Lynagh <igloo@earth.li>**20070927130427
3133 This actually didn't break anything, as the shell expanded $pkgid to the
3134 empty string, but it was still wrong.
3135]
3136[Comments and debug output only
3137simonpj@microsoft.com**20070927110842]
3138[further stub filename fix: I managed to break non-stubdir -fvia-C compilation
3139Simon Marlow <simonmar@microsoft.com>**20070927102539]
3140[ Leftovers from the 1st GHCi debugger prototype
3141Pepe Iborra <mnislaih@gmail.com>**20071004204718]
3142[Following an indirection doesn't count as a RTTI step
3143Pepe Iborra <mnislaih@gmail.com>**20070928091941]
3144[Finally, I managed to squash an infamous bug in :print
3145Pepe Iborra <mnislaih@gmail.com>**20070927151300
3146   
3147   It turns out the newtype handling code in :print
3148   was slipping non mutable Tyvars in the types reconstructed.
3149   The error message eventually produced was rather obscure:
3150   
3151   [src/Tp.hs:75:28-64] *MainTp> :p x
3152   *** Exception: No match in record selector Var.tcTyVarDetails
3153   [src/Tp.hs:75:28-64] *MainTp>
3154   
3155   Due to non mutable tyvars, unifyType was failing.
3156   A well placed assertion in the unifyType code would have made
3157    my life much easier.
3158   Which reminds me I should install a -ddump-* system in the
3159   RTTI subsystem, or future hackers will run away in swearing.
3160 
3161 
3162 MERGE TO STABLE
3163 
3164]
3165[Be a bit more flexible in terminal identification for do_bold
3166Pepe Iborra <mnislaih@gmail.com>**20070927141549
3167   
3168   In Os X for instance, by default we have TERM=xterm-color
3169 
3170 MERGE TO STABLE
3171 
3172]
3173[also acquire/release task->lock across fork()
3174Simon Marlow <simonmar@microsoft.com>**20070927091331
3175 further attempt to fix #1391 on MacOS
3176]
3177[FIX -stubdir bug: the .hc file was #including the wrong _stub.h filename
3178Simon Marlow <simonmar@microsoft.com>**20070926134539
3179 Using -stubdir together with hierarchical modules, -fvia-C, and --make
3180 is essentially broken in 6.6.x.  Recently discovered by Cabal's use of
3181 -stubdir.
3182 
3183 Test cases: driver027/driver028 (I've updated them to use -fvia-C, in
3184 order to test for this bug).
3185]
3186[Add STANDARD_OPTS to SRC_HC_OPTS in rts/Makefile so we get -I../includes for .cmm files
3187Ian Lynagh <igloo@earth.li>**20070926122637
3188 Patch from Clemens Fruhwirth
3189]
3190[fix #1734, panic in :show modules after load failure
3191Simon Marlow <simonmar@microsoft.com>**20070926100732]
3192[Remove current package from preloaded package set
3193Clemens Fruhwirth <clemens@endorphin.org>**20070926084802]
3194[Fixing #1340, adding HPC Documentation
3195andy@galois.com**20070926055331]
3196[TAG 2007-09-25
3197Ian Lynagh <igloo@earth.li>**20070925164536]
3198Patch bundle hash:
319970bc3ad66a88d44bdbf10674b82377f87b969f24