Ticket #2313: patch.bundle

File patch.bundle, 186.2 KB (added by kgardas, 9 years ago)
2New patches:
4[FIX #2313 do not include BFD symbols in RTS when the BFD library is not available for linking
5Karel Gardas <karel.gardas@centrum.cz>**20080528093139] {
6hunk ./includes/RtsConfig.h 27
7-#if defined(DEBUG) && defined(HAVE_BFD_H) && !defined(_WIN32) && !defined(PAR) && !defined(GRAN)
8+#if defined(DEBUG) && defined(HAVE_BFD_H) && defined(HAVE_LIBBFD) && !defined(_WIN32) && !defined(PAR) && !defined(GRAN)
13[Simplify specifying that some libraries need to use the build.* rules
14Ian Lynagh <igloo@earth.li>**20080526160218
15 Now you just add them to SUBDIRS_BUILD instead of SUBDIRS.
17[Cope with libraries in libraries/foo/bar rather than just libraries/foo
18Ian Lynagh <igloo@earth.li>**20080526135612
19 You need to use the build.* rules rather than the make.* rules, though.
21[Fix fwrite$UNIX2003 symbols when cross-compiling for Tiger
22Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080526073546
23 - When compiling with -mmacos-deployment-target=10.4, we need
24   --no-builtin-fprintf, as the use of GCC's builtin function
25   optimisation for fprintf together with #include "PosixSource" in the
26   RTS leads to the use of fwrite$UNIX2003 (with GCC 4.0.1 on Mac OS X
27   10.5.2).
29[document :source command for GHCi, point to Haskell wiki
32        as discussed in this thread:
33        http://www.haskell.org/pipermail/glasgow-haskell-users/2008-April/014614.html
36[Do some stack fiddling in stg_unblockAsyncExceptionszh_ret
37Ian Lynagh <igloo@earth.li>**20080523032508
38 This fixes a segfault in #1657
40[Fix warnings in TcTyDecls
41Ian Lynagh <igloo@earth.li>**20080521004251]
42[Fix whitespace in TcTyDecls
43Ian Lynagh <igloo@earth.li>**20080521003935]
44[Ensure runhaskell is rebuild in stage2
45Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080522044900]
46[Fix Trac #1061: refactor handling of default methods
49 In an instance declaration, omitted methods get a definition that
50 uses the default method.  We used to generate source code and feed it
51 to the type checker.  But tc199 shows that is a bad idea -- see
52 Note [Default methods in instances] in TcClassDcl.
54 So this patch refactors to insteadl all us to generate the
55 *post* typechecked code directly for default methods.
58[Comment typo
60[Fix Trac #2292: improve error message for lone signatures
63 Refactoring reduces code and improves error messages
66[Fix Trac #2293: improve error reporting for duplicate declarations
68[Tuples cannot contain unboxed types
71 This bug allowed, for example
73   f = let x = ( 1#, 'x' ) in x
75 which is ill-typed because you can't put an unboxed value in a tuple.
76 Core Lint fails on this program.
78 The patch makes the program be rejcted up-front.
82[Make TcType warning-free
83Ian Lynagh <igloo@earth.li>**20080520214852]
84[Teach push-all how to send as well
85Ian Lynagh <igloo@earth.li>**20080517142112]
86[Make TcUnify warning-free
87Ian Lynagh <igloo@earth.li>**20080519111100]
88[Fix a comment typo
89Ian Lynagh <igloo@earth.li>**20080519094126]
90[Detab TcUnify
91Ian Lynagh <igloo@earth.li>**20080519094056]
92[FIX #1955: confusion between .exe.hp and .hp suffixes for heap profiles
93Simon Marlow <simonmar@microsoft.com>**20080519125101
94 Now we use <prog>.hp and <prog>.prof consistently.
96[sort the output of :show packages
97Simon Marlow <marlowsd@gmail.com>**20080520084221]
98[update the "perf" settings to match the default
99Simon Marlow <marlowsd@gmail.com>**20080520080535]
100[use -O2 for libraries and stage2 compiler by default
101Simon Marlow <marlowsd@gmail.com>**20080520080525]
102[bump GHC's maximum stack size to 64Mb (see #2002)
103Simon Marlow <marlowsd@gmail.com>**20080519125333]
104[Add -Odph
105Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080520031913
107 This is the optimisation level recommended when compiling DPH programs. At the
108 moment, it is equivalent to -O2 -fno-method-sharing -fdicts-cheap
109 -fmax-simplifier-iterations20 -fno-spec-constr-threshold.
111[Make -f[no-]method-sharing a dynamic flag
112Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080520025956
114 We want -Odph to be a dynamic flag and that should imply -fno-method-sharing.
115 This doesn't add a lot of complexity.
117[documentation for ZipDataflow
118Norman Ramsey <nr@eecs.harvard.edu>**20080520032454]
119[Make TcBinds warning-free
120Ian Lynagh <igloo@earth.li>**20080518133140]
121[Detab TcBinds
122Ian Lynagh <igloo@earth.li>**20080518125606]
123[Move the register-inplace special-case stuff into the ghc-prim package
124Ian Lynagh <igloo@earth.li>**20080517002224]
125[Libraries Makefile Hack for ndp
126Ian Lynagh <igloo@earth.li>**20080516235818
127 We use the "build" rather than "make" target
129[When building libraries, we need to register them if we use the "build" targets
130Ian Lynagh <igloo@earth.li>**20080516235352
131 We currently only use the "make" targets, which already register the package.
133[Add dummy LICENSE file to make Cabal go through
134Tim Chevalier <chevalier@alum.wellesley.edu>**20080517025351
136 Add a LICENSE file that just points to the GHC license.
138[FIX #2257: timer_settime() hangs during configure
139Simon Marlow <marlowsd@gmail.com>**20080516130045
140 On a 2.6.24 Linux kernel, it appears that timer_settime() for
141 CLOCK_REALTIME is sometimes hanging for a random amount of time when
142 given a very small interval (we were using 1ns).  Using 1ms seems to
143 be fine.  Also I installed a 1-second timeout to catch hangs in the
144 future.
146[validate fix: eliminate a warning
147Simon Marlow <marlowsd@gmail.com>**20080516095947]
148[validate fix: eliminate a warning on non-Windows
149Simon Marlow <marlowsd@gmail.com>**20080515142518]
150[FIX #2014: Template Haskell w/ mutually recursive modules
151Simon Marlow <marlowsd@gmail.com>**20080515134515
152 Try to load interfaces in getLinkDeps
154[Document ghc-pkg find-module, substring matching, and multi-field selection
157        Documentation and examples taken from
158        - ghc-pkg/Main.hs usageHeader
159        - patch: FIX 1463 (implement 'ghc-pkg find-module')
160        - patch: FIX #1839, #1463, by supporting ghc-pkg bulk queries
161                        with substring matching
165[Improve the treatment of 'seq' (Trac #2273)
168 Trac #2273 showed a case in which 'seq' didn't cure the space leak
169 it was supposed to.  This patch does two things to help
171 a) It removes a now-redundant special case in Simplify, which
172    switched off the case-binder-swap in the early stages.  This
173    isn't necessary any more because FloatOut has improved since
174    the Simplify code was written.  And switching off the binder-swap
175    is harmful for seq.
177 However fix (a) is a bit fragile, so I did (b) too:
179 b) Desugar 'seq' specially.  See Note [Desugaring seq (2)] in DsUtils
180    This isn't very robust either, since it's defeated by abstraction,
181    but that's not something GHC can fix; the programmer should use
182    a let! instead.
185[don't rebuild PrimEnv if genprimopcode and/or primops.txt don't exist
186Tim Chevalier <chevalier@alum.wellesley.edu>**20080515230405
188 This helps if, for example, you want to build the Core tools on a machine that doesn't have a GHC build tree, and have a pre-existing copy of PrimEnv.hs.
190[Fix a division-by-zero when +RTS -V0 is given
191Ian Lynagh <igloo@earth.li>**20080426184355
192 In delayzh_fast we act as if tickInterval was 50, not 0.
194[Cabalize ext-core tools
195Tim Chevalier <chevalier@alum.wellesley.edu>**20080514235341
197 I cabalized the ext-core tools, so now they can be built as
198 a library. The driver program has to be built separately.
200 Also updated genprimopcode to reflect the new module hierarchy
201 for the Core tools.
203[Remove Distribution.Compat.Char from compat again
204Ian Lynagh <igloo@earth.li>**20080514125152
205 Cabal now does this differently.
207[Fix an assertion
208Ian Lynagh <igloo@earth.li>**20080426110115
209 We were checking that a pointer was correctly tagged, but after we had
210 untagged it.
212[Fix sin/cos/tan on x86; trac #2059
213Ian Lynagh <igloo@earth.li>**20080503000841
214 If the value is > 2^63 then we need to work out its value mod 2pi,
215 and apply the operation to that instead.
217[FIX #1288: GHCi wasn't adding the @n suffix to stdcalls on Windows
218Simon Marlow <simonmar@microsoft.com>**20080514092742]
219[FIX #2276: foreign import stdcall "&foo" doesn't work
220Simon Marlow <simonmar@microsoft.com>**20080514082422
221 This turned out not to be too hard, just a matter of figuring out the
222 correct argument list size by peeking inside FunPtr's type argument,
223 and in the C backend we have to emit an appropriate prototype for the label.
225[Use -fffi when compiling Cabal stuff with the bootstrapping compiler
226Ian Lynagh <igloo@earth.li>**20080513211128]
227[Use zipLazy from Util in VectType, rather than defining our own lazy_zip
228Ian Lynagh <igloo@earth.li>**20080513202154]
229[Add a type signature to help GHC 6.4
230Ian Lynagh <igloo@earth.li>**20080513200641
231 Needed in lieu of -XRelaxedPolyRec
233[Rewrite zipLazy to be warning-free for GHC 6.4
234Ian Lynagh <igloo@earth.li>**20080513193901]
235[Add Distribution.Compat.Char to compat
236Ian Lynagh <igloo@earth.li>**20080513192243]
237[Add Distribution.Compat.Exception to the compat library
238Ian Lynagh <igloo@earth.li>**20080513190022]
239[Fix spelling of nonexistEnt
240Ian Lynagh <igloo@earth.li>**20080513135158]
241[FIX #1641: don't add auto sccs to compiler-generated bindings
242Simon Marlow <marlowsd@gmail.com>**20080513084400
243 I also changed con2tag_Foo and related names to follow the standard
244 practice of prefixing $ to compiler-generated names, so now we have
245 $con2tag_Foo.
247[Fix the Windows build; the new Cabal doesn't like --prefix=/foo
248Ian Lynagh <igloo@earth.li>**20080512170507]
249[Pull the configure options out into a variable in libraries/Makefile
250Ian Lynagh <igloo@earth.li>**20080511203932]
251[typo in rules example. spotted by vixey@#haskell
252Don Stewart <dons@galois.com>**20080512182435]
253[Fixes to via-C prototype generation (FIX BUILD on Windows)
254Simon Marlow <simonmar@microsoft.com>**20080512110643
256 Previously we declared all external labels with type StgWord[],
257 because the same label might be used at different types in the same
258 file, e.g. if there are multiple foreign import declarations for the
259 same function.  However, we have to declare called functions with the
260 right type on Windows, because this is the only way to make the
261 compiler add the appropriate '@n' suffix for stdcall functions.
263 Related to this is the reason we were getting mangler complaints
264 (epilogue mangling) when compiling the RTS with -fvia-C.  The function
265 barf() doesn't return, but we had lost that information by declaring
266 our own prototypes, and so gcc was generating extra code after the
267 call to barf().
269 For more details see
270 http://hackage.haskell.org/trac/ghc/wiki/Commentary/Compiler/Backends/PprC
272[doc tweak
273Simon Marlow <marlowsd@gmail.com>**20080512104030]
274[FIX #2234: don't generate <prog>.prof unless we're going to put something in it
275Simon Marlow <marlowsd@gmail.com>**20080512104020]
276[FIX #1861: floating-point constants for infinity and NaN in via-C
277Simon Marlow <marlowsd@gmail.com>**20080512103847]
278[Tell the mangler how to mangle for amd64/freebsd; fixes trac #2072
279Ian Lynagh <igloo@earth.li>**20080511182011]
280[Follow distPref changes in Cabal
281Ian Lynagh <igloo@earth.li>**20080511144539]
282[Follow Cabal changes in ghci/Linker
283Ian Lynagh <igloo@earth.li>**20080511005253]
284[Follow changes in Cabal
285Ian Lynagh <igloo@earth.li>**20080510225552]
286[Remove redundant imports from Inst
287Ian Lynagh <igloo@earth.li>**20080510220452]
288[Fix a warning when DEBUG is not on
289Ian Lynagh <igloo@earth.li>**20080510220329]
290[Update compat for changes to Cabal
291Ian Lynagh <igloo@earth.li>**20080510211901]
292[Update ghc-pkg to follow Cabal changes
293Ian Lynagh <igloo@earth.li>**20080510211035]
294[Make TcGenDeriv warning-free
295Ian Lynagh <igloo@earth.li>**20080506210858]
296[Make TcMatches warning-free
297Ian Lynagh <igloo@earth.li>**20080506204254]
298[Make TcHsSyn warning-free
299Ian Lynagh <igloo@earth.li>**20080506201829]
300[Make TcRnMonad warning-free
301Ian Lynagh <igloo@earth.li>**20080506193359]
302[Make TcDefaults warning-free
303Ian Lynagh <igloo@earth.li>**20080506191728]
304[Make TcArrows warning-free
305Ian Lynagh <igloo@earth.li>**20080506191141]
306[TcSplice is now mostly warning-free
307Ian Lynagh <igloo@earth.li>**20080506180618
308 There are some unused things, but I am not sure if the intention is that
309 they will be used in the future. Names implied they were related to
310 splicing in patterns and types.
312[Make Inst warning-free
313Ian Lynagh <igloo@earth.li>**20080506173842]
314[Add a panic for lookupPred EqPred
315Ian Lynagh <igloo@earth.li>**20080506171749
316 It's possible that returning Nothing was the right thing to do here,
317 but the comment and variable name indicated that it was written for
318 implicit parameters, so make it a panic for now just in case.
320[Make FamInst warning-free
321Ian Lynagh <igloo@earth.li>**20080506171031]
322[Fix context for fwd_pure_anal to match that of forward_sol
324[FIX validate: Fix warnings in new literal code
325Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080507035417
327 Validate uses -Werror so the warnings broke it.
329[Vectorise even with -O0
330Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080507020055]
331[Remove ilxGen; part of trac #2243
332Ian Lynagh <igloo@earth.li>**20080506104456]
333[Remove javaGen; part of trac #2243
334Ian Lynagh <igloo@earth.li>**20080506104307]
335[Add a comment about why DsMeta needs the warning kludge
336Ian Lynagh <igloo@earth.li>**20080506103506]
337[Fix Trac #2246; overhaul handling of overloaded literals
340 The real work of fixing Trac #2246 is to use shortCutLit in
341 MatchLit.dsOverLit, so that type information discovered late in the
342 day by the type checker can still be exploited during desugaring.
344 However, as usual I found myself doing some refactoring along the
345 way, to tidy up the handling of overloaded literals.   The main
346 change is to split HsOverLit into a record, which in turn uses
347 a sum type for the three variants.  This makes the code significantly
348 more modular.
350 data HsOverLit id
351   = OverLit {
352        ol_val :: OverLitVal,
353        ol_rebindable :: Bool,          -- True <=> rebindable syntax
354                                        -- False <=> standard syntax
355        ol_witness :: SyntaxExpr id,    -- Note [Overloaded literal witnesses]
356        ol_type :: PostTcType }
358 data OverLitVal
359   = HsIntegral   !Integer      -- Integer-looking literals;
360   | HsFractional !Rational     -- Frac-looking literals
361   | HsIsString   !FastString   -- String-looking literals
364[Fix type signature to work without -XRelaxedPolyRec, and hence earlier GHCs
366[Eliminate a warning for compiler/basicTypes/OccName.lhs
367Thorkil Naur <naur@post11.tele.dk>**20080504191511]
368[External Core tools: add note to README about where to find documentation
369Tim Chevalier <chevalier@alum.wellesley.edu>**20080505004603]
370[Some External Core doc fixes
371Tim Chevalier <chevalier@alum.wellesley.edu>**20080505003955]
372[External Core tools: track new syntax for newtypes
373Tim Chevalier <chevalier@alum.wellesley.edu>**20080505001050
375 Update External Core tools to reflect new syntax for
376 newtypes. (Notice that the typechecker is 90 lines shorter!)
378 Also: improve dependency-finding, miscellaneous refactoring.
380[Improve External Core newtype syntax
381Tim Chevalier <chevalier@alum.wellesley.edu>**20080504230233
383 I realized that recursive newtypes no longer have to be
384 distinguished in the External Core AST, because explicit coercions
385 allow the typechecker to typecheck newtypes without ever
386 expanding newtypes. So, now all newtypes in External Core have
387 a representation clause. O frabjous day!
390[Remove a duplicate module import in BuildTyCl
391Ian Lynagh <igloo@earth.li>**20080504222023]
392[Make SimplEnv warning-free
393Ian Lynagh <igloo@earth.li>**20080504213123]
394[Make SimplUtils warning-free
395Ian Lynagh <igloo@earth.li>**20080504212447]
396[Remove a hack for GHC 3.03 in SimplMonad
397Ian Lynagh <igloo@earth.li>**20080504205935]
398[Make SimplMonad warning-free
399Ian Lynagh <igloo@earth.li>**20080504205630]
400[Make LiberateCase warning-free
401Ian Lynagh <igloo@earth.li>**20080504204729]
402[Make FloatOut warning-free
403Ian Lynagh <igloo@earth.li>**20080504204058]
404[Make FloatIn warning-free
405Ian Lynagh <igloo@earth.li>**20080504202538]
406[Make SetLevels warning-free
407Ian Lynagh <igloo@earth.li>**20080504201710]
408[Make Vectorise warning-free
409Ian Lynagh <igloo@earth.li>**20080504195430]
410[Remove some dead code from VectType
411Ian Lynagh <igloo@earth.li>**20080504194432]
412[Make VectType warning-free
413Ian Lynagh <igloo@earth.li>**20080504194335]
414[Make IfaceEnv warning-free
415Ian Lynagh <igloo@earth.li>**20080504190944]
416[Make IfaceSyn warning-free
417Ian Lynagh <igloo@earth.li>**20080504190710]
418[Make IfaceType warning-free
419Ian Lynagh <igloo@earth.li>**20080504183529]
420[Make BuildTyCl warning-free
421Ian Lynagh <igloo@earth.li>**20080504182336]
422[Make BinIface warning-free
423Ian Lynagh <igloo@earth.li>**20080504182031]
424[Make LoadIface warning-free
425Ian Lynagh <igloo@earth.li>**20080504180847]
426[Make MkIface warning-free
427Ian Lynagh <igloo@earth.li>**20080504174952]
428[Make TcIface warning-free
429Ian Lynagh <igloo@earth.li>**20080504172906]
430[Make StgLint warning-free
431Ian Lynagh <igloo@earth.li>**20080504151343]
432[Make CoreToStg warning-free
433Ian Lynagh <igloo@earth.li>**20080504145432]
434[Make DsArrows warning-free
435Ian Lynagh <igloo@earth.li>**20080504140443]
436[Make DsCCall warning-free
437Ian Lynagh <igloo@earth.li>**20080504132635]
438[Make DsMeta almost warning-free
439Ian Lynagh <igloo@earth.li>**20080504125742
440 GHC claims that OccName is unused, but it is wrong.
442[Make MatchLit warning-free
443Ian Lynagh <igloo@earth.li>**20080504114848]
444[Add an Outputable EquationInfo instance
445Ian Lynagh <igloo@earth.li>**20080504114827]
446[Whitespace only (TcInstDcls)
447Ian Lynagh <igloo@earth.li>**20080504111101]
448[Fix the stage 1 build
449Ian Lynagh <igloo@earth.li>**20080504011733]
450[Remove unused function mapInScopeSet
451Ian Lynagh <igloo@earth.li>**20080503191450]
452[Make part of the parser a bit stricter
453Ian Lynagh <igloo@earth.li>**20080502225717]
454[Fix some space-wasting in the Parser
455Ian Lynagh <igloo@earth.li>**20080502225645
456 (fst x, snd x) => x
458[Make ByteCodeGen warning-free
459Ian Lynagh <igloo@earth.li>**20080504002527]
460[Tiny code tweak in the definition of io in GhciMonad; no semantic change
461Ian Lynagh <igloo@earth.li>**20080503235211]
462[Make GhciMonad warning-free
463Ian Lynagh <igloo@earth.li>**20080503235135]
464[Tiny code recatoring in GhciTags
465Ian Lynagh <igloo@earth.li>**20080503234539]
466[Make GhciTags warning-free
467Ian Lynagh <igloo@earth.li>**20080503234441]
468[Make ObjLink warning-free
469Ian Lynagh <igloo@earth.li>**20080503233418]
470[Remove a hack from a time when ghc couldn't do seq
471Ian Lynagh <igloo@earth.li>**20080503232832]
472[Make RnExpr warning-free
473Ian Lynagh <igloo@earth.li>**20080503232704]
474[Make RnEnv warning-free
475Ian Lynagh <igloo@earth.li>**20080503223430]
476[Fix warnings in RnNames
477Ian Lynagh <igloo@earth.li>**20080503221512]
478[Make RnBinds warning-free
479Ian Lynagh <igloo@earth.li>**20080503213149]
480[Change a mappM to mapM_
481Ian Lynagh <igloo@earth.li>**20080503203354]
482[Make RnPat warning-free
483Ian Lynagh <igloo@earth.li>**20080503203300]
484[Make RnHsDoc warning-free
485Ian Lynagh <igloo@earth.li>**20080503201343]
486[Make RnSource warning-free
487Ian Lynagh <igloo@earth.li>**20080503200932]
488[Make RnHsSyn warning-free
489Ian Lynagh <igloo@earth.li>**20080503170649]
490[Whitespace only
491Ian Lynagh <igloo@earth.li>**20080503170053]
492[Vectorise polymorphic let bindings
493Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080504054006]
494[Improve syntax for primitive coercions in External Core
495Tim Chevalier <chevalier@alum.wellesley.edu>**20080504024304
497 Add new syntax in External Core for primitive coercions (trans,
498 sym, etc.) rather than wiring their names into the ext-core
499 parser.
501[Fix External Core interpreter
502Tim Chevalier <chevalier@alum.wellesley.edu>**20080503231044
504 The External Core interpreter works (in a limited sense).
505 For details, see the README.
507 This means we now have a marginally functioning set of
508 External Core tools.
510 The other exciting change is that the test driver (Driver.hs)
511 now computes module dependencies automatically instead of
512 having a wired-in list of library modules.
514[replace hints with kinds in parser as well
515Norman Ramsey <nr@eecs.harvard.edu>**20080503224720]
516[replace Cmm 'hint' with 'kind'
517Norman Ramsey <nr@eecs.harvard.edu>**20080503224514
518 C-- no longer has 'hints'; to guide parameter passing, it
519 has 'kinds'.  Renamed type constructor, data constructor, and record
520 fields accordingly
522[new version of ZipDataflow
523Norman Ramsey <nr@eecs.harvard.edu>**20080503224208
524 This version combines forward/backard into a type class
525 (actually two classes) of analysis and transformation.
526 These type classes will always be expanded away at the client,
527 so SLPJ may wonder why they exist: it is because the interface
528 to this module is already very broad, and by overloading the functions
529 for forward and backward problems, we cut the cognitive load on the
530 clients in half.
532[minor changes to Cmm left over from September 2007
533Norman Ramsey <nr@eecs.harvard.edu>**20080503223452
534 Nothing too deep here; primarily tinking with prettyprinting
535 and names.  Also eliminated some warnings.  This patch covers
536 most (but not all) of the code NR changed at the very end
537 of September 2007, just before ICFP hit...
539[Make darcs-all act on all repos in libraries/, not just boot/extra libs
540Ian Lynagh <igloo@earth.li>**20080502174753]
541[When validating, configure with "--prefix=`pwd`/inst"
542Ian Lynagh <igloo@earth.li>**20080502155649
543 This means a validate build can be installed locally.
544 `pwd`/inst probably won't give a useful value on all platforms (in
545 particular there are probably some Windows configurations it doesn't
546 work for), but I don't think it will ever make the build fail.
548[Improve the unboxed types documentation
549Ian Lynagh <igloo@earth.li>**20080430152508
550 Mainly adding descriptions of unboxed literals,
552[sumP on doubles and int
554[Fixed vect decl for sumP, enumfromToP
556[Missing .0 on float constant.
557Don Stewart <dons@galois.com>**20080501000517]
558[Replace C99 exp2f(32) call in __2Int_encodeDouble
559Don Stewart <dons@galois.com>**20080430214827
560 with constant 4294967296.
562 exp2f is a C99-ism not availabl everywhere. Replace it
563 with its result. Helps building on OpenBSD>
566[Use panic rather than error in RegLiveness
567Ian Lynagh <igloo@earth.li>**20080430131349]
568[Update an error message
569Ian Lynagh <igloo@earth.li>**20080430131317
570 error "RegisterAlloc.livenessSCCs" -> error "RegLiveness.livenessSCCs"
572[Update a panic message
573Ian Lynagh <igloo@earth.li>**20080430131021
574 It was (panic "RegisterAlloc.joinToTargets"), but had since moved to
575 RegAllocLinear.makeRegMovementGraph.
577[Remove BitSet, FieldLabel, RegisterAlloc from compiler/package.conf.in
578Ian Lynagh <igloo@earth.li>**20080430130251
579 The modules no longer exist. Spotted by Marc Weber.
581[Improve documentation of RULES pragmas
583[change topHandlerFastExit to topHandler, so the terminal state gets restored (#2228)
584Simon Marlow <simonmar@microsoft.com>**20080429222442]
585[don't turn off stdin/stdout buffering after loading a module with ghc -e (#2228)
586Simon Marlow <simonmar@microsoft.com>**20080429222409]
587[FIX #1933: use a better test for timer_create()
588Simon Marlow <simonmar@microsoft.com>**20080429212945]
589[Fix Trac #1969: perfomance bug in the specialiser
592 The specialiser was using a rather brain-dead representation for
593 UsageDetails, with much converting from lists to finite maps and
594 back.  This patch does some significant refactoring.  It doesn't
595 change the representation altogether, but it does eliminate the
596 to-and-fro nonsense.
598 It validates OK, but it's always possible that I have inadvertently
599 lost specialisation somewhere, so keep an eye out for any run-time
600 performance regressions.
602 Oh, and Specialise is now warning-free too.
605[Fix Trac #2238: do not use newtype for a class with equality predicates
608 See Note [Class newtypes and equality predicates] in this module.
611[Add :list to ghci's :? help; fixes trac #2217
612Ian Lynagh <igloo@earth.li>**20080427190049]
613[Fix an error if an SCC name contains a space; fixes trac #2071
614Ian Lynagh <igloo@earth.li>**20080427114808]
615[Fix build on PPC: Add some missing parentheses
616Ian Lynagh <igloo@earth.li>**20080427103545]
617[Refactor some code a bit, and improve an error
618Ian Lynagh <igloo@earth.li>**20080426011634
619 The "magic number mismatch: old/corrupt interface file?" error now tells
620 us what we got, and what we expected.
622[Whitespace changes only
623Ian Lynagh <igloo@earth.li>**20080426010908]
624[Fix the ticky ticky build
625Ian Lynagh <igloo@earth.li>**20080425140434
626 Include TickyCounters.h in Stg.h if we are doing Ticky Ticky.
628[Fix a couple of format strings in Ticky.c
629Ian Lynagh <igloo@earth.li>**20080425134725]
630[Comment out some unused code in Ticky.c
631Ian Lynagh <igloo@earth.li>**20080425134307]
632[Spelling fixes in glasgow_exts.xml
633Samuel Bronson <naesten@gmail.com>**20080415232626
634 Also adds a <para></para> element and replaces an occurance of SGML
635 with XML...
637[Vectorisation of: enumFromTo, div, intSqrt
639[Fix int64ToInteger 0xFFFFFFFF00000000 on 32bit machine; trac #2223
640Ian Lynagh <igloo@earth.li>**20080424131526
641 Patch from Mike Gunter.
643[Add 123## literals for Word#
644Ian Lynagh <igloo@earth.li>**20080423161115]
645[Whitespace changes only
646Ian Lynagh <igloo@earth.li>**20080423143553]
647[Added support for vectorising emptyP, squareRoot, combineP
649[Add back an erroneously removed #include "HsVersions.h"
650Ian Lynagh <igloo@earth.li>**20080423110930]
651[Include HsVersions.h where necessary
652Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080423042820]
653[Make a panic slightly more helpful
654Ian Lynagh <igloo@earth.li>**20080422164916]
655[Fix build
656Ian Lynagh <igloo@earth.li>**20080422133838]
657[Fix build
658Ian Lynagh <igloo@earth.li>**20080422124919]
659[(F)SLIT -> (f)sLit in SimplUtils
660Ian Lynagh <igloo@earth.li>**20080422124908]
661[(F)SLIT -> (f)sLit in HsBinds
662Ian Lynagh <igloo@earth.li>**20080422122319]
663[(F)SLIT -> (f)sLit in StaticFlags
664Ian Lynagh <igloo@earth.li>**20080422122226]
665[Build fixes
666Ian Lynagh <igloo@earth.li>**20080422115500]
667[Change the last few (F)SLIT's into (f)sLit's
668Ian Lynagh <igloo@earth.li>**20080422114713]
669[FSLIT -> fsLit in PrelNames
670Ian Lynagh <igloo@earth.li>**20080422113907]
671[Fix warnings in PrelNames
672Ian Lynagh <igloo@earth.li>**20080422113817]
673[(F)SLIT -> (f)sLit in CmmParse
674Ian Lynagh <igloo@earth.li>**20080422110857]
675[PrelRules is now warning free
676Ian Lynagh <igloo@earth.li>**20080413124325]
677[Remove a warning
678Ian Lynagh <igloo@earth.li>**20080413103120]
679[PrelInfo is now warning-free
680Ian Lynagh <igloo@earth.li>**20080413102906]
681[TysPrim is now warning-free
682Ian Lynagh <igloo@earth.li>**20080413101757]
683[TysWiredIn is now warning-free
684Ian Lynagh <igloo@earth.li>**20080413094012]
685[(F)SLIT -> (f)sLit in TcSplice
686Ian Lynagh <igloo@earth.li>**20080412180126]
687[(F)SLIT -> (f)sLit in Convert
688Ian Lynagh <igloo@earth.li>**20080412180037]
689[(F)SLIT -> (f)sLit in InteractiveUI
690Ian Lynagh <igloo@earth.li>**20080412180018]
691[(F)SLIT -> (f)sLit in InteractiveEval
692Ian Lynagh <igloo@earth.li>**20080412175850]
693[(F)SLIT -> (f)sLit in RtClosureInspect
694Ian Lynagh <igloo@earth.li>**20080412175734]
695[(F)SLIT -> (f)sLit in Linker
696Ian Lynagh <igloo@earth.li>**20080412175700]
697[(F)SLIT -> (f)sLit in ByteCodeGen
698Ian Lynagh <igloo@earth.li>**20080412175456]
699[(F)SLIT -> (f)sLit in DsMeta
700Ian Lynagh <igloo@earth.li>**20080412175407]
701[(F)SLIT -> (f)sLit in PprTyThing
702Ian Lynagh <igloo@earth.li>**20080412163811]
703[(F)SLIT -> (f)sLit in DriverMkDepend
704Ian Lynagh <igloo@earth.li>**20080412163724]
705[(F)SLIT -> (f)sLit in GHC
706Ian Lynagh <igloo@earth.li>**20080412163604]
707[(F)SLIT -> (f)sLit in DriverPipeline
708Ian Lynagh <igloo@earth.li>**20080412163406]
709[(F)SLIT -> (f)sLit in HscMain
710Ian Lynagh <igloo@earth.li>**20080412163320]
711[(F)SLIT -> (f)sLit in TcRnDriver
712Ian Lynagh <igloo@earth.li>**20080412162930]
713[(F)SLIT -> (f)sLit in TcDefaults
714Ian Lynagh <igloo@earth.li>**20080412162824]
715[(F)SLIT -> (f)sLit in TcRules
716Ian Lynagh <igloo@earth.li>**20080412162705]
717[(F)SLIT -> (f)sLit in TcForeign
718Ian Lynagh <igloo@earth.li>**20080412162632]
719[(F)SLIT -> (f)sLit in TcExpr
720Ian Lynagh <igloo@earth.li>**20080412162533]
721[(F)SLIT -> (f)sLit in TcArrows
722Ian Lynagh <igloo@earth.li>**20080412162403]
723[(F)SLIT -> (f)sLit in TcMatches
724Ian Lynagh <igloo@earth.li>**20080412162314]
725[(F)SLIT -> (f)sLit in TcInstDcls
726Ian Lynagh <igloo@earth.li>**20080412162152]
727[(F)SLIT -> (f)sLit in FamInst
728Ian Lynagh <igloo@earth.li>**20080412162033]
729[(F)SLIT -> (f)sLit in TcDeriv
730Ian Lynagh <igloo@earth.li>**20080412161958]
731[(F)SLIT -> (f)sLit in TcGenDeriv
732Ian Lynagh <igloo@earth.li>**20080412161827]
733[(F)SLIT -> (f)sLit in TcTyClsDecls
734Ian Lynagh <igloo@earth.li>**20080412161708]
735[(F)SLIT -> (f)sLit in TcClassDcl
736Ian Lynagh <igloo@earth.li>**20080412161517]
737[(F)SLIT -> (f)sLit in RnExpr
738Ian Lynagh <igloo@earth.li>**20080412161410]
739[(F)SLIT -> (f)sLit in TcBinds
740Ian Lynagh <igloo@earth.li>**20080412161320]
741[(F)SLIT -> (f)sLit in TcHsType
742Ian Lynagh <igloo@earth.li>**20080412161045]
743[(F)SLIT -> (f)sLit in Generics
744Ian Lynagh <igloo@earth.li>**20080412160944]
745[(F)SLIT -> (f)sLit in TcSimplify
746Ian Lynagh <igloo@earth.li>**20080412160715]
747[(F)SLIT -> (f)sLit in TcTyFuns
748Ian Lynagh <igloo@earth.li>**20080412160559]
749[(F)SLIT -> (f)sLit in Inst
750Ian Lynagh <igloo@earth.li>**20080412160453]
751[(F)SLIT -> (f)sLit in RnSource
752Ian Lynagh <igloo@earth.li>**20080412160348]
753[(F)SLIT -> (f)sLit in RnBinds
754Ian Lynagh <igloo@earth.li>**20080412160232]
755[(F)SLIT -> (f)sLit in RnPat
756Ian Lynagh <igloo@earth.li>**20080412160138]
757[(F)SLIT -> (f)sLit in RnTypes
758Ian Lynagh <igloo@earth.li>**20080412160039]
759[(F)SLIT -> (f)sLit in RnNames
760Ian Lynagh <igloo@earth.li>**20080412155923]
761[(F)SLIT -> (f)sLit in RnEnv
762Ian Lynagh <igloo@earth.li>**20080412155810]
763[(F)SLIT -> (f)sLit in TcEnv
764Ian Lynagh <igloo@earth.li>**20080412155639]
765[(F)SLIT -> (f)sLit in CSE
766Ian Lynagh <igloo@earth.li>**20080412155551]
767[(F)SLIT -> (f)sLit in Simplify
768Ian Lynagh <igloo@earth.li>**20080412155517]
769[(F)SLIT -> (f)sLit in SimplEnv
770Ian Lynagh <igloo@earth.li>**20080412155311]
771[(F)SLIT -> (f)sLit in FloatOut
772Ian Lynagh <igloo@earth.li>**20080412155114]
773[(F)SLIT -> (f)sLit in Specialse
774Ian Lynagh <igloo@earth.li>**20080412155034]
775[(F)SLIT -> (f)sLit in SpecConstr
776Ian Lynagh <igloo@earth.li>**20080412154959]
777[(F)SLIT -> (f)sLit in Vectorise
778Ian Lynagh <igloo@earth.li>**20080412154718]
779[(F)SLIT -> (f)sLit in VectType
780Ian Lynagh <igloo@earth.li>**20080412154322]
781[(F)SLIT -> (f)sLit in VectUtils
782Ian Lynagh <igloo@earth.li>**20080412154229]
783[(F)SLIT -> (f)sLit in VectMonad
784Ian Lynagh <igloo@earth.li>**20080412154116]
785[(F)SLIT -> (f)sLit in VectBuiltIn
786Ian Lynagh <igloo@earth.li>**20080412154002]
787[(F)SLIT -> (f)sLit in SimplMonad
788Ian Lynagh <igloo@earth.li>**20080412153630]
789[(F)SLIT -> (f)sLit in CoreToStg
790Ian Lynagh <igloo@earth.li>**20080412153543]
791[(F)SLIT -> (f)sLit in StgLint
792Ian Lynagh <igloo@earth.li>**20080412153440]
793[(F)SLIT -> (f)sLit in Parser
794Ian Lynagh <igloo@earth.li>**20080412153329]
795[(F)SLIT -> (f)sLit in RdrHsSyn
796Ian Lynagh <igloo@earth.li>**20080412153052]
797[(F)SLIT -> (f)sLit in SysTools
798Ian Lynagh <igloo@earth.li>**20080412152909]
799[(F)SLIT -> (f)sLit in MachCodeGen
800Ian Lynagh <igloo@earth.li>**20080412152750]
801[(F)SLIT -> (f)sLit in PositionIndependentCode
802Ian Lynagh <igloo@earth.li>**20080412152545]
803[(F)SLIT -> (f)sLit in RegallocLinear
804Ian Lynagh <igloo@earth.li>**20080412152355]
805[(F)SLIT -> (f)sLit in RegLiveness
806Ian Lynagh <igloo@earth.li>**20080412152307]
807[(F)SLIT -> (f)sLit in PprMach
808Ian Lynagh <igloo@earth.li>**20080412152217]
809[(F)SLIT -> (f)sLit in Desugar
810Ian Lynagh <igloo@earth.li>**20080412151250]
811[(F)SLIT -> (f)sLit in MkIface
812Ian Lynagh <igloo@earth.li>**20080412151147]
813[(F)SLIT -> (f)sLit in DsForeign
814Ian Lynagh <igloo@earth.li>**20080412150848]
815[(F)SLIT -> (f)sLit in Match
816Ian Lynagh <igloo@earth.li>**20080412150644]
817[(F)SLIT -> (f)sLit in DsBinds
818Ian Lynagh <igloo@earth.li>**20080412150510]
819[(F)SLIT -> (f)sLit in Coverage
820Ian Lynagh <igloo@earth.li>**20080412150416]
821[(F)SLIT -> (f)sLit in DsUtils
822Ian Lynagh <igloo@earth.li>**20080412150317]
823[(F)SLIT -> (f)sLit in DsUtils
824Ian Lynagh <igloo@earth.li>**20080412150231]
825[(F)SLIT -> (f)sLit in TcHsSyn
826Ian Lynagh <igloo@earth.li>**20080412145639]
827[(F)SLIT -> (f)sLit in FunDeps
828Ian Lynagh <igloo@earth.li>**20080412145238]
829[(F)SLIT -> (f)sLit in DsMonad
830Ian Lynagh <igloo@earth.li>**20080412145201]
831[(F)SLIT -> (f)sLit in TcIface
832Ian Lynagh <igloo@earth.li>**20080412145105]
833[(F)SLIT -> (f)sLit in LoadIface
834Ian Lynagh <igloo@earth.li>**20080412145018]
835[(F)SLIT -> (f)sLit in Finder
836Ian Lynagh <igloo@earth.li>**20080412144812]
837[(F)SLIT -> (f)sLit in TcRnMonad
838Ian Lynagh <igloo@earth.li>**20080412144557]
839[(F)SLIT -> (f)sLit in TcRnTypes
840Ian Lynagh <igloo@earth.li>**20080412144504]
841[(F)SLIT -> (f)sLit in WwLib
842Ian Lynagh <igloo@earth.li>**20080412144123]
843[(F)SLIT -> (f)sLit in CoreSubst
844Ian Lynagh <igloo@earth.li>**20080412143851]
845[(F)SLIT -> (f)sLit in CorePrep
846Ian Lynagh <igloo@earth.li>**20080412143637]
847[(F)SLIT -> (f)sLit in CgCon
848Ian Lynagh <igloo@earth.li>**20080412143540]
849[(F)SLIT -> (f)sLit in HscTypes
850Ian Lynagh <igloo@earth.li>**20080412143353]
851[(F)SLIT -> (f)sLit in FamInstEnv
852Ian Lynagh <igloo@earth.li>**20080412141122]
853[(F)SLIT -> (f)sLit in InstEnv
854Ian Lynagh <igloo@earth.li>**20080412141045]
855[(F)SLIT -> (f)sLit in CgPrimOp
856Ian Lynagh <igloo@earth.li>**20080412140741]
857[(F)SLIT -> (f)sLit in PprC
858Ian Lynagh <igloo@earth.li>**20080412140630]
859[(F)SLIT -> (f)sLit in CgForeignCall
860Ian Lynagh <igloo@earth.li>**20080412140213]
861[(F)SLIT -> (f)sLit in CgClosure
862Ian Lynagh <igloo@earth.li>**20080412140136]
863[(F)SLIT -> (f)sLit in PprCmmZ
864Ian Lynagh <igloo@earth.li>**20080412135934]
865[(F)SLIT -> (f)sLit in ZipCfgCmmRep
866Ian Lynagh <igloo@earth.li>**20080412135902]
867[(F)SLIT -> (f)sLit in CmmLint
868Ian Lynagh <igloo@earth.li>**20080412135820]
869[(F)SLIT -> (f)sLit in CmmCPSGen
870Ian Lynagh <igloo@earth.li>**20080412135728]
871[(F)SLIT -> (f)sLit in CgBindery
872Ian Lynagh <igloo@earth.li>**20080412135620]
873[(F)SLIT -> (f)sLit in CgHeapery
874Ian Lynagh <igloo@earth.li>**20080412135529]
875[(F)SLIT -> (f)sLit in CgTicky
876Ian Lynagh <igloo@earth.li>**20080412135411]
877[(F)SLIT -> (f)sLit in CgCallConv
878Ian Lynagh <igloo@earth.li>**20080412135037]
879[(F)SLIT -> (f)sLit in CgProf
880Ian Lynagh <igloo@earth.li>**20080412133935]
881[(F)SLIT -> (f)sLit in PprCmm
882Ian Lynagh <igloo@earth.li>**20080412133323]
883[(F)SLIT -> (f)sLit in ClosureInfo
884Ian Lynagh <igloo@earth.li>**20080412133030]
885[(F)SLIT -> (f)sLit in StSyn
886Ian Lynagh <igloo@earth.li>**20080412132924]
887[(F)SLIT -> (f)sLit in SMRep
888Ian Lynagh <igloo@earth.li>**20080412132534]
889[(F)SLIT -> (f)sLit in MachOp
890Ian Lynagh <igloo@earth.li>**20080412132430]
891[(F)SLIT -> (f)sLit in CLabel
892Ian Lynagh <igloo@earth.li>**20080412132305]
893[(F)SLIT -> (f)sLit in Packages
894Ian Lynagh <igloo@earth.li>**20080412132158]
895[(F)SLIT -> (f)sLit in Lexer
896Ian Lynagh <igloo@earth.li>**20080412132044]
897[(F)SLIT -> (f)sLit in MkId
898Ian Lynagh <igloo@earth.li>**20080412131831]
899[(F)SLIT -> (f)sLit in Rules
900Ian Lynagh <igloo@earth.li>**20080412131707]
901[(F)SLIT -> (f)sLit in PrelRules
902Ian Lynagh <igloo@earth.li>**20080412131612]
903[(F)SLIT -> (f)sLit in HsSyn
904Ian Lynagh <igloo@earth.li>**20080412130737]
905[(F)SLIT -> (f)sLit in HsUtils
906Ian Lynagh <igloo@earth.li>**20080412125320]
907[(F)SLIT -> (f)sLit in HsExpr
908Ian Lynagh <igloo@earth.li>**20080412125229]
909[(F)SLIT -> (f)sLit in HsDecls
910Ian Lynagh <igloo@earth.li>**20080412124928]
911[(F)SLIT -> (f)sLit in HsImpExp
912Ian Lynagh <igloo@earth.li>**20080412124840]
913[(F)SLIT -> (f)sLit in HsPat
914Ian Lynagh <igloo@earth.li>**20080412124758]
915[(F)SLIT -> (f)sLit in HsTypes
916Ian Lynagh <igloo@earth.li>**20080412124645]
917[(F)SLIT -> (f)sLit in IfaceSyn
918Ian Lynagh <igloo@earth.li>**20080412124607]
919[(F)SLIT -> (f)sLit in IfaceType
920Ian Lynagh <igloo@earth.li>**20080412124507]
921[(F)SLIT -> (f)sLit in CoreUnfold
922Ian Lynagh <igloo@earth.li>**20080412124420]
923[(F)SLIT -> (f)sLit in CoreLint
924Ian Lynagh <igloo@earth.li>**20080412124339]
925[(F)SLIT -> (f)sLit in CoreUtils
926Ian Lynagh <igloo@earth.li>**20080412124218]
927[(F)SLIT -> (f)sLit in PprCore
928Ian Lynagh <igloo@earth.li>**20080412124141]
929[(F)SLIT -> (f)sLit in Id
930Ian Lynagh <igloo@earth.li>**20080412123952]
931[(F)SLIT -> (f)sLit in TcType
932Ian Lynagh <igloo@earth.li>**20080412123745]
933[(F)SLIT -> (f)sLit in IdInfo
934Ian Lynagh <igloo@earth.li>**20080412123637]
935[(F)SLIT -> (f)sLit in CoreSyn
936Ian Lynagh <igloo@earth.li>**20080412123507]
937[(F)SLIT -> (f)sLit in CostCentre
938Ian Lynagh <igloo@earth.li>**20080412123402]
939[(F)SLIT -> (f)sLit in Literal
940Ian Lynagh <igloo@earth.li>**20080412123322]
941[Generate fsLit not FSLIT in genprimopcode
942Ian Lynagh <igloo@earth.li>**20080412123247]
943[(F)SLIT -> (f)sLit in TysWiredIn
944Ian Lynagh <igloo@earth.li>**20080412122946]
945[(F)SLIT -> (f)sLit in TysPrim
946Ian Lynagh <igloo@earth.li>**20080412122846]
947[(F)SLIT -> (f)sLit in ForeignCall
948Ian Lynagh <igloo@earth.li>**20080412122757]
949[(F)SLIT -> (f)sLit in DataCon
950Ian Lynagh <igloo@earth.li>**20080412122709]
951[(F)SLIT -> (f)sLit in Coercion
952Ian Lynagh <igloo@earth.li>**20080412122627]
953[(F)SLIT -> (f)sLit in Type
954Ian Lynagh <igloo@earth.li>**20080412122524]
955[(F)SLIT -> (f)sLit in TypeRep
956Ian Lynagh <igloo@earth.li>**20080412122409]
957[(F)SLIT -> (f)sLit in VarEnv
958Ian Lynagh <igloo@earth.li>**20080412121437]
959[(F)SLIT -> (f)sLit in Class
960Ian Lynagh <igloo@earth.li>**20080412121245]
961[(F)SLIT -> (f)sLit in Class
962Ian Lynagh <igloo@earth.li>**20080412121211]
963[(F)SLIT -> (f)sLit in Var
964Ian Lynagh <igloo@earth.li>**20080412121140]
965[(F)SLIT -> (f)sLit in Name
966Ian Lynagh <igloo@earth.li>**20080412121050]
967[(F)SLIT -> (f)sLit in OccName
968Ian Lynagh <igloo@earth.li>**20080412121008]
969[(F)SLIT -> (f)sLit in SrcLoc
970Ian Lynagh <igloo@earth.li>**20080412120909]
971[(F)SLIT -> (f)sLit in Module
972Ian Lynagh <igloo@earth.li>**20080412120817]
973[(F)SLIT -> (f)sLit in BasicTypes
974Ian Lynagh <igloo@earth.li>**20080412120745]
975[(F)SLIT -> (f)sLit in Outputable
976Ian Lynagh <igloo@earth.li>**20080412120538]
977[SLIT -> sLit in Prety.lhs
978Ian Lynagh <igloo@earth.li>**20080412120004]
979[Don't use CPP for SLIT/FSLIT
980Ian Lynagh <igloo@earth.li>**20080412115745]
981[Simplify SimplCont, plus some other small changes to the Simplifier
984 The main change in this patch is this:
986   * The Stop constructor of SimplCont no longer contains the OutType
987     of the whole continuation.  This is a nice simplification in
988     lots of places where we build a Stop continuation.  For example,
989     rebuildCall no longer needs to maintain the type of the function.
991   * Similarly StrictArg no longer needs an OutType
993   * The consequential complication is that contResultType (not called
994     much) needs to be given the type of the thing in the middle.  No
995     big deal.
997   * Lots of other small knock-on effects
999 Other changes in here
1001   * simplLazyBind does do the type-abstraction thing if there's
1002     a lambda inside.  See comments in simplLazyBind
1004   * simplLazyBind reduces simplifier iterations by keeping
1005     unfolding information for stuff for which type abstraction is
1006     done (see add_poly_bind)
1008 All of this came up when implementing System IF, but seems worth applying
1009 to the HEAD
1012[Comments only in SimplCore
1014[Comments only
1016[Minor bug in SpecConstr
1019 In SpecConstr.isValue, we recorded a ConVal for a big-lambda,
1020 which seems wrong. I came across this when implementing System IF.
1021 The code now reads:
1023   isValue env (Lam b e)
1024     | isTyVar b = case isValue env e of
1025                    Just _  -> Just LambdaVal   -- NB!
1026                    Nothing -> Nothing
1027     | otherwise = Just LambdaVal
1030[Comments only
1032[Fix a long-standing bug in FloatOut
1035 We really should not float anything out of an _inline_me_ Note,
1036 for reasons described in this new comment:
1037        -- Do no floating at all inside INLINE.
1038        -- The SetLevels pass did not clone the bindings, so it's
1039        -- unsafe to do any floating, even if we dump the results
1040        -- inside the Note (which is what we used to do).
1042 I'm about to get rid of these _inline_me_ Notes, but it's
1043 better to fix it anyway.  I found this bug when implementing System IF.
1046[Remove static flag opt_RuntimeTypes (has not been used in years)
1048[Refactor the TyVarTy case of 'match'.  No change in behaviour.
1050[Add Note [Generating the in-scope set for a substitution]
1052[Rename WpCo to WpCast
1054[Fix #2044 (:printing impredicatively typed things)
1055pepe <mnislaih@gmail.com>**20080421171322
1057 Switching to boxyUnify should be enough to fix this.
1059[Improve External Core syntax for newtypes
1060Tim Chevalier <chevalier@alum.wellesley.edu>**20080422045244
1062 I was confused by the newtype eta-contraction trick before.
1063 Newtype declarations are much less redundant now.
1065[Update External Core docs
1066Tim Chevalier <chevalier@alum.wellesley.edu>**20080422044342
1068 Update documentation to reflect GHC HEAD.
1070[External Core typechecker - improve handling of coercions
1071Tim Chevalier <chevalier@alum.wellesley.edu>**20080422015622
1073 Reorganized coercion-related code in the typechecker (this was
1074 brought about by typechecking the Core versions of the optimized GHC
1075 libraries.) A few miscellaneous changes (fixed a bug in Prep involving
1076 eta-expanding partial applications that had additional type
1077 arguments.)
1079[Naming changes in External Core
1080Tim Chevalier <chevalier@alum.wellesley.edu>**20080422012734
1082 Two changes:
1083 - Top-level bindings in a given module are now printed as a
1084   single %rec group. I found that in External Core generated from
1085   optimized code, nonrec bindings weren't being printed in
1086   dependency order. Rather than fixing that, I decided to not
1087   even pretend to preserve dependency order (since there's
1088   recursion between modules anyway.)
1090 - Internal names are now printed with their uniques attached
1091   (otherwise, GHC was printing out code with shadowed bindings,
1092   and this isn't supposed to happen in External Core.)
1094[Add clarifying comments about unsafeCoerce
1096[Make the integer library to use more configurable
1097Ian Lynagh <igloo@earth.li>**20080420195856
1098 Now you just set INTEGER_LIBRARY=integer-foo in build.mk
1100[Remove some duplicate extern decls
1101Ian Lynagh <igloo@earth.li>**20080416162330]
1102[Add some more generic (en|de)code(Double|Float) code
1103Ian Lynagh <igloo@earth.li>**20080417171943]
1104[Updates to handle Ordering moving from base to ghc-prim
1105Ian Lynagh <igloo@earth.li>**20080412100657]
1106[Fix lndir
1107Ian Lynagh <igloo@earth.li>**20080408193436
1108 It would copy when it should symlink, and vice-versa.
1110[Improve External Core syntax
1111Tim Chevalier <chevalier@alum.wellesley.edu>**20080416000347
1113 Got rid of the silly '^' characters before qualified names (plus:
1114 reverts to the original syntax; minus: makes the parser a little
1115 hairier.)
1117 Also, added warning in the typechecker for coercion kind mismatches
1118 rather than considering that a type error. (see the added comment in
1119 Check.hs for details.)
1121[FIX BUILD (Windows): Copy the ln trick used by the GMP build
1122Simon Marlow <simonmar@microsoft.com>**20080414173225]
1123[Revive the static argument transformation
1126 This patch revives the Static Argument Transformation, thanks to
1127 Max Bolingbroke.  It is enabled with
1128        -fstatic-argument-transformation
1129 or     -O2
1131 Headline nofib results
1133                   Size    Allocs   Runtime
1134 Min             +0.0%    -13.7%    -21.4%
1135 Max             +0.1%     +0.0%     +5.4%
1136 Geometric Mean  +0.0%     -0.2%     -6.9%
1140[Transfer strictness and arity info when abstracting over type variables
1143 See Note [transferPolyIdInfo] in Id.lhs, and test
1144        eyeball/demand-on-polymorphic-floatouts.hs
1146 Max Bolingbroke discovered that we were gratuitiously losing strictness
1147 info.  This simple patch fixes it.  But see the above note for things
1148 that are still discarded: worker info and rules.
1151[Revive External Core typechecker
1152Tim Chevalier <chevalier@alum.wellesley.edu>**20080414024648
1154 The typechecker works again! Yay!
1156 Details upon request.
1158[Eta-expand newtype coercions in External Core
1159Tim Chevalier <chevalier@alum.wellesley.edu>**20080414031654
1161 Typechecking External Core is easier if we eta-expand axioms
1162 in newtype declarations. For a fuller explanation, see:
1163 http://www.haskell.org/pipermail/cvs-ghc/2008-April/041948.html
1165[Extra info in genprimopcode --make-ext-core-source
1166Tim Chevalier <chevalier@alum.wellesley.edu>**20080414025407
1168 The ext-core typechecker needs to know what types are
1169 valid for various kinds of literals, so I changed
1170 genprimopcode to dump out that information as well
1171 with --make-ext-core-source.
1173[Fixing HPCTIXDIR problem with mkdir usage on Windows
1175[Update .darcs-boring with utils/ext-core stuff
1176Tim Chevalier <chevalier@alum.wellesley.edu>**20080411185734]
1177[FIX #2197: an update frame might point to an IND_OLDGEN
1178Simon Marlow <simonmar@microsoft.com>**20080411173404]
1179[Rejig error reporting in the unifier slightly
1181[Improve error message layout slightly
1183[Two improvements to boxy matching
1186 I can't quite remember what provoked these two changes, but they are in my
1187 tree. 
1188        One improves boxy_match (which failed unnecessarily)
1189        One fixes boxy_lub (which was assymetrical)
1192[Fix Trac #2206: ensure the return type is rigid in a GADT match
1196[Fix Trac #2205, which I introduced recently
1198[Ensure that arity is accurate in back end
1201 See Note [exprArity invariant] in CoreUtils.  In code generated by Happy
1202 I was seeing this after TidyPgm and CorePrep
1204        f :: Any
1205        f {arity 1} = id `cast` unsafe-co
1207 So f claimed to have arity 1 (because exprArity looked inside), but
1208 did not have any top-level lambdas (because its type is Any). 
1210 This triggered a slightly-obscure ASSERT failure in CoreToStg
1212 This patch
1213        - makes exprArity trim the arity if the type is not a function
1214        - adds a stronger ASSERT in TidyPgm
1216 It's not the only way to solve this problem (see Note [exprArity invariant])
1217 but it's enough for now.
1220[Make the arity and strictness agree, for wired-in bottoming Ids
1222[Fix bug in vectorisation of case expressions
1223Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080411045307]
1224[Extend genprimopcode to print primop types for ext-core
1225Tim Chevalier <chevalier@alum.wellesley.edu>**20080410185810
1227 I added a new flag, --make-ext-core-source, to genprimopcode. It prints out the
1228 type information for primops that the External Core typechecker needs. This
1229 replaces the old mechanism where the ext-core tools had a hard-wired Prims
1230 module that could get out of sync with the old primops.txt. Now, that won't happen.
1232[add pointers to the wiki for the rules about C prototypes
1233Simon Marlow <simonmar@microsoft.com>**20080409204143]
1234[avoid warnings from ffi.h when UseLibFFIForAdjustors=YES
1235Simon Marlow <simonmar@microsoft.com>**20080409204048]
1236[FIX BUILD (bootstrap with -fvia-C): prototype fixes
1237Simon Marlow <simonmar@microsoft.com>**20080409203724
1240[Another round of External Core fixes
1241Tim Chevalier <chevalier@alum.wellesley.edu>**20080410043727
1243 With this patch, GHC should now be printing External Core in a format
1244 that a stand-alone program can parse and typecheck. Major bug fixes:
1246 - The printer now handles qualified/unqualified declarations correctly
1247    (particularly data constructor declarations)
1248 - It prints newtype declarations with enough information to
1249   typecheck code that uses the induced coercions (this required a
1250 syntax change)
1251 - It expands type synonyms correctly
1253 Documentation and external tool patches will follow.
1256[Adding environment variable HPCTIXDIR, a directory to place tix results.
1258[Fixing hpc combine and hpc map to use the correct help message
1260[Import libffi-3.0.4, and use it to provide FFI support in GHCi
1261Simon Marlow <simonmar@microsoft.com>**20080408183434
1263 This replaces the hand-rolled architecture-specific FFI support in
1264 GHCi with the standard libffi as used in GCJ, Python and other
1265 projects.  I've bundled the complete libffi-3.0.4 tarball in the
1266 source tree in the same way as we do for GMP, the difference being
1267 that we always build and install our own libffi regardless of whether
1268 there's one on the system (it's small, and we don't want
1269 dependency/versioning headaches).
1271 In particular this means that unregisterised builds will now have a
1272 fully working GHCi including FFI out of the box, provided libffi
1273 supports the platform.
1275 There is also code in the RTS to use libffi in place of
1276 rts/Adjustor.c, but it is currently not enabled if we already have
1277 support in Adjustor.c for the current platform.  We need to assess the
1278 performance impact before using libffi here too (in GHCi we don't care
1279 too much about performance).
1281[FIX BUILD on non-x86: add missing prototypes
1282Simon Marlow <simonmar@microsoft.com>**20080407213748]
1283[update a comment
1284Simon Marlow <simonmar@microsoft.com>**20080407212437]
1285[remove dead code
1286Simon Marlow <simonmar@microsoft.com>**20080403223422]
1287[Replace one occurance of CVS with darcs in HACKING
1288Samuel Bronson <naesten@gmail.com>**20080407222006]
1289[Remove GADT refinements, part 5
1290Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080407070728
1291 - TcGadt RIP
1292 - The non-side effecting unification code is now in types/Unify.lhs
1293   along with the refinement code needed for GADT record selectors.
1295[Remove GADT refinements, part 4
1296Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080303063347
1297 - MkId.mkRecordSelId only used a special case of refineGadt, which doesn't
1298   need full unification.  That special case is now implemented as
1299   TcGadt.matchRefine and TcGadt.refineGadt can finally go.
1301[Improve error message for malformed LANGUAGE pragma
1302Tim Chevalier <chevalier@alum.wellesley.edu>**20080406202333
1304 I made the error (which previously said "cannot parse LANGUAGE
1305 pragma") slightly more helpful by reminding the user that pragmas
1306 should be comma-separated.
1308[Improve error message for non-matching file name
1309Tim Chevalier <chevalier@alum.wellesley.edu>**20080406193821
1311 I changed the "File name does not match module name" error message so
1312 that it prints out both the declared module name and the expected
1313 module name (before, it was only printing the declared module name.)
1315[Virtualize the cwd in GHCi
1316Pepe Iborra <mnislaih@gmail.com>**20080405145136
1318 This fixes the issue where :list would stop working if the
1319 program being debugged side-effected the working directory,
1320 and should prevent other similar issues
1323[Fix rendering of references in :print under -fprint-evld-with-show flag
1324Pepe Iborra <mnislaih@gmail.com>**20071219174431]
1325[Fix Trac #2188: scoping in TH declarations quotes
1328 This patch fixes a rather tiresome issue, namely the fact that
1329 a TH declaration quote *shadows* bindings in outer scopes:
1331   f g = [d| f :: Int
1332             f = g
1333            g :: Int
1334             g = 4 |]
1336 Here, the outer bindings for 'f' (top-level) and 'g' (local)
1337 are shadowed, and the inner bindings for f,g should not be
1338 reported as duplicates.  (Remember they are top-level bindings.)
1340 The actual bug was that we'd forgotten to delete 'g' from the
1341 LocalRdrEnv, so the type sig for 'g' was binding to the outer
1342 'g' not the inner one.
1345[Fix simplifier thrashing
1348 Another example of the simplifier thrashing, getting nowhere.
1349 See SimplUtils, Note [Unsaturated functions]
1351 There's a test at eyeball/inline4.hs
1354[Fix Trac #2179: error message for main
1357 A short-cut to generate the (runMainIO main) wrapper turned out
1358 to make a bad error message.  This should fix it.
1361[Fix Trac #2136: reporting of unused variables
1364 There's a bit of a hack RnBinds.rnValBindsAndThen, documented
1365 in Note [Unused binding hack].  But the hack was over brutal
1366 before, and produced unnecssarily bad (absence of) warnings.
1367 This patch does a bit of refactoring; and fixes the bug in
1368 rnValBindsAndThen.
1371[Fix Trac #2137: report correct location for shadowed binding
1374 The error message generation for a shadowed binding was
1375 plain wrong, at least where the shadowed binding isn't
1376 top-level.  Just a typo really -- the fix is trivial.
1379[Fix Trac #2141: invalid record update
1382 See Note [Record field lookup] in TcEnv.  The fix here
1383 is quite straightforward.
1386[Do not #include external header files when compiling via C
1387Simon Marlow <simonmar@microsoft.com>**20080402051412
1389 This has several advantages:
1391  - -fvia-C is consistent with -fasm with respect to FFI declarations:
1392    both bind to the ABI, not the API.
1394  - foreign calls can now be inlined freely across module boundaries, since
1395    a header file is not required when compiling the call.
1397  - bootstrapping via C will be more reliable, because this difference
1398    in behavour between the two backends has been removed.
1400 There is one disadvantage:
1402  - we get no checking by the C compiler that the FFI declaration
1403    is correct.
1405 So now, the c-includes field in a .cabal file is always ignored by
1406 GHC, as are header files specified in an FFI declaration.  This was
1407 previously the case only for -fasm compilations, now it is also the
1408 case for -fvia-C too.
1410[Derive a valid Ix instance for data Foo = Foo Int Int
1411Ian Lynagh <igloo@earth.li>**20080330182813
1412 The old one didn't satisfy the axioms. See trac #2158 for details.
1414[Revive External Core parser
1415Tim Chevalier <chevalier@alum.wellesley.edu>**20080329223948
1417 Huzzah, the External Core parser will now parse External Core generated by
1418 the HEAD.
1420 Most notably, I rewrote the parser in Parsec, but the old Happy version
1421 remains in the repository.
1423 I checked all the nofib benchmarks and most of the ghc-prim, base and integer
1424 libraries to make sure they parsed; one known bug:
1425   - Strings like "\x0aE", in which a hex escape code is followed by a
1426     letter that could be a hex digit, aren't handled properly. I'm
1427     investigating whether this is a bug in Parsec or expected behavior.
1429 The checker and interpreter still don't work, but should compile.
1431 Please mess around with the parser, report bugs, improve my code, etc.,
1432 if you're so inclined.
1435[Fix big character literal printing in External Core
1436Tim Chevalier <chevalier@alum.wellesley.edu>**20080329221109
1438 Characters bigger than '\xff' should be represented as int
1439 literals in External Core. (This was originally fixed five years ago
1440 and broken again four and a half years ago...)
1442[External Core: don't print superfluous parens in case types
1443Tim Chevalier <chevalier@alum.wellesley.edu>**20080329194629
1445 The External Core printer was parenthesizing the scrutinee type in case expressions. Since this type is required to be atomic, the parens aren't necessary.
1447[Don't import FastString in HsVersions.h
1448Ian Lynagh <igloo@earth.li>**20080329185043
1449 Modules that need it import it themselves instead.
1451[DEBUG removal
1452Ian Lynagh <igloo@earth.li>**20080329171135]
1453[DEBUG removal
1454Ian Lynagh <igloo@earth.li>**20080329171013]
1455[DEBUG removal
1456Ian Lynagh <igloo@earth.li>**20080329170935]
1457[DEBUG removal
1458Ian Lynagh <igloo@earth.li>**20080329170341]
1459[DEBUG removal
1460Ian Lynagh <igloo@earth.li>**20080329170227]
1461[DEBUG removal
1462Ian Lynagh <igloo@earth.li>**20080329165412]
1463[Fix typo; spotted by Bdh in #ghc
1464Ian Lynagh <igloo@earth.li>**20080329165303]
1465[DEBUG removal
1466Ian Lynagh <igloo@earth.li>**20080329164849]
1467[DEBUG removal
1468Ian Lynagh <igloo@earth.li>**20080329164420]
1469[Remove a DEBUG use
1470Ian Lynagh <igloo@earth.li>**20080329164209]
1471[Remove a DEBUG
1472Ian Lynagh <igloo@earth.li>**20080329163936]
1473[Remove more #ifdef DEBUGs
1474Ian Lynagh <igloo@earth.li>**20080329145716]
1475[Remove an #ifdef DEBUG
1476Ian Lynagh <igloo@earth.li>**20080329145508]
1477[Remove an #ifdef DEBUG
1478Ian Lynagh <igloo@earth.li>**20080329145244]
1479[Remove an #ifdef DEBUG
1480Ian Lynagh <igloo@earth.li>**20080329144844]
1481[Remove a #ifdef DEBUG
1482Ian Lynagh <igloo@earth.li>**20080329144658]
1483[Remove an #ifdef DEBUG
1484Ian Lynagh <igloo@earth.li>**20080329144544]
1485[Remove some redundant code
1486Ian Lynagh <igloo@earth.li>**20080329144226]
1487[prelude/PrimOp is now mostly warning-free
1488Ian Lynagh <igloo@earth.li>**20080329143914
1489 commutableOp seems to be unused, so we're no 100% there yet.
1491[Fix warnings from primops.txt.pp
1492Ian Lynagh <igloo@earth.li>**20080329142637]
1493[Use _ rather than "other" in generated code
1494Ian Lynagh <igloo@earth.li>**20080329142508]
1495[Fix some warnings
1496Ian Lynagh <igloo@earth.li>**20080329142219]
1497[Remove some redundant imports
1498Ian Lynagh <igloo@earth.li>**20080329141809]
1499[Remove an #ifdef DEBUG
1500Ian Lynagh <igloo@earth.li>**20080329141733]
1501[Remove an #ifdef DEBUG
1502Ian Lynagh <igloo@earth.li>**20080329141629]
1503[Remove some unnecessary imports
1504Ian Lynagh <igloo@earth.li>**20080329141145]
1505[Remove an unnecessary #ifdef DEBUG
1506Ian Lynagh <igloo@earth.li>**20080329141047]
1507[Another debugIsOn use
1508Ian Lynagh <igloo@earth.li>**20080329140126]
1509[Convert some DEBUG uses to debugIsOn
1510Ian Lynagh <igloo@earth.li>**20080329135950]
1511[Put debugIsOn in Util, rather than rely on it being CPPed in
1512Ian Lynagh <igloo@earth.li>**20080329135755]
1513[External Core: print function types correctly, improve newtype pretty-printing
1514Tim Chevalier <chevalier@alum.wellesley.edu>**20080328222630
1516 - In a previous patch I broke the printing of fully-applied arrow
1517 types (e.g., "a -> b" was "(ghczmprim:GHCziPrim a b)") by z-encoding
1518 package names and not updating the primitive module name as defined in
1519 External Core accordingly. Fixed. (Mega sigh...)
1521 - Make newtype decls print slightly more readably.
1523[Print out rational literals correctly in External Core
1524Tim Chevalier <chevalier@alum.wellesley.edu>**20080328211919
1526 The External Core printer was printing out rational literals of the
1527 form:
1528 2.0e-2
1529 when the External Core grammar doesn't allow this. (This
1530 bug has apparently been there since the beginning...)
1532 It's now printing rationals in the same form that (show (r::Rational))
1533 does. This requires a parser change as well (soon to come.)
1535[Change syntax for qualified names in External Core
1536Tim Chevalier <chevalier@alum.wellesley.edu>**20080327185436
1538 Two changes that make the ext-core code uglier but the parser easier:
1540 - Prefix qualified names with "^" so that we can more easily
1541 distinguish a qualified name:
1542    ^a:Foo.Bar.quux
1543 from an unqualified name:
1544    a
1546 - z-encode package names ("ghc-prim" was the culprit.)
1548[Make use of the SDoc type synonym
1549Ian Lynagh <igloo@earth.li>**20080326175306]
1550[Fix warnings in rename/RnTypes
1551Ian Lynagh <igloo@earth.li>**20080326174657]
1552[Fix warnings in basicTypes/IdInfo
1553Ian Lynagh <igloo@earth.li>**20080326170014]
1554[Fix warnings in basicTypes/NameEnv
1555Ian Lynagh <igloo@earth.li>**20080326165139]
1556[Fix warnings in basicTypes/NameSet
1557Ian Lynagh <igloo@earth.li>**20080326164837]
1558[Fix warning in basicTypes/NewDemand
1559Ian Lynagh <igloo@earth.li>**20080326160017]
1560[Fix warnings in basicTypes/VarEnv
1561Ian Lynagh <igloo@earth.li>**20080326155412]
1562[Fix warnings in basicTypes/VarSet
1563Ian Lynagh <igloo@earth.li>**20080326155105]
1564[main/BreakArray has no warnings
1565Ian Lynagh <igloo@earth.li>**20080326154747]
1566[In validate settings, make -Werror easier to override
1567Ian Lynagh <igloo@earth.li>**20080326141030]
1568[Remove a redundant type sig
1569Ian Lynagh <igloo@earth.li>**20080326004932]
1570[Fix warnings in main/DriverPhases
1571Ian Lynagh <igloo@earth.li>**20080325235828]
1572[Remove redundant type sig
1573Ian Lynagh <igloo@earth.li>**20080325235801]
1574[Fix warnings in main/HscStats
1575Ian Lynagh <igloo@earth.li>**20080325234110]
1576[Fix warnings in main/Constants
1577Ian Lynagh <igloo@earth.li>**20080325233034]
1578[Fix warnings in main/InteractiveEval
1579Ian Lynagh <igloo@earth.li>**20080325230153]
1580[Fix warnings in main/Packages
1581Ian Lynagh <igloo@earth.li>**20080325224444]
1582[Fix warnings in main/PprTyThing
1583Ian Lynagh <igloo@earth.li>**20080325223104]
1584[Fix warnings in main/StaticFlags
1585Ian Lynagh <igloo@earth.li>**20080325221632]
1586[Change syntax for newtypes in External Core
1587Tim Chevalier <chevalier@alum.wellesley.edu>**20080325170218
1589 The way that newtype declarations were printed in External Core files was
1590 incomplete, since there was no declaration for the coercion introduced by a
1591 newtype.
1593 For example, the Haskell source:
1595 newtype T a = MkT (a -> a)
1597 foo (MkT x) = x
1599 got printed out in External Core as (roughly):
1601   %newtype T a = a -> a;
1603   foo :: %forall t . T t -> t -> t =
1604     %cast (\ @ t -> a1 @ t)
1605     (%forall t . T t -> ZCCoT t);
1607 There is no declaration anywhere in the External Core program for :CoT, so
1608 that's bad.
1610 I changed the newtype decl syntax so as to include the declaration for the
1611 coercion axiom introduced by the newtype. Now, it looks like:
1613   %newtype T a ^ (ZCCoT :: ((T a) :=: (a -> a))) = a -> a;
1615 And an external typechecker could conceivably typecheck code that uses this.
1617 The major changes are to MkExternalCore and PprExternalCore (as well as
1618 ExternalCore, to change the External Core AST.) I also corrected some typos in
1619 comments in other files.
1621 Documentation and external tool changes to follow.
1624[Fix warnings in the RTS
1625Ian Lynagh <igloo@earth.li>**20080325160314
1626 For some reason this causes build failures for me in my 32-bit chroot,
1628[Another change for GHC.PrimopWrappers moving from base to ghc-prim
1629Ian Lynagh <igloo@earth.li>**20080324224006]
1630[Update darcs-boring
1631Ian Lynagh <igloo@earth.li>**20080324212319]
1632[Fix primMname in External Core printer
1633Tim Chevalier <chevalier@alum.wellesley.edu>**20080324014311
1635  My earlier changes broke printing of function types in .hcr files.
1636   In other words: the z-encoding must die.
1638[Fix primMname in External Core printer
1639Tim Chevalier <chevalier@alum.wellesley.edu>**20080324005246
1641 My earlier changes broke printing of function types in .hcr files.
1642 In other words: the z-encoding must die.
1644[Follow library changes
1645Ian Lynagh <igloo@earth.li>**20080323182557
1646 Integer, Bool and Unit/Inl/Inr are now in new packages integer
1647 and ghc-prim.
1649[CgTicky now doesn't know about the Integer data constructors
1650Ian Lynagh <igloo@earth.li>**20080320195836]
1651[-DDEBUG build fix
1652Ian Lynagh <igloo@earth.li>**20080322140641]
1653[Rename rebuild to remake, and define rebuild to "clean; build"
1654Ian Lynagh <igloo@earth.li>**20080320221915]
1655[Handle hierarchical module names in External Core tools
1656Tim Chevalier <chevalier@alum.wellesley.edu>**20080320014449
1658 I updated the parser to handle hierarchical module names (with package names)
1659 the way GHC is currently printing them out in External Core.
1661 Beware kludgy use of z-encoding and gratutious copy-pasta from GHC.
1663 You can now use the stand-alone Core parser to parse a very simple
1664 GHC-generated .hcr file (progress!) but not to typecheck or interpret it
1665 (the typechecker/interpreter don't snarf in the right libraries yet, among
1666 other things.) And, the parser is still incomplete in that it doesn't handle
1667 programs with newtypes/GADTs/etc. whose syntax has changed since 2003. In
1668 other words: probably don't try to use this yet.
1671[Improve hierarchical module name handling in MkExternalCore
1672Tim Chevalier <chevalier@alum.wellesley.edu>**20080319190429
1674 It's easier for the External Core parser if MkExternalCore prints
1675 module names like:
1676    base:GHCziBase
1677 rather than like:
1678    base:GHC.Base
1679 (which it was doing before.)
1681 So now we z-encode the hierarchical module-name part of a module
1682 name, but don't z-encode the ':'.
1684 I also removed some old comments that don't seem relevant anymore.
1686[Fixed remaining warning in coreSyn/MkExternalCore
1687Tim Chevalier <chevalier@alum.wellesley.edu>**20080319182521
1689 There was a (suppressed) warning about an incomplete pattern match in make_alt. This was because the DEFAULT alt never has variable bindings. I thought it would be better to check that case and panic if it happens than to have an incomplete pattern. It's still not great, but at least now we don't have to suppress any warnings in this file.
1691[Revert an accidental change
1692Ian Lynagh <igloo@earth.li>**20080317200130]
1693[Print some extra debugging info when doing --show-iface
1694Ian Lynagh <igloo@earth.li>**20080317185032]
1695[Eliminate a global variable
1696Ian Lynagh <igloo@earth.li>**20080317180150
1697 Very little parameter passing is needed without it, so there was no real
1698 benefit to it.
1700[Follow changes in editline
1701Ian Lynagh <igloo@earth.li>**20080317103617]
1702[Use editline instead of readline
1703Ian Lynagh <igloo@earth.li>**20080316060407]
1704[Vectorise tuple constructorsn
1705Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080317033436]
1706[Added double divide and unzipP
1708[Added 'div' to set of vectorising functions
1710[If unregisterised, link with -optl-Wl,--relax on IA64
1711Ian Lynagh <igloo@earth.li>**20080316214104
1712 This fixes part of trac #856
1714[When concatenating variables in Makefile, strip spaces in case one is empty
1715Ian Lynagh <igloo@earth.li>**20080315141751
1716 Otherwise "$(A) $(B)" will not be equal to "" even if A and B are empty.
1717 Trac #856.
1719[Fix a space leak in :trace (trac #2128)
1720Ian Lynagh <igloo@earth.li>**20080316211748
1721 We were doing lots of cons'ing and tail'ing without forcing the tails,
1722 so were building up lots of thunks.
1724[If we are failing due to a warning and -Werror, say so
1725Ian Lynagh <igloo@earth.li>**20080316195636
1726 Fixes trac #1893, based on a patch from Daniel Franke.
1728[Remove leftover NoteTy/FTVNote bits
1729Ian Lynagh <igloo@earth.li>**20080315194220]
1730[Remove uses of addFreeTyVars
1731Ian Lynagh <igloo@earth.li>**20080315155027
1732 This optimisation actually make things a bit slower on average, as
1733 measured by nofib. The example in #1136 in particular suffers from high
1734 memory usage. Therefore we no longer do the optimisation.
1736[parsing tweak for :break
1737Simon Marlow <simonmar@microsoft.com>**20080313182936]
1738[Tweaks to stack squeezing
1739Simon Marlow <simonmar@microsoft.com>**20080207122445
1741 1. We weren't squeezing two frames if one of them was a marked update
1742    frame.  This is easy to fix.
1744 2. The heuristic to decide whether to squeeze was a little
1745    conservative.  It's worth copying 3 words to save an update frame.
1748[Some cleanup in TcSimplify.reduceContext
1749Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080313065220
1750 - Makes this horrid function a bit better - and shorter!
1751 - Also gets rid of another API function of TcTyFuns
1753[Properly normalise reduced dicts
1754Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080313051708
1755 - Another chapter in the never-ending TcSimplify.reduceContext saga: after
1756   context reduction of wanted dicts it is not sufficient to normalise them
1757   wrt to the wanted equalities.  We also need to take top-level equalities
1758   into account.  (In fact, we probably also have to normalise wrt to given
1759   equalities, but I have left that open for the moment - but added a TODO
1760   note.)
1761 - This finally eliminates substEqInDictInsts from TcTyFuns interface and
1762   suggest some further possible clean up (which will be in a separate patch).
1764 Thanks to Roman for the intricate example that uncovered this bug.
1766[Bump mAX_NDP_PROD to 5
1767Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080313061411]
1768[#2050: save the GHCi history in ~/.ghc/ghci_history
1769Simon Marlow <simonmar@microsoft.com>**20080312215724
1770 Modified version of Judah's patch
1772[Make sure we generate PA dictionaries for tuples up to mAX_NDP_PROD
1773Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080312034905]
1774[Bump mAX_NDP_PROD to 4
1775Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080312030245]
1776[First cut at reviving the External Core tools
1777Tim Chevalier <chevalier@alum.wellesley.edu>**20080310025821
1779 I updated the External Core AST to be somewhat closer to reality (where reality is defined by the HEAD), and got all the code to compile under GHC 6.8.1. (That means it works, right?)
1781 Major changes:
1783 - Added a Makefile.
1785 - Core AST:
1786     - Represented package names and qualified module names.
1787     - Added type annotation on Case exps.
1788     - Changed Coerce to Cast.
1789     - Cleaned up representation of qualified/unqualified names.
1790     - Fixed up wired-in module names (no more "PrelGHC", etc.)
1792 - Updated parser/interpreter/typechecker/prep for the new AST.
1794 - Typechecker:
1795     - Used a Reader monad to pass around the global environment and top module name.
1796     - Added an entry point to check a single expression.
1798 - Prep:
1799     - Got rid of typeofExp; it's now defined in terms of the typechecker.
1802[Remove ndpFlatten
1803Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080309225914
1805 This patch removes the ndpFlatten directory and the -fflatten static flag.
1806 This code has never worked and has now been superceded by vectorisation.
1808[documentation fix: change flag -frules-off to -fno-rewrite-rules
1810[Don't expose the unfolding of dictionary selectors without -O
1813 When compiling without -O we were getting code like this
1815        f x = case GHC.Base.$f20 of
1816                  :DEq eq neq -> eq x x
1818 But because of the -O the $f20 dictionary is not available, so exposing
1819 the dictionary selector was useless.  Yet it makes the code bigger!
1820 Better to get
1821        f x = GHC.Base.== GHC.Bsae.$f20 x x
1823 This patch suppresses the implicit unfolding for dictionary selectors
1824 when compiling without -O.  We could do the same for other implicit
1825 Ids, but this will do for now.
1827 There should be no effect when compiling with -O.  Programs should
1828 be smaller without -O and may run a tiny bit slower.
1832[Fix Trac #783: improve short-cutting literals in the type checker
1835 The Inst.shortCutIntLit mechanism in the type checker was missing cases
1836 where a floating-point literal was given without an explicit decimal point.
1838 As a result, programs with lots of floating-point literals (without decimals)
1839 ended up with massive Static Reference Tables.  This is not cool.  See
1840 comments with Trac #783 for details.
1844[Fix Trac #2138: print the 'stupid theta' of a data type
1846[Fix vectorisation monad
1847Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080307050859]
1848[Improve SpecConstr for local bindings: seed specialisation from the calls
1851 This patch makes a significant improvement to SpecConstr, based on
1852 Roman's experience with using it for stream fusion.  The main change is
1853 this:
1855   * For local (not-top-level) declarations, seed the specialisation
1856     loop from the calls in the body of the 'let'.
1858 See Note [Local recursive groups] for discussion and example.  Top-level
1859 declarations are treated just as before.
1861 Other changes in this patch:
1863   * New flag -fspec-constr-count=N sets the maximum number of specialisations
1864     for any single function to N.  -fno-spec-constr-count removes the limit.
1866   * Refactoring in specLoop and friends; new algebraic data types
1867     OneSpec and SpecInfo instead of the tuples that were there before
1869   * Be less keen to specialise on variables that are simply in scope.
1870     Example
1871       f p q = letrec g a y = ...g....  in g q p
1872     We probably do not want to specialise 'g' for calls with exactly
1873     the arguments 'q' and 'p', since we know nothing about them.
1877[Refactor OccAnal; and improve dead-code elimination
1880 The occurrence analyer is now really rather subtle when dealing
1881 with recursive groups; see Note [Loop breaking and RULES] especially.
1883 This patch refactors this code a bit, notably
1884   * Introduces a new data type Details instead of a tuple
1886   * More clearly breaks up a recursive group into its SCCs
1887        before processing it in a separate function occAnalRec
1889   * As a result, does better dead-code elimination, becuause it's
1890        done per SCC rather than for the whole Rec
1896[Copy the right ghc-pkg.bin into bindists
1897Ian Lynagh <igloo@earth.li>**20080305224020]
1898[Add a missing endif to the bindist Makefile
1899Ian Lynagh <igloo@earth.li>**20080305221136]
1900[Fix bashisms; patch from Bernie Pope
1901Ian Lynagh <igloo@earth.li>**20080305134556]
1902[Improve no-type-signature warning
1903Ian Lynagh <igloo@earth.li>**20080305011242
1904 Instead of
1905    Warning: Definition but no type signature for `.+.'
1906             Inferred type: .+. :: forall a. a
1907 we now say
1908     Warning: Definition but no type signature for `.+.'
1909              Inferred type: (.+.) :: forall a. a
1911[Fix typo
1912Ian Lynagh <igloo@earth.li>**20080302151339]
1913[In bindists, look in the right place to see if we have provided docs
1914Ian Lynagh <igloo@earth.li>**20080302140408
1915 Fixes trac #1971: unjustified warning about documentation
1917[Remove GADT refinements, part 3
1918Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080229035740]
1919[MacOS installer: Uninstaller must be able to deal with ATiger receipts
1920Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080228050707]
1921[Add and use seqBitmap when constructing SRTs
1922Ian Lynagh <igloo@earth.li>**20080227144505
1923 This roughly halves memory usage when compiling
1924     module Foo where
1926     foo :: Double -> Int
1927     foo x | x == 1 = 1
1928     ...
1929     foo x | x == 500 = 500
1930 without optimisation.
1933Ian Lynagh <igloo@earth.li>**20080220191230]
1934[Remove GADT refinements, part 2
1935Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080228055326]
1936[Fix Trac #2130: improve derived Ord for primmitive types
1939 This patch does two things:
1941 * (Minor): in TcGenDeriv.careful_compare_Case, test for less-than before
1942   equality. This should reduce the number of dynamic tests, and also gives
1943   more scope for optimisation, since less-than tells us more than equality.
1945 * (More important): add special-case derived code for data types that are
1946   simple wrappers of primitive types. See
1947        Note [Comparision of primitive types]
1948   This fixes Trac 2130.
1950 However see also Trac #2132, which is not addressed here.
1953[Comments only
1955[add a note about SMP execution not being supported with profiling
1956Simon Marlow <simonmar@microsoft.com>**20080228112209]
1957[Enable -prof -threaded (#886)
1958Simon Marlow <simonmar@microsoft.com>**20080228111631
1959 It turns out that -prof -threaded works (modulo some small changes),
1960 because all the data structures used in profiling are only accessed by
1961 one thread at a time, at long as we don't use +RTS -N2 or higher.  So
1962 this patch enables the use of -prof -threaded, but an error is given
1963 if you ask for more than one CPU with +RTS -N.
1965[Wibble to error message (stmt of do block or comprehension)
1967[Make explicit lists more fusable
1968Max Bolingbroke <batterseapower@hotmail.com>**20080228083050]
1969[Add comments explaining flags
1971[Remove GADT refinements, part 1
1972Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080228045351
1973 - A while ago, I changed the type checker to use equality constraints together
1974   with implication constraints to track local type refinement due to GADT
1975   pattern matching.  This patch is the first of a number of surgical strikes
1976   to remove the resulting dead code of the previous GADT refinement machinery.
1978   Hurray to code simplification!
1980[Eliminate SkolemOccurs skolems only after checkLoop reached a fixed point
1981Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080228001957
1982 - See test case indexed-types/should_fail/SkolemOccursLoop, which sends the
1983   type checker into an endless loop without this fix
1985[Fix Trac #2126: re-order tests (easy)
1987[Fix Trac #2111: improve error handling for 'rec' in do-notation
1990 We were not dealing correctly with all the combinations of
1991        do notation
1992        mdo notation
1993        arrow notation
1994 in combination with 'rec' Stmts.
1996 I think this patch sorts it out.
1999[Remove gaw comment
2001[Fix Trac #1899; missing equality check in typechecker's constraint simplifier
2004 This patch fixes a missing equality check (uifying type variable b=b) in
2005 the new constraint simplifier in TcTyFuns.  As it stands, we were making
2006 'b' point to itself, which subsequently led to an infinite loop when
2007 zonking.  Test is T1899.hs
2012[FIX #2122: file locking bug
2013Simon Marlow <simonmar@microsoft.com>**20080226104650
2014 Second and subsequent readers weren't being inserted into the
2015 fd->lock hash table, which meant that the file wasn't correctly
2016 unlocked when the Handles were closed.
2018[documentation improvements from Frederik Eaton
2019Simon Marlow <simonmar@microsoft.com>**20080226102612]
2020[markup fix
2021Simon Marlow <simonmar@microsoft.com>**20080226102558]
2022[Mac installer: cross-compile for 10.4
2023Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080225093734]
2024[Make UniqFM non-strict again while we work out what we're doing.
2025Ian Lynagh <igloo@earth.li>**20080225171305
2026 This "fixes" the very-slow problem we have when compiling dictionaries.
2028[Fix Trac #2082
2030[Fix Trac #2114: error reporting for 'forall' without appropriate flags
2032[Improve error messages from type-checking data constructors
2035 This addresses Trac #2112
2038[Add type sigs and minor refactoring
2040[FIX #2073: Don't add empty lines to GHCI's history
2041Ian Lynagh <igloo@earth.li>**20080224143256]
2042[FIX #1977: Check to see if $(bindir) is in the path
2043Ian Lynagh <igloo@earth.li>**20080224134334
2044 Before telling the user to add it, when installing a bindist, check to
2045 see if $(bindir) is already in the path.
2047[Fix warnings in Simplify
2048Ian Lynagh <igloo@earth.li>**20080222150318]
2050Ian Lynagh <igloo@earth.li>**20080222140755]
2051[Add a comment
2052Ian Lynagh <igloo@earth.li>**20080220205844]
2053[Fix most of the warnings in StgLint
2054Ian Lynagh <igloo@earth.li>**20080220171858]
2056Ian Lynagh <igloo@earth.li>**20080220171140]
2057[CprAnalyse is warning-free
2058Ian Lynagh <igloo@earth.li>**20080220170843]
2060Ian Lynagh <igloo@earth.li>**20080220170650]
2061[Fix #1984: missing context switches
2062Simon Marlow <simonmar@microsoft.com>**20080219102212]
2063[fix unregisterised stage 2 build
2064Simon Marlow <simonmar@microsoft.com>**20080219093407]
2065[Mac OS X deployment target: piping opts through Makefiles
2066Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080221224449]
2067[Rewrite fixTvSubstEnv so it iteratively applies its substition
2068Ian Lynagh <igloo@earth.li>**20080220153752
2069 This fixes a stack overflow when using strict UniqFMs. It might be
2070 possible to rewrite it more efficiently, or to avoid needing it in the
2071 first place.
2074Ian Lynagh <igloo@earth.li>**20080219204117]
2075[Make some more modules use LazyUniqFM instead of UniqFM
2076Ian Lynagh <igloo@earth.li>*-20080207015714
2077 If these modules use UniqFM then we get a stack overflow when compiling
2078 modules that use fundeps. I haven't tracked down the actual cause.
2080[Add configure option --with-macos-deployment-target
2081Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080219031755]
2082[Fix warning in SCCfinal
2083Ian Lynagh <igloo@earth.li>**20080219020429]
2084[Whitespace only
2085Ian Lynagh <igloo@earth.li>**20080219015259]
2086[Fix warnings in UniqSupply
2087Ian Lynagh <igloo@earth.li>**20080219013233]
2088[Whitespace only
2089Ian Lynagh <igloo@earth.li>**20080219012417]
2090[Fix non-missing-signature warnings in MkId
2091Ian Lynagh <igloo@earth.li>**20080219010917]
2092[Whitespace only
2093Ian Lynagh <igloo@earth.li>**20080219005042]
2094[Whitespace only
2095Ian Lynagh <igloo@earth.li>**20080218234559]
2096[Make literals in the syntax tree strict
2097Ian Lynagh <igloo@earth.li>**20080218183424]
2098[Make the parser a bit stricter
2099Ian Lynagh <igloo@earth.li>**20080218175514]
2100[seq what we actually want to seq, not the seq'ing function
2101Ian Lynagh <igloo@earth.li>**20080213131857]
2102[attempt to fix #2098 (PPC pepple please test & fix)
2103Simon Marlow <simonmar@microsoft.com>**20080218115748]
2104[FIX #2023: substitute for $topdir in haddockInterfaces and haddockHTMLs
2105Simon Marlow <simonmar@microsoft.com>**20080209143648]
2106[All installed Haskell prgms have an inplace and an installed version
2107Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080218061809
2108 - GHC installs a range of compiled Haskell programs in addition to the actual
2109   compiler.  To ensure that they all run on the platform targeted by the build
2110   (which may have different libraries installed than the build host), we need
2111   to make sure that all compiled Haskell code going into an install is build
2112   with the stage 1 compiler, not the bootstrap compiler.  Getting this right
2113   is especially important on the Mac to enable builds that work on Mac OS X
2114   versions that are older than the one performing the build.
2115 - For all installed utils implemented in Haskell (i.e., ghc-pkg, hasktags,
2116   hsc2hs, runghc, hpc, and pwd) we compile two versions, an inplace version
2117   and a version for installation.  The former is build by the bootstrap
2118   compiler during the stage 1 build and the latter is build by the stage 1
2119   compiler during the stage 2 build.
2120 - This is really very much as the setup for ghc itself, only that we don't use
2121   separate stage1/ and stage2/ build directories.  Instead, we clean before
2122   each build.  CAVEAT: This only works properly if invoked from the
2123   toplevel Makefile.
2124 - Instead of UseStage1=YES (as used by the previous binary-dist-specific
2125   recompilation), we now use the same $(stage) variables as used for the
2126   compiler proper - to increase uniformity and to avoid extra conditionals for
2127   the install target.
2129[Fix warnings in Pretty
2130Ian Lynagh <igloo@earth.li>**20080218214151]
2131[Fix warnings in FiniteMap
2132Ian Lynagh <igloo@earth.li>**20080218200408]
2133[Fix warnings in Binary
2134Ian Lynagh <igloo@earth.li>**20080218193645]
2135[Fix warnings in StringBuffer
2136Ian Lynagh <igloo@earth.li>**20080218191846]
2137[Fix warnings in IOEnv
2138Ian Lynagh <igloo@earth.li>**20080218190849]
2139[Fix warnings in FastString, and check for empty case in head/tail
2140Ian Lynagh <igloo@earth.li>**20080218144707]
2141[Whitespace only
2142Ian Lynagh <igloo@earth.li>**20080218112232]
2143[Whitespace only
2144Ian Lynagh <igloo@earth.li>**20080218112101]
2145[Whitespace only
2146Ian Lynagh <igloo@earth.li>**20080218111941]
2147[Whitespace only
2148Ian Lynagh <igloo@earth.li>**20080218110241]
2149[Whitespace only
2150Ian Lynagh <igloo@earth.li>**20080218105909]
2151[Whitespace only
2152Ian Lynagh <igloo@earth.li>**20080218105343]
2153[Tweak whitespace
2154Ian Lynagh <igloo@earth.li>**20080217175133]
2155[Fix typo
2156Ian Lynagh <igloo@earth.li>**20080217175021]
2157[Print better error message for reading External Core
2158Tim Chevalier <chevalier@alum.wellesley.edu>**20080217223844
2160 GHC panicked with a "Prelude.undefined" error message if you tried to
2161 compile a .hcr file. Since support for reading ExternalCore simply does
2162 not exist, I added an error message to say that.
2164 Please merge to 6.8. Thanks.
2167[Documentation only: update External Core section of user guide
2168Tim Chevalier <chevalier@alum.wellesley.edu>**20080217213206
2170 I updated the External Core section of the user guide, mostly to reflect
2171 that the input path is broken and there are no firm plans to fix it.
2173[Generate foo(void) rather than foo() in FFI stub files
2174Ian Lynagh <igloo@earth.li>**20080216141031
2175 -Wstrict-prototypes warns about the latter.
2176 Patch from pcc in trac #2100.
2178[Make hasktags -Wall clean
2179Ian Lynagh <igloo@earth.li>**20080215160309]
2180[Whitespace only
2181Ian Lynagh <igloo@earth.li>**20080215155122]
2182[Fix building hasktags
2183Ian Lynagh <igloo@earth.li>**20080215154415]
2184[Revert an accidental comment change
2185Ian Lynagh <igloo@earth.li>**20080215153558]
2186[find module names, fix for get constructor names, find class names as well, sort ctag files
2188[added TODO item and link to alternatives on wiki
2190[Make more arch-specific #if's exclusive with #else #error cases
2191Duncan Coutts <duncan@haskell.org>**20080207170020
2192 So when the next person compiles the Sparc NCG it should fail more
2193 obviously at compile time rather than panicing at runtime.
2194 Plus one obvious fix for LocalReg gaining an extra param
2195 Missing bits of Sparc NCG:
2196   * genSwitch for generating jump tables. This is the most tricky one.
2198     finding and verifying the values. The nearby comment describes how.
2199   * isRegRegMove and mkRegRegMoveInstr. Sparc uses Or for int move, check
2200     what this is supposed to do for single and double float types.
2201   * regDotColor. Probably just copy the ppc impl.
2203[Document code a bit better
2204Ian Lynagh <igloo@earth.li>**20080213161106]
2205[Add a necessary [] error case
2206Ian Lynagh <igloo@earth.li>**20080213154232]
2207[\e -> f e   ===>    f
2208Ian Lynagh <igloo@earth.li>**20080213153835]
2209[Fixed warnings in parser/Lexer.x
2210Twan van Laarhoven <twanvl@gmail.com>**20080204021131
2212 The -w flag can not be removed, because alex also generates code with lots of warnings.
2214[Monadification and Fixed warnings in parser/RdrHsSyn, except for incomplete pattern matches
2215Twan van Laarhoven <twanvl@gmail.com>**20080204015053]
2216[Fixed warnings in vectorise/VectMonad
2217Twan van Laarhoven <twanvl@gmail.com>**20080203223932]
2218[Fix typo in message
2219Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080212052219]
2220[Remove old code to get TMPDIR, use System.Directory.getTemporaryDirectory
2221Simon Marlow <simonmar@microsoft.com>**20080207143915]
2222[Mac installer: Added XCODE_EXTRA_CONFIGURE_ARGS
2223Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080211115201]
2224[Mac installer: make Uninstaller a bit more robust
2225Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080211091119]
2226[Mac installer: add comprehensive licencing information
2227Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080211061450]
2228[Force -s on ar in xcode builds
2229Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080211022329]
2230[Fix warning (FIX validate)
2231Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080211040211]
2232[Symbolic tags for simplifier phases
2233Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080211032350
2235 Every simplifier phase can have an arbitrary number of tags and multiple
2236 phases can share the same tags. The tags can be used as arguments to
2237 -ddump-simpl-phases to specify which phases are to be dumped.
2238 For instance, -ddump-simpl-phases=main will dump the output of phases 2, 1 and
2239 0 of the initial simplifier run (they all share the "main" tag) while
2240 -ddump-simpl-phases=main:0 will dump only the output of phase 0 of that run.
2242 At the moment, the supported tags are:
2244   main                 The main, staged simplifier run (before strictness)
2245   post-worker-wrapper  After the w/w split
2246   post-liberate-case   After LiberateCase
2247   final                Final clean-up run
2249 The names are somewhat arbitrary and will change in the future.
2251[Allow -ddump-simpl-phases to specify which phases to dump
2252Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080211020630
2254 We can now say -ddump-simpl-phases=1,2 to dump only these two phases and
2255 nothing else.
2257[Fixed warnings in parser/ParserCoreUtils
2258Twan van Laarhoven <twanvl@gmail.com>**20080204022226]
2259[Fixed warnings in hsSyn/Convert, except for incomplete pattern matches
2260Twan van Laarhoven <twanvl@gmail.com>**20080204000510]
2261[Fixed warnings in types/Unify
2262Twan van Laarhoven <twanvl@gmail.com>**20080203224228]
2263[Fixed warnings in ndpFlatten/FlattenInfo
2264Twan van Laarhoven <twanvl@gmail.com>**20080203224159]
2265[Fixed warnings in vectorise/VectBuiltIn
2266Twan van Laarhoven <twanvl@gmail.com>**20080203224043]
2267[Fixed warnings in vectorise/VectCore
2268Twan van Laarhoven <twanvl@gmail.com>**20080203224003]
2269[Fixed warnings in deSugar/DsExpr, except for incomplete pattern matches
2270Twan van Laarhoven <twanvl@gmail.com>**20080203214848]
2271[Fixed warnings in deSugar/DsGRHSs, except for incomplete pattern matches
2272Twan van Laarhoven <twanvl@gmail.com>**20080203214602]
2273[Fixed warnings in deSugar/DsListComp, except for incomplete pattern matches
2274Twan van Laarhoven <twanvl@gmail.com>**20080203211253]
2275[Fixed warnings in deSugar/Check, except for incomplete pattern matches
2276Twan van Laarhoven <twanvl@gmail.com>**20080203210814]
2277[Fixed warnings in deSugar/Match, except for incomplete pattern matches
2278Twan van Laarhoven <twanvl@gmail.com>**20080203210533]
2279[Fixed warnings in deSugar/MatchCon, except for incomplete pattern matches
2280Twan van Laarhoven <twanvl@gmail.com>**20080203210402]
2281[Fixed warnings in deSugar/DsMonad
2282Twan van Laarhoven <twanvl@gmail.com>**20080203210339]
2283[Wibble the Makefile: DQ, \" and '"'
2284Ian Lynagh <igloo@earth.li>**20080210171104]
2285[Don't use -w when compiling Config.hs
2286Ian Lynagh <igloo@earth.li>**20080210171050]
2287[Add typesigs to Config.hs
2288Ian Lynagh <igloo@earth.li>**20080210170925]
2289[Allow skipping "make clean" or only re-running the testsuite in validate
2290Ian Lynagh <igloo@earth.li>**20080210162842]
2291[Mac installer: added support for full docs
2292Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080209110727]
2293[Fixed permissions and other cleanup in Mac installer package
2294Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080207030528]
2295[Adjust error message (Trac #2079)
2297[Redo inlining patch, plus some tidying up
2300 This adds back in the patch
2301   * UNDO: Be a little keener to inline
2303 It originally broke the compiler because it tickled a Cmm optimisation bug,
2304 now fixed. 
2306 In revisiting this I have also make inlining a bit cleverer, in response to
2307 more examples from Roman. In particular
2309   * CoreUnfold.CallCtxt is a data type that tells something about
2310     the context of a call.  The new feature is that if the context is
2311     the argument position of a function call, we record both
2312        - whether the function (or some higher up function) has rules
2313        - what the argument discount in that position is
2314     Either of these make functions keener to inline, even if it's
2315     in a lazy position
2317   * There was conseqential tidying up on the data type of CallCont.
2318     In particular I got rid of the now-unused LetRhsFlag
2323[Comments, and a type signature
2325[FIX #2080: an optimisation to remove a widening was wrong
2326Simon Marlow <simonmar@microsoft.com>**20080208124219]
2327[Remove some of the old compat stuff now that we assume GHC 6.4
2328Simon Marlow <simonmar@microsoft.com>**20080208124132]
2329[Allow runghc to take input from stdin, just like Ruby & Python
2330Simon Marlow <simonmar@microsoft.com>**20080207145830]
2331[remove a bogus assertion
2332Simon Marlow <simonmar@microsoft.com>**20080207143805]
2333[Convert more UniqFM's back to LazyUniqFM's
2334Ian Lynagh <igloo@earth.li>**20080207144736
2335 These fix these failures:
2336    break008(ghci)
2337    break009(ghci)
2338    break026(ghci)
2339    ghci.prog009(ghci)
2340    ghci025(ghci)
2341    print007(ghci)
2342    prog001(ghci)
2343    prog002(ghci)
2344    prog003(ghci)
2345 at least some of which have this symptom:
2346     Exception: expectJust prune
2348[Be a bit more consistent about what's a set and what's a map
2349Ian Lynagh <igloo@earth.li>**20080205211909]
2350[Make some more modules use LazyUniqFM instead of UniqFM
2351Ian Lynagh <igloo@earth.li>**20080207015714
2352 If these modules use UniqFM then we get a stack overflow when compiling
2353 modules that use fundeps. I haven't tracked down the actual cause.
2355[Remove unused import
2356Ian Lynagh <igloo@earth.li>**20080207002544]
2357[Make UniqFM strict in its elements
2358Ian Lynagh <igloo@earth.li>**20080206141620]
2359[Use uniqSetToList rather than eltsUFM
2360Ian Lynagh <igloo@earth.li>**20080206000043]
2361[Use isEmptyUniqSet rather than isNullUFM
2362Ian Lynagh <igloo@earth.li>**20080205205336]
2363[Added Uninstaller
2364Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080206073054]
2365[FIX BUILD on x86_64
2366Simon Marlow <simonmar@microsoft.com>**20080206113936]
2367[matchesPkg: match against the pkg Id (foo-1.0) not just the package name (foo)
2368Simon Marlow <simonmar@microsoft.com>**20080205090429
2369 Fixes the ghcpkg01 test.
2371[Teach cheapEqExpr about casts
2372Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080206035007
2374 Previously, cheapEqExpr would always return False if it encountered a cast.
2375 This was bad for two reasons. Firstly, CSE (which uses cheapEqExpr to compare
2376 expressions) never eliminated expressions which contained casts and secondly,
2377 it was inconsistent with exprIsBig. This patch fixes this.
2379[Inject implicit bindings before the simplifier (Trac #2070)
2382 With constructor unpacking, it's possible for constructors and record
2383 selectors to have non-trivial code, which should be optimised before
2384 being fed to the code generator.  Example:
2386   data Foo = Foo { get :: {-# UNPACK #-} !Int }
2388 Then we do not want to get this:
2389   T2070.get =
2390     \ (tpl_B1 :: T2070.Foo) ->
2391     case tpl_B1 of tpl1_B2 { T2070.Foo rb_B4 ->
2392         let {
2393           ipv_B3 [Just S] :: GHC.Base.Int
2394           [Str: DmdType m]
2395           ipv_B3 = GHC.Base.I# rb_B4
2396         } in  ipv_B3 }
2398 If this goes through to codegen, we'll generate bad code.  Admittedly,
2399 this only matters when the selector is used in a curried way (e.g
2400 map get xs), but nevertheless it's silly.
2402 This patch injects the implicit bindings in SimplCore, before the
2403 simplifier runs.  That slows the simplifier a little, because it has
2404 to look at some extra bindings; but it's probably a slight effect.
2405 If it turns out to matter I suppose we can always inject them later,
2406 e.g. just before the final simplification.
2408 An unexpected (to me) consequence is that we get some specialisation rules
2409 for class-method selectors.  E.g. we get a rule
2410        RULE  (==) Int dInt = eqInt
2411 There's no harm in this, but not much benefit either, because the
2412 same result will happen when we inline (==) and dInt, but it's perhaps
2413 more direct.
2417[Make do-notation a bit more flexible (Trac #1537)
2420 This is a second attempt to fix #1537: to make the static typechecking
2421 of do-notation behave just like the desugared version of the same thing.
2422 This should allow parameterised monads to work properly (see Oleg's comment
2423 in the above ticket).
2425 We can probably merge to 6.8.3 if it goes smoothly.
2427 Incidentally, the resulting setup suffers from greater type ambiguity
2428 if (>>=) has a very general type.  So test rebindable6 no longer works
2429 (at least not without more type signatures), and rebindable5 requires
2430 extra functional dependencies.  But they are weird tests.
2433[White space only
2435[FIX #2047: Windows (and older Unixes): align info tables to 4 bytes, not 2
2436Simon Marlow <simonmar@microsoft.com>**20080205101425
2437 Perhaps in the past '.align 2' meant align to 4 bytes, but nowadays it
2438 means align to 2 bytes.  The compacting collector requires info tables
2439 to be aligned to 4 bytes, because it stores tag bits in the low 2
2440 bits.
2442 This only affects -fvia-C - the native code generator was already
2443 emitting the correct alignment.  The incorrect alignment might well
2444 have been adversely affecting performance with -fvia-C on Windows.
2446[Most of installer for framework on system volume
2447Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080205073738]
2448[Split into two types of Mac installer specs
2449Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080205052504]
2450[Lambda logo for packages
2451Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080205052017
2452 - This image is in the public domain, cf
2453   http://en.wikipedia.org/wiki/Image:Greek_lc_lamda_thin.svg
2455[xcode build target for fixed /Library/Frameworks inst
2456Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080205030047
2457 - Also moving all MacOS-specific Makefile components into
2458   distrib/MacOS/Makefile
2460[First stab at an installer package for the Mac
2461Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080202134853
2462 - GHC as a Mac framework
2463 - I tried to make a package where the user could choose whether to install
2464   in /Library/Frameworks or ~/Library/Frameworks (to allow installation for
2465   non-admins).  However, that doesn't work well without including the whole
2466   distribution twice as the decision as to whether the admin password needs
2467   to be entered is made at packaging time (not at install time).
2469[Support for using libffi to implement FFI calls in GHCi (#631)
2470Simon Marlow <simonmar@microsoft.com>**20080204161053
2471 This means that an unregisterised build on a platform not directly
2472 supported by GHC can now have full FFI support using libffi.
2474 Also in this commit:
2476  - use PrimRep rather than CgRep to describe FFI args in the byte
2477    code generator.  No functional changes, but PrimRep is more correct.
2479  - change TyCon.sizeofPrimRep to primRepSizeW, which is more useful
2481[Use the correct libffi type for pointers
2482Simon Marlow <simonmar@microsoft.com>**20080104131936]
2483[Fix DEBUG build
2485[Make seqAlts actually seq everything
2486Ian Lynagh <igloo@earth.li>**20080203134321]
2487[Strictness tweaks
2488Ian Lynagh <igloo@earth.li>**20080203024836]
2490Ian Lynagh <igloo@earth.li>**20080203003929]
2491[Whitespace only
2492Ian Lynagh <igloo@earth.li>**20080202213936]
2493[Tweak strictness
2494Ian Lynagh <igloo@earth.li>**20080202213542]
2495[Fix warnings in deSugar/DsBinds
2496Ian Lynagh <igloo@earth.li>**20080130144014]
2497[UNDO: Be a little keener to inline
2498Simon Marlow <simonmar@microsoft.com>**20080201144810
2500 This patch caused at least the following test failures:
2501    1744(normal)
2502    ghci028(ghci)
2503    unicode001(normal)
2504 and additionally made the stage3 build fail. 
2506 A little more validation please!
2508 I didn't find the exact cause of the failure yet, but it appears that
2509 the Lexer is miscompiled in some strange way.  If any of {Encoding,
2510 StringBuffer, or Lexer} are compiled without -O, the problem goes
2511 away.
2513[FIX BUILD with GHC 6.4.x
2514Simon Marlow <simonmar@microsoft.com>**20080201122753]
2515[FIX BUILD with ghc-6.4.x
2516Simon Marlow <simonmar@microsoft.com>**20080201114302]
2517[Some tweaks to the building from source section
2518Simon Marlow <simonmar@microsoft.com>**20080129091132]
2519[Warning clean up
2520Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080131024845]
2521[Move spiltDmdTy within module (no change in code)
2523[Fix typo where I forgot the new substitution
2525[Add missing (error) case in isIrrefutablePat
2527[Add missing (error) case in pprConDecl
2529[Fix warnings on non-Windows
2530Ian Lynagh <igloo@earth.li>**20080130114640]
2531[Fixed warnings in main/ErrUtils
2532Twan van Laarhoven <twanvl@gmail.com>**20080127015419]
2533[Fixed warnings in main/HeaderInfo, except for incomplete pattern matches
2534Twan van Laarhoven <twanvl@gmail.com>**20080127014118]
2535[Fixed warnings in main/DynFlags
2536Twan van Laarhoven <twanvl@gmail.com>**20080127012443]
2537[Fixed warnings in hsSyn/HsSyn
2538Twan van Laarhoven <twanvl@gmail.com>**20080127004626]
2539[Fixed warnings in hsSyn/HsUtils
2540Twan van Laarhoven <twanvl@gmail.com>**20080127004506]
2541[Fixed warnings in hsSyn/HsTypes
2542Twan van Laarhoven <twanvl@gmail.com>**20080127004419]
2543[Fixed warnings in hsSyn/HsDoc
2544Twan van Laarhoven <twanvl@gmail.com>**20080127004359]
2545[Fixed warnings in hsSyn/HsLit
2546Twan van Laarhoven <twanvl@gmail.com>**20080127004330]
2547[Fixed warnings in hsSyn/HsImpExp, except for incomplete pattern matches
2548Twan van Laarhoven <twanvl@gmail.com>**20080127004254]
2549[Fixed warnings in hsSyn/HsPat, except for incomplete pattern matches
2550Twan van Laarhoven <twanvl@gmail.com>**20080127004209]
2551[Fixed warnings in hsSyn/HsBinds, except for incomplete pattern matches
2552Twan van Laarhoven <twanvl@gmail.com>**20080127004119]
2553[Fixed warnings in hsSyn/HsDecls, except for incomplete pattern matches
2554Twan van Laarhoven <twanvl@gmail.com>**20080127004046]
2555[Fixed warnings in simplCore/CSE
2556Twan van Laarhoven <twanvl@gmail.com>**20080126233918]
2557[Fixed warnings in profiling/CostCentre, except for incomplete pattern matches
2558Twan van Laarhoven <twanvl@gmail.com>**20080126232841]
2559[Fixed warnings in types/InstEnv
2560Twan van Laarhoven <twanvl@gmail.com>**20080126231732]
2561[Fixed warnings in types/FamInstEnv
2562Twan van Laarhoven <twanvl@gmail.com>**20080126231426]
2563[Fixed warnings in simplStg/SRT, except for incomplete pattern matches
2564Twan van Laarhoven <twanvl@gmail.com>**20080126230900]
2565[Fixed warnings in simplStg/StgStats, except for incomplete pattern matches
2566Twan van Laarhoven <twanvl@gmail.com>**20080126230830]
2567[Fixed warnings in simplStg/SimplStg
2568Twan van Laarhoven <twanvl@gmail.com>**20080126230805]
2569[Fixed warnings in vectorise/VectUtils
2570Twan van Laarhoven <twanvl@gmail.com>**20080126223033]
2571[Fixed warnings in types/Generics
2572Twan van Laarhoven <twanvl@gmail.com>**20080126222817]
2573[Fixed warnings in stgSyn/StgSyn
2574Twan van Laarhoven <twanvl@gmail.com>**20080126221010]
2575[Fixed warnings in types/TyCon
2576Twan van Laarhoven <twanvl@gmail.com>**20080126215800]
2577[Fixed warnings in types/Type, except for incomplete pattern matches
2578Twan van Laarhoven <twanvl@gmail.com>**20080126214126]
2579[Fixed warnings in types/TypeRep
2580Twan van Laarhoven <twanvl@gmail.com>**20080126211722]
2581[Fixed warnings in types/FunDeps
2582Twan van Laarhoven <twanvl@gmail.com>**20080126203050]
2583[Fixed warnings in basicTypes/OccName
2584Twan van Laarhoven <twanvl@gmail.com>**20080126202737]
2585[Fixed warnings in basicTypes/RdrName
2586Twan van Laarhoven <twanvl@gmail.com>**20080126202104]
2587[Fixed warnings in utils/Encoding
2588Twan van Laarhoven <twanvl@gmail.com>**20080126201235]
2589[Fixed warnings in utils/Digraph
2590Twan van Laarhoven <twanvl@gmail.com>**20080126200754]
2591[Fixed warnings in basicTypes/Demand
2592Twan van Laarhoven <twanvl@gmail.com>**20080126195929]
2593[Fixed warnings in basicTypes/Unique
2594Twan van Laarhoven <twanvl@gmail.com>**20080126195459]
2595[Fixed warnings in coreSyn/ExternalCore
2596Twan van Laarhoven <twanvl@gmail.com>**20080126194759]
2597[Fixed warnings in simplCore/OccurAnal
2598Twan van Laarhoven <twanvl@gmail.com>**20080126194426]
2599[Fixed warnings in basicTypes/BasicTypes
2600Twan van Laarhoven <twanvl@gmail.com>**20080126194255]
2601[Fixed warnings in basicTypes/Literal, except for incomplete pattern matches
2602Twan van Laarhoven <twanvl@gmail.com>**20080126193209]
2603[Fixed warnings in basicTypes/Id
2604Twan van Laarhoven <twanvl@gmail.com>**20080126192817]
2605[Fixed warnings in basicTypes/Var
2606Twan van Laarhoven <twanvl@gmail.com>**20080126191939]
2607[Fixed warnings in basicTypes/Name
2608Twan van Laarhoven <twanvl@gmail.com>**20080126191501]
2609[Fixed warnings in types/Coercion, except for incomplete pattern matches
2610Twan van Laarhoven <twanvl@gmail.com>**20080126190735]
2611[Fixed warnings in coreSyn/MkExternalCore, except for incomplete pattern matches
2612Twan van Laarhoven <twanvl@gmail.com>**20080126012807]
2613[Fixed warnings in coreSyn/PprExternalCore
2614Twan van Laarhoven <twanvl@gmail.com>**20080125162418]
2615[Fixed warnings in coreSyn/CoreUtils, except for incomplete pattern matches
2616Twan van Laarhoven <twanvl@gmail.com>**20080125161800]
2617[Fixed warnings in coreSyn/CoreUnfold
2618Twan van Laarhoven <twanvl@gmail.com>**20080125161308]
2619[Fixed warnings in coreSyn/CorePrep
2620Twan van Laarhoven <twanvl@gmail.com>**20080125161051]
2621[Fixed warnings in coreSyn/CoreSubst
2622Twan van Laarhoven <twanvl@gmail.com>**20080125161002]
2623[Fixed warnings in coreSyn/CoreLint
2624Twan van Laarhoven <twanvl@gmail.com>**20080125160809]
2625[Fixed warnings in coreSyn/CoreFVs, except for incomplete pattern matches
2626Twan van Laarhoven <twanvl@gmail.com>**20080125160716]
2627[Fixed warnings in types/Class
2628Twan van Laarhoven <twanvl@gmail.com>**20080125160438]
2629[Fix warnings in coreSyn/CoreTidy
2630Twan van Laarhoven <twanvl@gmail.com>**20080118165559]
2631[Fix warnings in coreSyn/CoreSyn
2632Twan van Laarhoven <twanvl@gmail.com>**20080118165506]
2633[Strictness tweaks
2634Ian Lynagh <igloo@earth.li>**20080125174347]
2635[Parser tweak
2636Ian Lynagh <igloo@earth.li>**20080125145847]
2637[A couple more parser tweaks
2638Ian Lynagh <igloo@earth.li>**20080125143421]
2639[Make comb[234] strict
2640Ian Lynagh <igloo@earth.li>**20080124183149]
2641[Strictness tweaks
2642Ian Lynagh <igloo@earth.li>**20080124183142]
2643[Tell happy to be strict
2644Ian Lynagh <igloo@earth.li>**20080124165214]
2645[Make the Parser Monad's return strict
2646Ian Lynagh <igloo@earth.li>**20080124155827]
2647[Get a bit of sharing
2648Ian Lynagh <igloo@earth.li>**20080124152000]
2649[Make sL strict in /both/ arguments to L
2650Ian Lynagh <igloo@earth.li>**20080124151223]
2651[A touch more strictness in the parser
2652Ian Lynagh <igloo@earth.li>**20080124150137]
2653[Add a bit of strictness to the parser
2654Ian Lynagh <igloo@earth.li>**20080124145311]
2655[Use nilFS
2656Ian Lynagh <igloo@earth.li>**20080123211917]
2657[Whitespace only
2658Ian Lynagh <igloo@earth.li>**20080123174153]
2659[Fix #2062: foldr1 problem in hpc tool
2661[Fix do-notation so that it works with -DDEBUG
2663[Be a little keener to inline
2666 This is really a bug.  A saturated call in an "interesting" context
2667 should inline, but there was a strange "n_val_args > 0" condition, which
2668 was stopping it.  Reported by Roman.
2672[Fix the build
2673Ian Lynagh <igloo@earth.li>**20080124141800
2674 Work around various problems caused by some of the monadification patches
2675 not being applied.
2677[Replace ioToTcRn with liftIO
2678Twan van Laarhoven <twanvl@gmail.com>**20080117220553]
2679[Remove unused custom versions of monad combinators from IOEnv
2680Twan van Laarhoven <twanvl@gmail.com>**20080117215835]
2681[Remove unused custom versions of monad combinators from UniqSupply
2682Twan van Laarhoven <twanvl@gmail.com>**20080117215752]
2683[Replace remaining uses of ioToIOEnv by liftIO, remove ioToIOEnv
2684Twan van Laarhoven <twanvl@gmail.com>**20080117215233]
2685[Monadify iface/BuildTyCl: use return
2686Twan van Laarhoven <twanvl@gmail.com>**20080117215036]
2687[Monadify iface/TcIface: use do, return, applicative, standard monad functions
2688Twan van Laarhoven <twanvl@gmail.com>**20080117214938]
2689[Monadify iface/MkIface: use do, return and standard monad functions
2690Twan van Laarhoven <twanvl@gmail.com>**20080117214441]
2691[Monadify iface/LoadIface: use return and liftIO
2692Twan van Laarhoven <twanvl@gmail.com>**20080117214233]
2693[Monadify iface/IfaceEnv: use do, return and standard monad functions
2694Twan van Laarhoven <twanvl@gmail.com>**20080117214041]
2695[Monadify typecheck/TcRnMonad: use return, standard monad functions and liftIO
2696Twan van Laarhoven <twanvl@gmail.com>**20080117213850]
2697[Monadify typecheck/TcEnv: use do, return, applicative, standard monad functions
2698Twan van Laarhoven <twanvl@gmail.com>**20080117213636]
2699[Monadify typecheck/TcRnDriver: use return and standard monad functions
2700Twan van Laarhoven <twanvl@gmail.com>**20080117213352]
2701[Monadify typecheck/TcMatches: use return and standard monad functions
2702Twan van Laarhoven <twanvl@gmail.com>**20080117213307]
2703[Monadify typecheck/TcMType: use do, return, applicative, standard monad functions
2704Twan van Laarhoven <twanvl@gmail.com>**20080117213242]
2705[Monadify typecheck/TcInstDcls: use do, return and standard monad functions
2706Twan van Laarhoven <twanvl@gmail.com>**20080117213040]
2707[Monadify typecheck/TcHsType: use do, return and standard monad functions
2708Twan van Laarhoven <twanvl@gmail.com>**20080117212822]
2709[Monadify typecheck/TcSimplify: use do, return and standard monad functions
2710Twan van Laarhoven <twanvl@gmail.com>**20080117212200]
2711[Monadify typecheck/TcSplice: use do and return
2712Twan van Laarhoven <twanvl@gmail.com>**20080117211911]
2713[Monadify typecheck/TcTyClsDecls: use return and standard monad functions
2714Twan van Laarhoven <twanvl@gmail.com>**20080117211746]
2715[Monadify typecheck/TcDefaults: use return and standard monad functions
2716Twan van Laarhoven <twanvl@gmail.com>**20080117211558]
2717[Monadify typecheck/TcDeriv: use return
2718Twan van Laarhoven <twanvl@gmail.com>**20080117211507]
2719[Monadify typecheck/TcClassDcl: use do, return and standard monad functions
2720Twan van Laarhoven <twanvl@gmail.com>**20080117211439]
2721[Monadify typecheck/TcBinds: use do, return and standard monad functions
2722Twan van Laarhoven <twanvl@gmail.com>**20080117211035]
2723[Monadify typecheck/TcArrows: use do and return
2724Twan van Laarhoven <twanvl@gmail.com>**20080117210818]
2725[Monadify typecheck/Inst: use do, return and standard monad functions
2726Twan van Laarhoven <twanvl@gmail.com>**20080117210655]
2727[Monadify typecheck/TcUnify: use do, return and standard monad functions
2728Twan van Laarhoven <twanvl@gmail.com>**20080117210213
2729   there may be some accidental tab->space conversion
2731[Monadify typecheck/TcTyFuns: use standard monad functions
2732Twan van Laarhoven <twanvl@gmail.com>**20080117205505]
2733[Monadify typecheck/TcPat: use return and standard monad functions
2734Twan van Laarhoven <twanvl@gmail.com>**20080117205423]
2735[Monadify typecheck/TcRules: use do, return and standard monad functions
2736Twan van Laarhoven <twanvl@gmail.com>**20080117205307]
2737[Monadify typecheck/TcForeign: use do, return and standard monad functions
2738Twan van Laarhoven <twanvl@gmail.com>**20080117204934]
2739[Monadify typecheck/TcExpr: use do, return and standard monad functions
2740Twan van Laarhoven <twanvl@gmail.com>**20080117204603]
2741[Monadify specialise/Specialise: use do, return, standard monad functions and MonadUnique
2742Twan van Laarhoven <twanvl@gmail.com>**20080117204330]
2743[Monadify specialise/SpecConstr: use do, return and standard monad functions
2744Twan van Laarhoven <twanvl@gmail.com>**20080117203842]
2745[Monadify stgSyn/StgLint
2746Twan van Laarhoven <twanvl@gmail.com>**20080117203042
2747  - made LintM a newtype instead of a type synonym
2748  - use do, return and standard monad functions
2749  - use MaybeT where `thenMaybeL` was used
2750  - removed custom versions of monad functions
2753[Monadify stgSyn/CoreToStg
2754Twan van Laarhoven <twanvl@gmail.com>**20080117202619
2755  - made LneM a newtype instead of a type synonym
2756  - use do, return and standard monad functions
2757  - removed custom versions of monad functions
2759[Remove generic monad function from State, it was moved to MonadUtils
2760Twan van Laarhoven <twanvl@gmail.com>**20080117202144]
2761[Added MaybeT monad transformer to utils/Maybes
2762Twan van Laarhoven <twanvl@gmail.com>**20080117202051]
2763[Removed unused Maybe functions, use the standard Maybe monad instead
2764Twan van Laarhoven <twanvl@gmail.com>**20080117201953]
2765[MonadIO instance for IOEnv
2766Twan van Laarhoven <twanvl@gmail.com>**20080117201812]
2767[Monadify simplCore/SimplMonad: custom monad functions are no longer needed
2768Twan van Laarhoven <twanvl@gmail.com>**20080117200354]
2769[Monadify simplCore/SimplMonad: use MonadUnique instance instead of custom functions
2770Twan van Laarhoven <twanvl@gmail.com>**20080117200228]
2771[Monadify simplCore/SetLevels: use do, return, standard monad functions and MonadUnique
2772Twan van Laarhoven <twanvl@gmail.com>**20080117195958]
2773[Monadify simplCore/SimplUtils: use do, return, standard monad functions and MonadUnique
2774Twan van Laarhoven <twanvl@gmail.com>**20080117195625]
2775[Monadify simplCore/Simplify: use do and return
2776Twan van Laarhoven <twanvl@gmail.com>**20080117195408]
2777[Monadify simplCore/SimplEnv: use standard monad functions
2778Twan van Laarhoven <twanvl@gmail.com>**20080117195255]
2779[Monadify simplCore/SimplCore: use do, return and standard monad functions
2780Twan van Laarhoven <twanvl@gmail.com>**20080117195149]
2781[Monadify profiling/SCCfinal
2782Twan van Laarhoven <twanvl@gmail.com>**20080117194417
2783   - change monad type synonym into a newtype
2784   - use do, return and standard monad functions
2786[Monadify coreSyn/CorePrep: use do, return, applicative, standard monad functions
2787Twan van Laarhoven <twanvl@gmail.com>**20080117193154]
2788[Monadify rename/RnTypes: use do, return and standard monad functions
2789Twan van Laarhoven <twanvl@gmail.com>**20080117190823]
2790[Monadify rename/RnPat: use do, return and standard monad functions
2791Twan van Laarhoven <twanvl@gmail.com>**20080117190033]
2792[Monadify rename/RnNames: use return and standard monad functions
2793Twan van Laarhoven <twanvl@gmail.com>**20080117185837]
2794[seqMaybe is more commonly known as mplus
2795Twan van Laarhoven <twanvl@gmail.com>**20080117185330]
2796[Monadify rename/RnBinds: use do, return and standard monad functions
2797Twan van Laarhoven <twanvl@gmail.com>**20080117184354]
2798[Monadify stranal/StrictAnal: use the State monad instead of a custom thing
2799Twan van Laarhoven <twanvl@gmail.com>**20080117180449]
2800[Monadify stranal/WwLib: use do, return, applicative, standard monad functions
2801Twan van Laarhoven <twanvl@gmail.com>**20080117180022]
2802[Added MonadUnique class for monads that have a unique supply
2803Twan van Laarhoven <twanvl@gmail.com>**20080117175616]
2804[Monadify stranal/WorkWrap: use do, return, applicative, standard monad functions
2805Twan van Laarhoven <twanvl@gmail.com>**20080117175007]
2806[Added Applicative and Functor instances for State monad
2807Twan van Laarhoven <twanvl@gmail.com>**20080117174656]
2808[Monadify deSugar/DsMonad: use do, return, applicative, standard monad functions
2809Twan van Laarhoven <twanvl@gmail.com>**20080117174432]
2810[Monadify deSugar/Desugar: use do, return, applicative, standard monad functions
2811Twan van Laarhoven <twanvl@gmail.com>**20080117174130]
2812[Monadify deSugar/DsUtils: use do, return, applicative, standard monad functions
2813Twan van Laarhoven <twanvl@gmail.com>**20080117173856]
2814[Monadify deSugar/DsListComp: use do, return, applicative, standard monad functions
2815Twan van Laarhoven <twanvl@gmail.com>**20080117173205]
2816[Monadify deSugar/DsForeign: use do, return, applicative, standard monad functions
2817Twan van Laarhoven <twanvl@gmail.com>**20080117172843]
2818[Monadify deSugar/DsGRHSs: use do, return, applicative, standard monad functions
2819Twan van Laarhoven <twanvl@gmail.com>**20080117172228]
2820[Monadify deSugar/DsExpr: use do, return, applicative, standard monad functions
2821Twan van Laarhoven <twanvl@gmail.com>**20080117164055]
2822[Added Applicative instance for IOEnv
2823Twan van Laarhoven <twanvl@gmail.com>**20080117162644]
2824[Add 'util/MonadUtils.hs' with common monad (and applicative) combinators
2825Twan van Laarhoven <twanvl@gmail.com>**20080117161939]
2826[Monadify deSugar/MatchLit: use do, return, applicative, standard monad functions
2827Twan van Laarhoven <twanvl@gmail.com>**20080117173439]
2828[Monadify deSugar/Match: use do, return, applicative, standard monad functions
2829Twan van Laarhoven <twanvl@gmail.com>**20080117173336]
2830[Monadify deSugar/DsCCall: use do, return, applicative, standard monad functions
2831Twan van Laarhoven <twanvl@gmail.com>**20080117165334]
2832[Monadify deSugar/DsArrows: use do, return, applicative, standard monad functions
2833Twan van Laarhoven <twanvl@gmail.com>**20080117165114]
2834[Monadify deSugar/DsBinds: use do, return, applicative, standard monad functions
2835Twan van Laarhoven <twanvl@gmail.com>**20080117164746]
2836[Added MASSERT macro for assertions in do notation
2837Twan van Laarhoven <twanvl@gmail.com>**20080117163112]
2838[FIX BUILD wrong imports on non-Windows
2839Simon Marlow <simonmar@microsoft.com>**20080124092935]
2840[Show CmdLineError exceptions as "<command line>: ..."
2841Simon Marlow <simonmar@microsoft.com>**20080123163145
2842 instead of something like "ghc-6.8.2: ...", which causes problems in
2843 the test suite.  In any case, "<command line>" seems a more
2844 appropriate context for these errors, the only question is whether
2845 we're using CmdLineError incorrectly anywhere.
2847[FIX #1750: in isBrokenPackage, don't loop if the deps are recursive
2848Simon Marlow <simonmar@microsoft.com>**20080123160703]
2849[FIX #1750: throw out mutually recursive groups of packages
2850Simon Marlow <simonmar@microsoft.com>**20080123160635]
2851[Windows now doesn't need different values for DQ in the build system
2852Ian Lynagh <igloo@earth.li>**20080123173933]
2853[Fix setting argv[0] in shell-utils.c on Windows
2854Ian Lynagh <igloo@earth.li>**20080123160139]
2855[Escape arguments for Windows in shell-tools.c
2856Ian Lynagh <igloo@earth.li>**20080123151724]
2857[Attach the INLINE Activation pragma to any automatically-generated specialisations
2860 Another idea suggested by Roman, happily involving a one-line change.  Here's
2861 the new Note in Specialise:
2863 Note [Auto-specialisation and RULES]
2864 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2865 Consider:
2866    g :: Num a => a -> a
2867    g = ...
2869    f :: (Int -> Int) -> Int
2870    f w = ...
2871    {-# RULE f g = 0 #-}
2873 Suppose that auto-specialisation makes a specialised version of
2874 g::Int->Int That version won't appear in the LHS of the RULE for f.
2875 So if the specialisation rule fires too early, the rule for f may
2876 never fire.
2878 It might be possible to add new rules, to "complete" the rewrite system.
2879 Thus when adding
2880        RULE forall d. g Int d = g_spec
2881 also add
2882        RULE f g_spec = 0
2884 But that's a bit complicated.  For now we ask the programmer's help,
2885 by *copying the INLINE activation pragma* to the auto-specialised rule.
2886 So if g says {-# NOINLINE[2] g #-}, then the auto-spec rule will also
2887 not be active until phase 2.
2890[Tidy up the treatment of SPECIALISE pragmas
2893 Remove the now-redundant "const-dicts" field in SpecPrag
2895 In dsBinds, abstract over constant dictionaries in the RULE.
2896 This avoids the creation of a redundant, duplicate, rule later
2897 in the Specialise pass, which was happening before.
2899 There should be no effect on performance either way, just less
2900 duplicated code, and the compiler gets a little simpler.
2903[Comments only
2905[FIX #1838, #1987: change where GHCi searches for config files
2906Simon Marlow <simonmar@microsoft.com>**20080123143207
2908 6.6 behaviour:
2909   - ./.ghci
2910   - $HOME/.ghci
2912 6.8.[12] behaviour:
2913   - ./.ghci
2914   - Windows: c:/Documents and Settings/<user>/.ghci
2915   - Unix: $HOME/.ghci
2917 6.10 (and 6.8.3 when this is merged):
2918   - ./.ghci
2919   - Windows: c:/Documents and Settings/<user>/Application Data/ghc/ghci.conf
2920   - Unix: $HOME/.ghc/ghci.conf
2921   - $HOME/.ghci
2923 We will need to document this in the 6.8.3 release notes because it
2924 may affect Windows users who have adapted their setup to 6.8.[12].
2926[FIX #1767 :show documentation claimed too much
2927Simon Marlow <simonmar@microsoft.com>**20080122152943
2928 Also put the :help docs back within 80 columns
2930[fix syntax-error output for :show
2931Simon Marlow <simonmar@microsoft.com>**20080122144923]
2932[This goes with the patch for #1839, #1463
2933Simon Marlow <simonmar@microsoft.com>**20080122161811]
2934[use pathSeparator instead of '/'
2935Simon Marlow <simonmar@microsoft.com>**20080122140957]
2936[cleanup only
2937Simon Marlow <simonmar@microsoft.com>**20080122132047]
2938[FIX #1839, #1463, by supporting ghc-pkg bulk queries with substring matching
2941    - #1839 asks for a ghc-pkg dump feature, #1463 for the ability
2942      to query the same fields in several packages at once.
2944    - this patch enables substring matching for packages in 'list',
2945      'describe', and 'field', and for modules in find-module. it
2946      also allows for comma-separated multiple fields in 'field'.
2947      substring matching can optionally ignore cases to avoid the
2948      rather unpredictable capitalisation of packages.
2950    - the patch is not quite as full-featured as the one attached
2951      to #1839, but avoids the additional dependency on regexps.
2952      open ended substrings are indicated by '*' (only the three
2953      forms prefix*, *suffix, *infix* are supported)
2955    - on windows, the use of '*' for package/module name globbing
2956      leads to conflicts with filename globbing: by default, windows
2957      programs are self-globbing, and bash adds another level of
2958      globbing on top of that. it seems impossible to escape '*'
2959      from both levels of globbing, so we disable default globbing
2960      for ghc-pkg and ghc-pkg-inplace. users of bash will still
2961      have filename globbing available, users of cmd won't.
2963    - if it is considered necessary to reenable filename globbing
2964      for cmd users, it should be done selectively, only for
2965      filename parameters. to this end, the patch includes a
2966      glob.hs program which simply echoes its parameters after
2967      filename globbing. see the commented out glob command in
2968      Main.hs for usage or testing.
2970    - this covers both tickets, and permits for the most common
2971      query patterns (finding all packages contributing to the
2972      System. hierarchy, finding all regex or string packages,
2973      listing all package maintainers or haddock directories,
2974      ..), which not only i have wanted to have for a long time.
2976      examples (the quotes are needed to escape shell-based
2977      filename globbing and should be omitted in cmd.exe):
2979        ghc-pkg list '*regex*' --ignore-case
2980        ghc-pkg list '*string*' --ignore-case
2981        ghc-pkg list '*gl*' --ignore-case
2982        ghc-pkg find-module 'Data.*'
2983        ghc-pkg find-module '*Monad*'
2984        ghc-pkg field '*' name,maintainer
2985        ghc-pkg field '*' haddock-html
2986        ghc-pkg describe '*'
2990[Wibble to the OccurAnal fix for RULEs and loop-breakers
2992[FIX #2049, another problem with the module context on :reload
2993Simon Marlow <simonmar@microsoft.com>**20080121145935
2994 The previous attempt to fix this (#1873, #1360) left a problem that
2995 occurred when the first :load of the program failed (#2049). 
2997 Now I've implemented a different strategy: between :loads, we remember
2998 all the :module commands, and just replay them after a :reload.  This
2999 is in addition to remembering all the package modules added with
3000 :module, which is orthogonal.
3002 This approach is simpler than the previous one, and seems to do the
3003 right thing in all the cases I could think of.  Let's hope this is the
3004 last bug in this series...
3006[Increase the bar for bootstrapping GHC to 6.4 (HEAD only)
3007Simon Marlow <simonmar@microsoft.com>**20080121111835
3008  - remove $(ghc_ge_601), $(ghc_ge_602), $(ghc_ge_603)
3009  - configure now checks the GHC version number
3010  - there are probably various cleanups that we can now do in compat/
3011    and compiler/, but I haven't done those yet.
3013[Do not worker/wrapper INLINE things, even if they are in a recursive group
3016 This patch stops the worker/wrapper transform working on an INLINE thing,
3017 even if it's in a recursive group.  It might not be the loop breaker.  Indeed
3018 a recursive group might have no loop breaker, if the only recursion is
3019 through rules.
3021 Again, this change was provoked by one of Roman's NDP libraries.
3022 Specifically the Rec { splitD, splitJoinD } group in
3023        Data.Array.Parallel.Unlifted.Distributed.Arrays
3025 Simon
3028[Make the loop-breaking algorithm a bit more liberal, where RULES are involved
3031 This is another gloss on the now-quite-subtle and heavily-documented algorithm
3032 for choosing loop breakers.
3034 This fix, provoked by Roman's NDP library, makes sure that when we are choosing
3035 a loop breaker we only take into account variables free on the *rhs* of a rule
3036 not the *lhs*.
3038 Most of the new lines are comments!
3041[Fix Trac #2055
3044 Sorry, this was my fault, a consequence of the quasi-quoting patch. 
3046 I've added rn062 as a test.
3050[Fix exception message with ghc -e
3051Ian Lynagh <igloo@earth.li>**20080121104142
3052 When running with ghc -e, exceptions should claim to be from the program
3053 that we are running, not ghc.
3055[Fix warnings in main/CmdLineParser
3056Ian Lynagh <igloo@earth.li>**20080121103158]
3057[Normalise FilePaths before printing them
3058Ian Lynagh <igloo@earth.li>**20080120193002]
3059[Tweak runghc
3060Ian Lynagh <igloo@earth.li>**20080120184639]
3061[Fix catching exit exceptions in ghc -e
3062Ian Lynagh <igloo@earth.li>**20080120170236]
3063[Typo in phase-control documentation
3065[Fix warnings in main/Main
3066Ian Lynagh <igloo@earth.li>**20080119235914]
3067[Support multiple -e flags
3068Ian Lynagh <igloo@earth.li>**20080119223036]
3069[Fix ghc -e :main (it was enqueuing the main function, but not running it)
3070Ian Lynagh <igloo@earth.li>**20080119220044]
3071[Fix whitespace
3072Ian Lynagh <igloo@earth.li>**20080119212830]
3073[Fix giving an error if we are given conflicting mode flags
3074Ian Lynagh <igloo@earth.li>**20080119212602]
3075[Add :run and tweak :main
3076Ian Lynagh <igloo@earth.li>**20080119164923
3077 You can now give :main a Haskell [String] as an argument, e.g.
3078 :main ["foo", "bar"]
3079 and :run is a variant that takes the name of the function to run.
3080 Also, :main now obeys the -main-is flag.
3082[Make MacFrameworks a subdirectory of distrib, since it isn't used in the normal building process.
3084[Add scripts for building GMP.framework and GNUreadline.framework (OS X).
3086[Use -framework-path flags during the cc phase.  Fixes trac #1975.
3088[FIX #1821 (Parser or lexer mess-up)
3090[Improve the error when :list can't find any code to show
3091Ian Lynagh <igloo@earth.li>**20080118225655]
3092[Fix imports when !DEBUG
3093Ian Lynagh <igloo@earth.li>**20080118180126]
3094[Tweak the splitter
3095Ian Lynagh <igloo@earth.li>**20080116195612
3096 We were generating a label ".LnLC7", which the splitter was confusing
3097 with a literal constant (LC). The end result was the assembler tripping
3098 up on ".Ln.text".
3100[Wibble to SetLevels.abstractVars
3103 I've gotten this wrong more than once.  Hopefully this has it nailed.
3104 The issue is that in float-out we must abstract over the correct
3105 variables.
3109[Add quasi-quotation, courtesy of Geoffrey Mainland
3112 This patch adds quasi-quotation, as described in
3113   "Nice to be Quoted: Quasiquoting for Haskell"
3114        (Geoffrey Mainland, Haskell Workshop 2007)
3115 Implemented by Geoffrey and polished by Simon.
3117 Overview
3118 ~~~~~~~~
3119 The syntax for quasiquotation is very similar to the existing
3120 Template haskell syntax:
3121        [$q| stuff |]
3122 where 'q' is the "quoter".  This syntax differs from the paper, by using
3123 a '$' rather than ':', to avoid clashing with parallel array comprehensions.
3125 The "quoter" is a value of type Language.Haskell.TH.Quote.QuasiQuoter, which
3126 contains two functions for quoting expressions and patterns, respectively.
3128      quote = Language.Haskell.TH.Quote.QuasiQuoter quoteExp quotePat
3130      quoteExp :: String -> Language.Haskell.TH.ExpQ
3131      quotePat :: String -> Language.Haskell.TH.PatQ
3133 TEXT is passed unmodified to the quoter. The context of the
3134 quasiquotation statement determines which of the two quoters is
3135 called: if the quasiquotation occurs in an expression context,
3136 quoteExp is called, and if it occurs in a pattern context, quotePat
3137 is called.
3139 The result of running the quoter on its arguments is spliced into
3140 the program using Template Haskell's existing mechanisms for
3141 splicing in code. Note that although Template Haskell does not
3142 support pattern brackets, with this patch binding occurrences of
3143 variables in patterns are supported. Quoters must also obey the same
3144 stage restrictions as Template Haskell; in particular, in this
3145 example quote may not be defined in the module where it is used as a
3146 quasiquoter, but must be imported from another module.
3148 Points to notice
3149 ~~~~~~~~~~~~~~~~
3150 * The whole thing is enabled with the flag -XQuasiQuotes
3152 * There is an accompanying patch to the template-haskell library. This
3153   involves one interface change:
3154        currentModule :: Q String
3155   is replaced by
3156        location :: Q Loc
3157   where Loc is a data type defined in TH.Syntax thus:
3158       data Loc
3159         = Loc { loc_filename :: String
3160              , loc_package  :: String
3161              , loc_module   :: String
3162              , loc_start    :: CharPos
3163              , loc_end      :: CharPos }
3165       type CharPos = (Int, Int)        -- Line and character position
3167   So you get a lot more info from 'location' than from 'currentModule'.
3168   The location you get is the location of the splice.
3170   This works in Template Haskell too of course, and lets a TH program
3171   generate much better error messages.
3173 * There's also a new module in the template-haskell package called
3174   Language.Haskell.TH.Quote, which contains support code for the
3175   quasi-quoting feature.
3177 * Quasi-quote splices are run *in the renamer* because they can build
3178   *patterns* and hence the renamer needs to see the output of running the
3179   splice.  This involved a bit of rejigging in the renamer, especially
3180   concerning the reporting of duplicate or shadowed names.
3182   (In fact I found and removed a few calls to checkDupNames in RnSource
3183   that are redundant, becuase top-level duplicate decls are handled in
3184   RnNames.)
3189[lots of portability changes (#1405)
3190Isaac Dupree <id@isaac.cedarswampstudios.org>**20080117011312
3192 re-recording to avoid new conflicts was too hard, so I just put it
3193 all in one big patch :-(  (besides, some of the changes depended on
3194 each other.)  Here are what the component patches were:
3196 Fri Dec 28 11:02:55 EST 2007  Isaac Dupree <id@isaac.cedarswampstudios.org>
3197   * document BreakArray better
3199 Fri Dec 28 11:39:22 EST 2007  Isaac Dupree <id@isaac.cedarswampstudios.org>
3200   * properly ifdef BreakArray for GHCI
3202 Fri Jan  4 13:50:41 EST 2008  Isaac Dupree <id@isaac.cedarswampstudios.org>
3203   * change ifs on __GLASGOW_HASKELL__ to account for... (#1405)
3204   for it not being defined. I assume it being undefined implies
3205   a compiler with relatively modern libraries but without most
3206   unportable glasgow extensions.
3208 Fri Jan  4 14:21:21 EST 2008  Isaac Dupree <id@isaac.cedarswampstudios.org>
3209   * MyEither-->EitherString to allow Haskell98 instance
3211 Fri Jan  4 16:13:29 EST 2008  Isaac Dupree <id@isaac.cedarswampstudios.org>
3212   * re-portabilize Pretty, and corresponding changes
3214 Fri Jan  4 17:19:55 EST 2008  Isaac Dupree <id@isaac.cedarswampstudios.org>
3215   * Augment FastTypes to be much more complete
3217 Fri Jan  4 20:14:19 EST 2008  Isaac Dupree <id@isaac.cedarswampstudios.org>
3218   * use FastFunctions, cleanup FastString slightly
3220 Fri Jan  4 21:00:22 EST 2008  Isaac Dupree <id@isaac.cedarswampstudios.org>
3221   * Massive de-"#", mostly Int# --> FastInt (#1405)
3223 Fri Jan  4 21:02:49 EST 2008  Isaac Dupree <id@isaac.cedarswampstudios.org>
3224   * miscellaneous unnecessary-extension-removal
3226 Sat Jan  5 19:30:13 EST 2008  Isaac Dupree <id@isaac.cedarswampstudios.org>
3227   * add FastFunctions
3230[Add missing extendSubst
3233 Oops -- missed this from previous commit; sorry
3236[Add -fspec-inline-join-points to SpecConstr
3239 This patch addresses a problem that Roman found in SpecConstr.  Consider:
3241 foo :: Maybe Int -> Maybe Int -> Int
3242 foo a b = let j b = foo a b
3243            in
3244            case b of
3245              Nothing -> ...
3246              Just n  -> case a of
3247                           Just m  -> ... j (Just (n+1)) ...
3248                           Nothing -> ... j (Just (n-1)) ...
3250 We want to make specialised versions for 'foo' for the patterns
3251        Nothing  (Just v)
3252        (Just a) (Just b)
3254 Two problems, caused by the join point j.  First, j does not
3255 scrutinise b, so j won't be specialised f for the (Just v) pattern.
3256 Second, j is defined where the free var 'a' is not evaluated.
3258 Both are solved by brutally inlining j at its call sites.  This risks
3259 major code bloat, but it's relatively quick to implement.  The flag
3260        -fspec-inline-join-points
3261 causes brutal inlining for a
3262        non-recursive binding
3263        of a function
3264        whose RHS contains calls
3265        of a recursive function
3267 The (experimental) flag is static for now, and I have not even
3268 documented it properly.
3272[Fix references to Filepath
3273Clemens Fruhwirth <clemens@endorphin.org>**20080117134139]
3274[Fix egregious error in earlier "Record evaluated-ness" patch
3276[Eliminate warnings with -DDEBUG
3278[Record evaluated-ness information correctly for strict constructors
3281 The add_evals code in Simplify.simplAlt had bit-rotted.  Example:
3283   data T a = T !a
3284   data U a = U !a
3286   foo :: T a -> U a
3287   foo (T x) = U x
3289 Here we should not evaluate x before building the U result, because
3290 the x argument of T is already evaluated.
3292 Thanks to Roman for finding this.
3296[In float-out, make sure we abstract over the type variables in the kind of a coercion
3299 I can't remember where this bug showed up, but we were abstracting over a
3300 coercion variable (co :: a ~ T), without also abstracting over 'a'.
3302 The fix is simple.
3305[Fix broken debug warning
3307[Complain sensibly if you try to use scoped type variables in Template Haskell
3310 This fixes Trac #2024; worth merging onto 6.8 branch.
3313[Comments only
3315[Extra instance for Outputable on 5-tuples
3317[Fix the -frule-check pass
3320 Rules for imported things are now kept in the global rule base, not
3321 attached to the global Id.  The rule-check pass hadn't kept up.
3323 This should fix it.
3326[Add dyn-wrapper.c used as cross-plattform launch wrapper for executables using dynamic libraries in non-standard places
3327Clemens Fruhwirth <clemens@endorphin.org>**20080116220603]
3328[Use runPhase_MoveBinary also for generating a dynamic library wrapper
3329Clemens Fruhwirth <clemens@endorphin.org>**20080116220420]
3330[Remove -fhardwire-lib-paths in favour of -dynload sysdep
3331Clemens Fruhwirth <clemens@endorphin.org>**20080110121736]
3332[ghc-inplace defaults to -fhardwire-lib-paths. Change that to -dynload wrapped
3333Clemens Fruhwirth <clemens@endorphin.org>**20080110090839]
3334[Add -dynload flag as dynamic flag.
3335Clemens Fruhwirth <clemens@endorphin.org>**20080116205710]
3336[Add a missing import
3337Ian Lynagh <igloo@earth.li>**20080116174149]
3338[Fix Makefile generatin on Windows
3339Ian Lynagh <igloo@earth.li>**20080116162752]
3340[Fix slash direction on Windows with the new filePath code
3341Ian Lynagh <igloo@earth.li>**20080116154317]
3342[Fix typo
3343Ian Lynagh <igloo@earth.li>**20080116011953]
3344[The Core type-matcher should look through PredTypes
3347 The core type-matcher Unify.match was previouly using tcView to expand
3348 types, because it must treat newtypes as distinct from their representation.
3349 But that meant that it also treated the PredType {C Int} as distinct from
3350 its representation type (:TC Int).  And that in turn was causing a rule
3351 not to fire, because the argument types didn't match up.
3353 For this to happen we need to get a situation where we have
3355   a = :DC blah blah    -- Dictionary
3356   ....(f a).....
3358 Now a has type (:TC Int), bu the RULE for f expects an argument
3359 of type {C Int}.  Roman found that just this was happening.
3365[A bottoming function should have infinite arity
3368 I can't think how this one escaped for so long, but
3369        (error "foo")
3370 should have arityType ABot, just as 'error' itself does.
3372 This improves eta expansion.  I spotted it when looking at the function
3374   Data.Array.Parallel.Arr.BBArr.writeMBB
3376 in the ndp package.
3380[Add Main.dyn_o deployed into the RTS library dir to linking (see DLLNOTES for rational)
3381Clemens Fruhwirth <clemens@endorphin.org>**20080110091217]
3382[Refactor cross-plattform process spawning from ghc-inplace into shell-tools.c
3383Clemens Fruhwirth <clemens@endorphin.org>**20080110090721]
3384[More verbose error reporting in mk/target.mk
3385Clemens Fruhwirth <clemens@endorphin.org>**20071231170715]
3386[Fix generating dependencies for different ways now we use FilePath
3387Ian Lynagh <igloo@earth.li>**20080115204716
3388 We were making filenames like
3389 dist/build/GHC/Base.p_.o
3390 rather than
3391 dist/build/GHC/Base.p_o
3393[Fix utils/Util for debug build
3395[Give an error if view pattern syntax is used in an expression; fixes #2033
3396Ian Lynagh <igloo@earth.li>**20080114115031]
3397[FIX BUILD (Solaris): include fcntl.h for file operations
3398Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080115051844]
3399[Fix warning when USE_READLINE is unset
3400Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080115015014]
3401[Remove an extra ) that was breaking the build on Windows
3402Ian Lynagh <igloo@earth.li>**20080114103953]
3403[Fix warnings in utils/ListSetOps
3404Ian Lynagh <igloo@earth.li>**20080113150017]
3405[Fix warnings in utils/Panic
3406Ian Lynagh <igloo@earth.li>**20080113142939]
3407[Fix warnings in utils/UniqSet
3408Ian Lynagh <igloo@earth.li>**20080113142604]
3409[Fix warnings in utils/Maybes
3410Ian Lynagh <igloo@earth.li>**20080113142347]
3411[Fix warnings in utils/BufWrite
3412Ian Lynagh <igloo@earth.li>**20080113141630]
3413[Fix warnings in utils/FastTypes
3414Ian Lynagh <igloo@earth.li>**20080113141612
3415 Split off a FastBool module, to avoid a circular import with Panic
3417[Fix warnings in utils/OrdList
3418Ian Lynagh <igloo@earth.li>**20080113132042]
3419[Fix warnings in utils/FastMutInt
3420Ian Lynagh <igloo@earth.li>**20080113131830]
3421[Fix warnings in utils/State
3422Ian Lynagh <igloo@earth.li>**20080113131658]
3423[Only initialise readline if we are connected to a terminal
3424Ian Lynagh <igloo@earth.li>**20080113124107
3425 Patch from Bertram Felgenhauer <int-e@gmx.de>
3427[Fix warnings in utils/Util
3428Ian Lynagh <igloo@earth.li>**20080113005832]
3429[Fix warnings in utils/Bag.lhs
3430Ian Lynagh <igloo@earth.li>**20080113002037]
3431[Add GMP_INCLUDE_DIRS in a couple of places
3432Ian Lynagh <igloo@earth.li>**20080112234215
3433 Fixes the build on OpenBSD (trac #2009). Based on a patch from kili.
3435[Tweak whitespace in HsExpr
3436Ian Lynagh <igloo@earth.li>**20080112185753]
3437[Fix warnings in HsExpr
3438Ian Lynagh <igloo@earth.li>**20080112181444]
3439[FilePath fixes
3440Ian Lynagh <igloo@earth.li>**20080112172837]
3441[don't initialize readline needlessly
3442Ian Lynagh <igloo@earth.li>**20080112155413
3443 Readline.initialize spills some escape sequences to stdout for some terminal
3444 types, potentially spoiling  ghc -e  output. So don't initialize readline
3445 unless we're working interactively on a terminal.
3446 Patch from Bertram Felgenhauer <int-e@gmx.de>
3448[Fix whitespace
3449Ian Lynagh <igloo@earth.li>**20080112155214]
3450[Use System.FilePath
3451Ian Lynagh <igloo@earth.li>**20080112154459]
3452[Fix filename completion by adding trailing spaces/slashes manually.
3454[Use command-dependent word break characters for tab completion in ghci.  Fixes bug #998.
3456[Fix 2030: make -XScopedTypeVariables imply -XRelaxedPolyRec
3459 The type checker doesn't support lexically scoped type variables
3460 unless we are using the RelaxedPolyRec option.  Reasons: see
3461 Note [Scoped tyvars] in TcBinds.
3463 So I've changed DynFlags to add this implication, improved the
3464 documentation, and simplified the code in TcBinds somewhat.
3465 (It's longer but only because of comments!)
3469[More refactoring in getCoreToDo
3470Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080109023747]
3471[Document -fsimplifier-phases
3472Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080109022822]
3473[Add -fsimplifier-phases option
3474Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080109022449
3476 It controls the number of simplifier phases run during optimisation. These are
3477 numbered from n to 1 (by default, n=2). Phase 0 is always run regardless of
3478 this flag. The flag is ignored with -O0 since (practically) no optimisation is
3479 performed in that case.
3481[Refactor getCoreToDo slightly
3482Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080109014359]
3483[Fix Trac #2018: float-out was ignoring the kind of a coercion variable
3486 The float-out transformation must handle the case where a coercion
3487 variable is free, which in turn mentions type variables in its kind.
3488 Just like a term variable really.
3490 I did a bit of refactoring at the same time.
3492 Test is tc241
3494 MERGE to stable branch
3497[Make the treatment of equalities more uniform
3500 This patch (which is part of the fix for Trac #2018) makes coercion variables
3501 be handled more uniformly.  Generally, they are treated like dictionaries
3502 in the type checker, not like type variables, but in a couple of places we
3503 were treating them like type variables.  Also when zonking we should use
3504 zonkDictBndr not zonkIdBndr.
3507[Fix Trac #2017
3509[Add -XImpredicativeTypes, and tighten up type-validity checking (cf Trac 2019)
3512 Somehow we didn't have a separate flag for impredicativity; now we do.
3514 Furthermore, Trac #2019 showed up a missing test for monotypes in data
3515 constructor return types.  And I realised that we were even allowing
3516 things like
3517        Num (forall a. a) => ...
3518 which we definitely should not. 
3520 This patch insists on monotypes in several places where we were (wrongly)
3521 too liberal before.
3523 Could be merged to 6.8 but no big deal.
3527[pass -no-user-package-conf to ghc-inplace
3528Simon Marlow <simonmar@microsoft.com>**20080104162840]
3529[Fix build: Recent instance shuffling left us with overlapping instances
3530Ian Lynagh <igloo@earth.li>**20080106221547]
3531[Add instructions for building docs to README
3532Ian Lynagh <igloo@earth.li>**20080106215723]
3533[A little refactoring of GenIfaceEq to make the Outputable instance into H98
3535[Make the instance of DebugNodes more H98-like
3537[change CmmActual, CmmFormal to use a data CmmHinted rather than tuple (#1405)
3538Isaac Dupree <id@isaac.cedarswampstudios.org>**20080104105339
3539 This allows the instance of UserOfLocalRegs to be within Haskell98, and IMHO
3540  makes the code a little cleaner generally.
3541 This is one small (though tedious) step towards making GHC's code more
3542  portable...
3544[generalize instance Outputable GenCmm to H98 (#1405)
3545Isaac Dupree <id@isaac.cedarswampstudios.org>**20071226175915]
3546[move and generalize another instance (#1405)
3547Isaac Dupree <id@isaac.cedarswampstudios.org>**20071226174904
3548 was instance Outputable CmmGraph
3549 type CmmGraph = LGraph Middle Last
3550 now instance (ctx) => Outputable (LGraph m l),
3551 in module with LGraph where it belongs
3552 This also let us reduce the context of DebugNodes to Haskell98,
3553 leaving that class's only extension being multi-parameter.
3554 (also Outputable (LGraph M Last) with M = ExtendWithSpills Middle
3555 was another redundant instance that was then removed)
3557[move and generalize an instance (#1405)
3558Isaac Dupree <id@isaac.cedarswampstudios.org>**20071226171913
3559 UserOfLocalRegs (ZLast Last) isn't Haskell98, but it was just as
3560 good an instance to be UserOfLocalRegs a => UserOfLocalRegs (ZLast a)
3562[Do not consult -XGADTs flag when pattern matching on GADTs
3565 See Trac #2004, and Note [Flags and equational constraints] in TcPat.
3568[Add a note about primop wrappers (cf Trac #1509)
3570[Document SOURCE pragma; clarify TH behavior for mutually-recurive modules (Trac #1012)
3572[White space and comments only
3574[Optionally use libffi to implement 'foreign import "wrapper"' (#793)
3575Simon Marlow <simonmar@microsoft.com>**20080103170236
3576 To enable this, set UseLibFFI=YES in mk/build.mk. 
3578 The main advantage here is that this reduces the porting effort for
3579 new platforms: libffi works on more architectures than our current
3580 adjustor code, and it is probably more heavily tested.  We could
3581 potentially replace our existing code, but since it is probably faster
3582 than libffi (just a guess, I'll measure later) and is already working,
3583 it doesn't seem worthwhile.
3585 Right now, you must have libffi installed on your system.  I used the
3586 one supplied by Debian/Ubuntu.
3588[remove trace apparently left in by accident
3589Simon Marlow <simonmar@microsoft.com>**20080103163805]
3590[Remove -funfolding-update-in-place flag documentation
3593 This flag does nothing, and should have been removed ages ago. (GHC
3594 no longer does update-in-place.)
3596 MERGE to 6.8 branch
3599[Fix warnings with newer gcc versions (I hope)
3600Simon Marlow <simonmar@microsoft.com>**20080103140338]
3601[FIX #1898: add a missing UNTAG_CLOSURE() in checkBlackHoles
3602Simon Marlow <simonmar@microsoft.com>**20080103112717]
3603[fix validation failure on non-i386
3604Simon Marlow <simonmar@microsoft.com>**20080102151740]
3605[expand "out of stack slots" panic to suggest using -fregs-graph, see #1993
3606Simon Marlow <simonmar@microsoft.com>**20080102150737]
3607[Warning clean, and fix compilation with GHC 6.2.x
3608Simon Marlow <simonmar@microsoft.com>**20080102114529]
3609[Add dead code elimination in cmmMiniInline
3610Simon Marlow <simonmar@microsoft.com>**20071220151734
3611 cmmMiniInline counts the uses of local variables, so it can easily
3612 eliminate assigments to unused locals.  This almost never gets
3613 triggered, as we don't generate any dead assignments, but it will be
3614 needed by a forthcoming cleanup in CgUtils.emitSwitch.
3616[implement prefix unboxed tuples (part of #1509)
3617Isaac Dupree <id@isaac.cedarswampstudios.org>**20080102124001]
3618[Link libgmp.a statically into libHSrts.dll on Windows
3619Clemens Fruhwirth <clemens@endorphin.org>**20080101154017]
3620[Embedd DLL name into its import library, so client libs reference them properly in .idata
3621Clemens Fruhwirth <clemens@endorphin.org>**20080101152157]
3622[Add package dependencies to link pass when building ghc package (required for windows DLL build)
3623Clemens Fruhwirth <clemens@endorphin.org>**20080101152101]
3624[Fix building libHSrts.dll by using ghc-pkg instead of grepping in base.cabal
3625Clemens Fruhwirth <clemens@endorphin.org>**20071230193952]
3626[Add installPackage to dependencies of make.library.* as it's used by the rule
3627Clemens Fruhwirth <clemens@endorphin.org>**20071229162707]
3628[Install dynlibs correctly
3629Clemens Fruhwirth <clemens@endorphin.org>**20071228184024
3631 Add dynlibdir target to config.mk.in, setting it to @libdir@.
3632 Invoke installPackage with dynlibdir at libraries/Makefile
3633 Make installPackage.hs hand dynlibdir to Cabal.
3635[import ord that alex secretly imported
3636Isaac Dupree <id@isaac.cedarswampstudios.org>**20071228175727]
3637[add missing import that happy -agc secretly provided
3638Isaac Dupree <id@isaac.cedarswampstudios.org>**20071227171335]
3639[correct type mistake, hidden by happy -agc coercions!
3640Isaac Dupree <id@isaac.cedarswampstudios.org>**20071226140743]
3641[API changes for cabal-HEAD
3642Clemens Fruhwirth <clemens@endorphin.org>**20071227143114
3644 Rename interfacedir to haddockdir
3645 Change empty(Copy|Register)Flags to default(Copy|Register)Flags
3646 Wrap content of RegisterFlags with toFlag (the Flag type is actually just Maybe)
3648[Extend API for compiling to and from Core
3649Tim Chevalier <chevalier@alum.wellesley.edu>**20071225200411
3651 Added API support for compiling Haskell to simplified Core, and for
3652 compiling Core to machine code. The latter, especially, should be
3653 considered experimental and has only been given cursory testing. Also
3654 fixed warnings in DriverPipeline. Merry Christmas.
3656[When complaining about non-rigid context, give suggestion of adding a signature
3658[Improve handling of newtypes (fixes Trac 1495)
3661 In a few places we want to "look through" newtypes to get to the
3662 representation type.  But we need to be careful that  we don't fall
3663 into an ininite loop with e.g.
3664        newtype T = MkT T
3666 The old mechansim for doing this was to have a field nt_rep, inside
3667 a newtype TyCon, that gave the "ultimate representation" of the type.
3668 But that failed for Trac 1495, which looked like this:
3669    newtype Fix a = Fix (a (Fix a))
3670    data I a = I a
3671 Then, expanding the type (Fix I) went on for ever.
3673 The right thing to do seems to be to check for loops when epxanding
3674 the *type*, rather than in the *tycon*.  This patch does that,
3675        - Removes nt_rep from TyCon
3676        - Make Type.repType check for loops
3677 See Note [Expanding newtypes] in Type.lhs.
3679 At the same time I also fixed a bug for Roman, where newtypes were not
3680 being expanded properly in FamInstEnv.topNormaliseType.  This function
3681 and Type.repType share a common structure.
3684        Ian, see if this merges easily to the branch
3685        If not, I don't think it's essential to fix 6.8
3688[Fix Trac #1981: seq on a type-family-typed expression
3691 We were crashing when we saw
3692        case x of DEFAULT -> rhs
3693 where x had a type-family type.  This patch fixes it.
3695 MERGE to the 6.8 branch.
3699[Comment only
3701[Fix nasty recompilation bug in MkIface.computeChangedOccs
3704        MERGE to 6.8 branch
3706 In computeChangedOccs we look up the old version of a Name.
3707 But a WiredIn Name doesn't have an old version, because WiredIn things
3708 don't appear in interface files at all.
3710 Result: ghc-6.9: panic! (the 'impossible' happened)
3711   (GHC version 6.9 for x86_64-unknown-linux):
3712        lookupVers1 base:GHC.Prim chr#{v}
3714 This fixes the problem.  The patch should merge easily onto the branch.
3718[Fix Trac #1988; keep the ru_fn field of a RULE up to date
3721 The ru_fn field was wrong when we moved RULES from one Id to another.
3722 The fix is simple enough.
3724 However, looking at this makes me realise that the worker/wrapper stuff
3725 for recursive newtypes isn't very clever: we generate demand info but
3726 then don't properly exploit it. 
3728 This patch fixes the crash though.
3731[Add better panic message in getSRTInfo (Trac #1973)
3733[Remove obselete code for update-in-place (which we no longer do)
3735[Implement generalised list comprehensions
3738   This patch implements generalised list comprehensions, as described in
3739   the paper "Comprehensive comprehensions" (Peyton Jones & Wadler, Haskell
3740   Workshop 2007).  If you don't use the new comprehensions, nothing
3741   should change.
3743   The syntax is not exactly as in the paper; see the user manual entry
3744   for details.
3746   You need an accompanying patch to the base library for this stuff
3747   to work.
3749   The patch is the work of Max Bolingbroke [batterseapower@hotmail.com],
3750   with some advice from Simon PJ.
3752   The related GHC Wiki page is
3753     http://hackage.haskell.org/trac/ghc/wiki/SQLLikeComprehensions
3756[More bindist-publishing fixes and refactoring
3757Ian Lynagh <igloo@earth.li>**20071218144505]
3758[Fix publishing the docs
3759Ian Lynagh <igloo@earth.li>**20071216122544]
3760[FIX #1980: must check for ThreadRelocated in killThread#
3761Simon Marlow <simonmar@microsoft.com>**20071217164610]
3762[Eliminate external GMP dependencies
3763Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071217093839
3764 - Ensure the stage1 compiler uses ghc's own GMP library on Mac OS
3765 - Need to rebuild installPackage and ifBuildable with stage1 compiler as they
3766   go into bindists
3768[Include ~/Library/Frameworks in the framework searchpath
3769Ian Lynagh <igloo@earth.li>**20071217233457
3770 Patch from Christian Maeder
3772[Make ghcii.sh executable
3773Ian Lynagh <igloo@earth.li>**20071217195734]
3774[Don't rely on distrib/prep-bin-dist-mingw being executable
3775Ian Lynagh <igloo@earth.li>**20071217195554]
3776[always try to remove the new file before restoring the old one (#1963)
3777Simon Marlow <simonmar@microsoft.com>**20071214123345]
3778[Fix a bug in gen_contents_index
3779Ian Lynagh <igloo@earth.li>**20071212121154
3780 The library doc index thought that the docs were in $module.html, rather
3781 than $package/$module.html.
3783[Fix lifting of case expressions
3784Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071215000837
3786 We have to explicity check for empty arrays in each alternative as recursive
3787 algorithms wouldn't terminate otherwise.
3789[Use (UArr Int) instead of PArray_Int# in vectorisation
3790Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071215000739]
3791[Fix bug in VectInfo loading
3792Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071214230914]
3793[Remove unused vectorisation built-in
3794Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071214011015]
3795[Treat some standard data cons specially during vectorisation
3796Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071213034855
3798 This is a temporary hack which allows us to vectorise literals.
3800[More vectorisation-related built ins
3801Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071213034839]
3802[Track changes to package ndp
3803Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071212062714]
3804[Add vectorisation built-ins
3805Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071212040521]
3806[FIX #1963: catch Ctrl-C and clean up properly
3807Simon Marlow <simonmar@microsoft.com>**20071213154056]
3808[Document the new threshold flags
3809Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071214003003]
3810[Separate and optional size thresholds for SpecConstr and LiberateCase
3811Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071214002719
3813 This patch replaces -fspec-threshold by -fspec-constr-threshold and
3814 -fliberate-case-threshold. The thresholds can be disabled by
3815 -fno-spec-constr-threshold and -fno-liberate-case-threshold.
3817[Make HscTypes.tyThingId respond not panic on ADataCon
3819[Use Unix format for RnPat (no other change)
3821[Improve free-variable handling for rnPat and friends (fixes Trac #1972)
3824 As well as fixing the immediate problem (Trac #1972) this patch does
3825 a signficant simplification and refactoring of pattern renaming.
3827 Fewer functions, fewer parameters passed....it's all good.  But it
3828 took much longer than I expected to figure out.
3830 The most significant change is that the NameMaker type does *binding*
3831 as well as *making* and, in the matchNameMaker case, checks for unused
3832 bindings as well.  This is much tider.
3834 (No need to merge to the 6.8 branch, but no harm either.)
3838[Allow more than 3 simplifier iterations to be run in phase 0
3839Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071213040835
3841 The number of iterations during the first run of phase 0 was erroneously
3842 hardcoded to 3. It should be *at least* 3 (see comments in code) but can be
3843 more.
3845[Document -ddump-simpl-phases
3846Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071213040822]
3847[New flag: -ddump-simpl-phases
3848Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071213040644
3850 This outputs the core after each simplifier phase (i.e., it produces less
3851 information that -ddump-simpl-iterations).
3853[Don't dump simplifier iterations with -dverbose-core2core
3854Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071213034635
3856 SimonPJ says this is the correct behaviour. We still have
3857 -ddump-simpl-iterations.
3859["list --simple-output" should be quiet when there are no packages to list
3860Simon Marlow <simonmar@microsoft.com>**20071212102230
3862 Previously:
3864 $ ghc-pkg list --user --simple-output
3865 ghc-pkg: no matches
3866 $
3868 Now:
3870 $ ghc-pkg list --user --simple-output
3871 $
3873[Fix vectorisation bug
3874Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071206233015]
3875[Vectorisation-related built ins
3876Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071206040829]
3877[Teach vectorisation about some temporary conversion functions
3878Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071206032547]
3879[Vectorise case of unit correctly
3880Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071205221305]
3881[Teach vectorisation about singletonP
3882Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071205221240]
3883[Optimise desugaring of parallel array comprehensions
3884Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071205221213]
3885[Teach vectorisation about tuple datacons
3886Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071205050221]
3887[Track additions to package ndp
3888Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071205042649]
3889[Track changes to package ndp
3890Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071205033859]
3891[Improve pretty-printing of InstDecl
3894 Fixes Trac #1966.
3897[Comments only
3898Pepe Iborra <mnislaih@gmail.com>**20071208204815]
3899[Refactoring only
3900Pepe Iborra <mnislaih@gmail.com>**20071208195222
3902 Suspensions in the Term datatype used for RTTI
3903 always get assigned a Type, so there is no reason
3904 to juggle around with a (Maybe Type) anymore.
3907[Change the format used by :print to show the content of references
3908Pepe Iborra <mnislaih@gmail.com>**20071208193013
3910     This comes as result of the short discussion linked below.
3912     http://www.haskell.org/pipermail/cvs-ghc/2007-December/040049.html
3915[Help the user when she tries to do :history without :trace
3916Pepe Iborra <mnislaih@gmail.com>**20071208180918
3918 Teach GHCi to show a "perhaps you forgot to use :trace?" when
3919 it finds that the user is trying to retrieve an empty :history
3922[Prevent the binding of unboxed things by :print
3923Pepe Iborra <mnislaih@gmail.com>**20071208181830]
3924[Coercions from boxy splitters must be sym'ed in pattern matches
3925Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071208105018]
3926[Properly keep track of whether normalising given or wanted dicts
3927Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071207071302
3928 - The information of whether given or wanted class dictionaries where
3929   normalised by rewriting wasn't always correctly propagated in TcTyFuns,
3930   which lead to malformed dictionary bindings.
3931 - Also fixes a bug in TcPat.tcConPat where GADT equalities where emitted in
3932   the wrong position in case bindings (which led to CoreLint failures).
3934[TcPat.tcConPat uses equalities instead of GADT refinement
3935Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071120071208
3936 * This patch implements the use of equality constraints instead of GADT
3937   refinements that we have been discussing for a while.
3938 * It just changes TcPat.tcConPat.  It doesn't have any of the simplification
3939   and dead code removal that is possible due to this change.
3940 * At the moment, this patch breaks a fair number of GADT regression tests.
3942[Use installPackage for register --inplace as well as installing
3943Ian Lynagh <igloo@earth.li>**20071207234652
3944 We also need to do the GHC.Prim hack when registering inplace or the
3945 tests that use it fail.
3947[Fix the libraries Makefile
3948Ian Lynagh <igloo@earth.li>**20071205125015
3949     x && y
3950 is not the same as
3951     if x; then y; fi
3952 as the latter doesn't fail when x fails
3954[Copy hscolour.css into dist/... so it gets installed with the library docs
3955Ian Lynagh <igloo@earth.li>**20071205013703]
3956[Add the hscolour.css from hscolour 1.8
3957Ian Lynagh <igloo@earth.li>**20071205011733]
3958[BIN_DIST_INST_SUBDIR Needs to be defined in config.mk so ./Makefile can see it
3959Ian Lynagh <igloo@earth.li>**20071207121317]
3960[#include ../includes/MachRegs.h rather than just MachRegs.h
3961Ian Lynagh <igloo@earth.li>**20071205170335
3962 This fixes building on NixOS. I'm not sure why it worked everywhere else,
3963 but not on NixOS, before.
3965[Fix bindist creation: readline/config.mk is gone
3966Ian Lynagh <igloo@earth.li>**20071203123031]
3967[FIX #1843: Generate different instructions on PPC
3968Ian Lynagh <igloo@earth.li>**20071203123237
3969 The old ones caused lots of
3970     unknown scattered relocation type 4
3971 errors. Patch from Chris Kuklewicz.
3973[Refactor gen_contents_index
3974Ian Lynagh <igloo@earth.li>**20071207183538
3975 Also fixes it with Solaris's sh, spotted by Christian Maeder
3977[Use GHC.Exts rather than GHC.Prim
3978Ian Lynagh <igloo@earth.li>**20071202234222]
3979[Alter the base:GHC.Prim hack in installPackage, following changes in base
3980Ian Lynagh <igloo@earth.li>**20071202215719]
3981[Remove debug warning, and explain why
3983[comment only
3984Simon Marlow <simonmar@microsoft.com>**20071206092422]
3985[comment typo
3986Simon Marlow <simonmar@microsoft.com>**20071206092412]
3987[add Outputable instance for OccIfaceEq
3988Simon Marlow <simonmar@microsoft.com>**20071206092403]
3989[Workaround for #1959: assume untracked names have changed
3990Simon Marlow <simonmar@microsoft.com>**20071206092349
3991 This fixes the 1959 test, but will do more recompilation than is
3992 strictly necessary (but only when -O is on).  Still, more
3993 recompilation is better than segfaults, link errors or other random
3994 breakage.
3996[FIX part of #1959: declaration versions were not being incremented correctly
3997Simon Marlow <simonmar@microsoft.com>**20071206084556
3998 We were building a mapping from ModuleName to [Occ] from the usage
3999 list, using the usg_mod field as the key.  Unfortunately, due to a
4000 very poor naming decision, usg_mod is actually the module version, not
4001 the ModuleName.  usg_name is the ModuleName.  Since Version is also an
4002 instance of Uniquable, there was no type error: all that happened was
4003 lookups in the map never succeeded.  I shall rename the fields of
4004 Usage in a separate patch.
4006 This doesn't completely fix #1959, but it gets part of the way there.
4008 I have to take partial blame as the person who wrote this fragment of
4009 code in late 2006 (patch "Interface file optimisation and removal of
4010 nameParent").
4012[move FP_FIND_ROOT after the "GHC is required" check
4013Simon Marlow <simonmar@microsoft.com>**20071205101814]
4014[FIX #1110: hackery also needed when running gcc for CPP
4015Simon Marlow <simonmar@microsoft.com>**20071205150230]
4016[Teach :print to follow references (STRefs and IORefs)
4017Pepe Iborra <mnislaih@gmail.com>**20071204105511
4019 Prelude Data.IORef> :p l
4020 l = (_t4::Maybe Integer) : (_t5::[Maybe Integer])
4021 Prelude Data.IORef> p <- newIORef l
4022 Prelude Data.IORef> :p p
4023 p = GHC.IOBase.IORef (GHC.STRef.STRef {((_t6::Maybe Integer) :
4024                                         (_t7::[Maybe Integer]))})
4025 Prelude Data.IORef> :sp p
4026 p = GHC.IOBase.IORef (GHC.STRef.STRef {(_ : _)})
4029 I used braces to denote the contents of a reference.
4030 Perhaps there is a more appropriate notation?
4032[refactoring only
4033Pepe Iborra <mnislaih@gmail.com>**20071202125400]
4034[Change --shared to -shared in Win32 DLL docs
4036[protect console handler against concurrent access (#1922)
4037Simon Marlow <simonmar@microsoft.com>**20071204153918]
4038[Make eta reduction check more carefully for bottoms (fix Trac #1947)
4041 Eta reduction was wrongly transforming
4042        f = \x. f x
4043 to
4044        f = f
4046 Solution: don't trust f's arity information; instead look at its
4047 unfolding.  See Note [Eta reduction conditions]
4049 Almost all the new lines are comments!
4053[Improve inlining for INLINE non-functions
4056 (No need to merge to 6.8, but no harm if a subsequent patch needs it.)
4058 The proximate cause for this patch is to improve the inlining for INLINE
4059 things that are not functions; this came up in the NDP project.  See
4060 Note [Lone variables] in CoreUnfold.
4062 This caused some refactoring that actually made things simpler.  In
4063 particular, more of the inlining logic has moved from SimplUtils to
4064 CoreUnfold, where it belongs.
4068[fix race conditions in sandboxIO (#1583, #1922, #1946)
4069Simon Marlow <simonmar@microsoft.com>**20071204114444
4070 using the new block-inheriting forkIO (#1048)
4072[:cd with no argument goes to the user's home directory
4073Simon Marlow <simonmar@microsoft.com>**20071204113945
4074 Seems better than getting a confusing 'cannot find directory' exception.
4076[forkIO starts the new thread blocked if the parent is blocked (#1048)
4077Simon Marlow <simonmar@microsoft.com>**20071204110947]
4078[Improve eta reduction, to reduce Simplifier iterations
4081 I finally got around to investigating why the Simplifier was sometimes
4082 iterating so often.  There's a nice example in Text.ParserCombinators.ReadPrec,
4083 which produced:
4085 NOTE: Simplifier still going after 3 iterations; bailing out.  Size = 339
4086 NOTE: Simplifier still going after 3 iterations; bailing out.  Size = 339
4087 NOTE: Simplifier still going after 3 iterations; bailing out.  Size = 339
4089 No progress is being made.  It turned out that an interaction between
4090 eta-expansion, casts, and eta reduction was responsible. The change is
4091 small and simple, in SimplUtils.mkLam: do not require the body to be
4092 a Lam when floating the cast outwards. 
4094 I also discovered a missing side condition in the same equation, so fixing
4095 that is good too.  Now there is no loop when compiling ReadPrec.
4097 Should do a full nofib run though.
4100[Don't default to stripping binaries when installing
4101Ian Lynagh <igloo@earth.li>**20071202195817]
4102[Improve pretty-printing for Insts
4104[Reorganise TcSimplify (again); FIX Trac #1919
4107 This was a bit tricky.  We had a "given" dict like (d7:Eq a); then it got
4108 supplied to reduceImplication, which did some zonking, and emerged with
4109 a "needed given" (d7:Eq Int). That got everything confused.
4111 I found a way to simplify matters significantly.  Now reduceContext
4112        - first deals with methods/literals/dictionaries
4113        - then deals with implications
4114 Separating things in this way not only made the bug go away, but
4115 eliminated the need for the recently-added "needed-givens" results returned
4116 by checkLoop.  Hurrah.
4118 It's still a swamp.  But it's a bit better.
4121[FIX #1914: GHCi forgot all the modules that were loaded before an error
4122Simon Marlow <simonmar@microsoft.com>**20071130130734]
4123[FIX #1744: ignore the byte-order mark at the beginning of a file
4124Simon Marlow <simonmar@microsoft.com>**20071130101100]
4125[FIX Trac #1935: generate superclass constraints for derived classes
4128 This bug only reports a problem with phantom types, but actually
4129 there was quite a long-standing and significant omission in the
4130 constraint generation for derived classes.  See
4131 Note [Superclasses of derived instance] in TcDeriv.
4133 The test deriving-1935 tests both cases.
4137[Print a bit more info in VarBinds (no need to merge)
4139[Check for duplicate bindings in CoreLint
4141[add comment
4142Simon Marlow <simonmar@microsoft.com>**20071128111417]
4143[FIX #1916: don't try to convert float constants to int in CMM optimizer
4144Bertram Felgenhauer <int-e@gmx.de>**20071122095513]
4145[give a more useful message when the static flags have not been initialised (#1938)
4146Simon Marlow <simonmar@microsoft.com>**20071127135435]
4147[Rebuild utils with the stage1 compiler when making a bindist; fixes trac #1860
4148Ian Lynagh <igloo@earth.li>**20071127203959
4149 This is a bit unpleasant, as "make binary-dist" really shouldn't actually
4150 build anything, but it works.
4152[Remove the --print-docdir flag
4153Ian Lynagh <igloo@earth.li>**20071127195605
4154 It wasn't doing the right thing for bindists. Let's rethink...
4156[FIX #1925: the interpreter was not maintaining tag bits correctly
4157Simon Marlow <simonmar@microsoft.com>**20071127122614
4158 See comment for details
4160[add missing instruction: ALLOC_AP_NOUPD
4161Simon Marlow <simonmar@microsoft.com>**20071127122604]
4162[Check tag bits on the fun pointer of a PAP
4163Simon Marlow <simonmar@microsoft.com>**20071126160420]
4164[canonicalise the path to HsColour
4165Simon Marlow <simonmar@microsoft.com>**20071126141614]
4166[Consistently put www. on the front of haskell.org in URLs
4167Ian Lynagh <igloo@earth.li>**20071126215256]
4168[Fix some more URLs
4169Ian Lynagh <igloo@earth.li>**20071126214147]
4170[Tweak some URLs
4171Ian Lynagh <igloo@earth.li>**20071126194148]
4172[Fix some links
4173Ian Lynagh <igloo@earth.li>**20071126184406]
4174[Copy gmp stamps into bindists, so we don't try and rebuild gmp
4175Ian Lynagh <igloo@earth.li>**20071125211919]
4176[On Windows, Delete the CriticalSection's we Initialize
4177Ian Lynagh <igloo@earth.li>**20071125125845]
4178[On Windows, add a start menu link to the flag reference
4179Ian Lynagh <igloo@earth.li>**20071125124429]
4180[Remove html/ from the paths we put in the start menu on Windows
4181Ian Lynagh <igloo@earth.li>**20071125124150]
4182[MERGED: Make ":" in GHCi repeat the last command
4183Ian Lynagh <igloo@earth.li>**20071125122020
4184 Ian Lynagh <igloo@earth.li>**20071124231857
4185  It used to be a synonym for ":r" in 6.6.1, but this wasn't documented or
4186  known about by the developers. In 6.8.1 it was accidentally broken.
4187  This patch brings it back, but as "repeat the last command", similar to
4188  pressing enter in gdb. This is almost as good for people who want it to
4189  reload, and means that it can also be used to repeat commands like :step.
4191[MERGED: Put library docs in a $pkg, rather than $pkgid, directory; fixes trac #1864
4192Ian Lynagh <igloo@earth.li>**20071124212305
4193 Ian Lynagh <igloo@earth.li>**20071124171220
4195[Don't make a library documentation prologue
4196Ian Lynagh <igloo@earth.li>**20071124211943
4197 It's far too large now, and no-one complained when 6.8.1 didn't have one.
4199[Don't put package version numbers in links in index.html
4200Ian Lynagh <igloo@earth.li>**20071124211629]
4201[Define install-strip in Makefile
4202Ian Lynagh <igloo@earth.li>**20071124205037]
4203[Define install-strip in distrib/Makefile
4204Ian Lynagh <igloo@earth.li>**20071124204803]
4205[Install gmp from bindists; fixes trac #1848
4206Ian Lynagh <igloo@earth.li>**20071124185240]
4207[(native gen) fix code generated for GDTOI on x86_32
4208Bertram Felgenhauer <int-e@gmx.de>**20071121063942
4209 See trac #1910.
4211[Copy the INSTALL hack from mk/config.mk.in into distrib/Makefile-bin-vars.in
4212Ian Lynagh <igloo@earth.li>**20071124163028
4213 configure will set INSTALL to ./install-sh if it can't find it in the path,
4214 so we need to replace the . with the path to our root.
4216[Make install-sh executable /before/ we try to find it
4217Ian Lynagh <igloo@earth.li>**20071124162450]
4218[Document --info in the +RTS -? help
4219Ian Lynagh <igloo@earth.li>**20071123204352]
4220[MERGED: If we have hscolour then make source code links in teh haddock docs
4221Ian Lynagh <igloo@earth.li>**20071123233113
4222 Fri Nov 23 13:15:59 PST 2007  Ian Lynagh <igloo@earth.li>
4224[Tidy and trim the type environment in mkBootModDetails
4227 Should fix Trac #1833
4229 We were failing to trim the type envt in mkBootModDetails, so several
4230 functions all called (*), for example, were getting into the interface.
4231 Result chaos.  It only actually bites when we do the retyping-loop thing,
4232 which is why it's gone so long without a fix.
4236[refactor: HscNothing and boot modules do not need desugaring
4237Simon Marlow <simonmar@microsoft.com>**20071123135237]
4238[FIX #1910: fix code generated for GDTOI on x86_32
4239Bertram Felgenhauer <int-e@gmx.de>*-20071121102627]
4240[Properly ppr InstEqs in wanteds of implication constraints
4241Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20071122093002]
4242[FIX #1910: fix code generated for GDTOI on x86_32
4243Bertram Felgenhauer <int-e@gmx.de>**20071121102627]
4244[Add built-in Double operations to vectorisation
4245Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071122002517]
4246[Teach vectorisation about Double
4247Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071121054932]
4248[Vectorise polyexprs with notes
4249Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071121053102]
4250[Make rebindable do-notation behave as advertised
4253 Adopt Trac #1537.  The patch ended up a bit bigger than I expected,
4254 so I suggest we do not merge this into the 6.8 branch.  But there
4255 is no funadamental reason why not.
4257 With this patch, rebindable do-notation really does type as if you
4258 had written the original (>>) and (>>=) operations in desguared form.
4260 I ended up refactoring some of the (rather complicated) error-context
4261 stuff in TcUnify, by pushing an InstOrigin into tcSubExp and its
4262 various calls. That means we could get rid of tcFunResTy, and the
4263 SubCtxt type.  This should improve error messages slightly
4264 in complicated situations, because we have an Origin to hand
4265 to instCall (in the (isSigmaTy actual_ty) case of tc_sub1).
4267 Thanks to Pepe for the first draft of the patch.
4270[Add DEBUG-only flag -dsuppress-uniques to suppress printing of uniques
4273 This is intended only for debugging use: it makes it easier to
4274 compare two variants without the variations between uniques mattering.
4276 (Of course, you can't actually feed the output to the C compiler
4277 or assembler and expect anything sensible to happen!)
4280[Add -dcore-lint when validating libraries
4282[Fix Trac #1913: check data const for derived types are in scope
4285 When deriving an instance, the data constructors should all be in scope.
4286 This patch checks the condition.
4290[Fix Trac #1909: type of map in docs
4292[Move file locking into the RTS, fixing #629, #1109
4293Simon Marlow <simonmar@microsoft.com>**20071120140859
4294 File locking (of the Haskell 98 variety) was previously done using a
4295 static table with linear search, which had two problems: the array had
4296 a fixed size and was sometimes too small (#1109), and performance of
4297 lockFile/unlockFile was suboptimal due to the linear search.
4298 Also the algorithm failed to count readers as required by Haskell 98
4299 (#629).
4301 Now it's done using a hash table (provided by the RTS).  Furthermore I
4302 avoided the extra fstat() for every open file by passing the dev_t and
4303 ino_t into lockFile.  This and the improvements to the locking
4304 algorithm result in a healthy 20% or so performance increase for
4305 opening/closing files (see openFile008 test).
4307[FIX Trac #1825: standalone deriving Typeable
4310 Standalone deriving of typeable now requires you to say
4311        instance Typeable1 Maybe
4312 which is exactly the shape of instance decl that is generated
4313 by a 'deriving( Typeable )' clause on the data type decl.
4315 This is a bit horrid, but it's the only consistent way, at least
4316 for now.  If you say something else, the error messages are helpful.
4318 MERGE to 6.8 branch
4321[FIX #1715: egregious bug in ifaceDeclSubBndrs
4324 ifaceDeclSubBndrs didn't have an IfaceSyn case; but with type
4325 families an IfaceSyn can introduce subordinate binders.  Result:
4326 chaos.
4328 The fix is easy though.  Merge to 6.8 branch.
4332[Always do 'setup makefile' before building each library
4333Simon Marlow <simonmar@microsoft.com>**20071120103329
4334 This forces preprocessing to happen, which is necessary if any of the
4335 .hsc files have been modified.  Without this change, a 'setup
4336 makefile' would be required by hand after a .hsc file changed.
4337 Fortunately 'setup makefile' isn't much extra work, and I've made it
4338 not overwrite GNUmakefile if it hasn't changed, which avoids
4339 recalculating the dependencies each time.
4341[FIX #1847 (improve :browse! docs, fix unqual)
4344 - add example to docs, explain how to interpret
4345   output of `:browse! Data.Maybe`
4346 - print unqualified names according to current
4347   context, not the context of the target module
4350[Track changes to package ndp
4351Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071120033716]
4352[Temporary hack for passing PArrays from unvectorised to vectorised code
4353Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071120024545]
4354[Bind NDP stuff to [:.:] arrays
4355Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071119020302]
4356[Don't treat enumerations specially during vectorisation for the moment
4357Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071119013729]
4358[Fix bugs in vectorisation of case expressions
4359Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071119013714]
4360[More built-in NDP combinators
4361Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071119012205]
4362[New vectorisation built-ins
4363Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071118051940]
4364[Fix bug in conversion unvect/vect
4365Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071118051926]
4366[Extend built-in vectorisation environments
4367Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071118045219]
4368[Fix bug in generation of environments for vectorisation
4369Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071118045203]
4370[Add builtin var->var mapping to vectorisation
4371Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071118042605]
4372[Extend vectorisation built-in mappings with datacons
4373Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071118034351]
4374[Change representation of parallel arrays of enumerations
4375Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071118033355]
4376[Add vectorisation-related builtin
4377Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071118031513]
4378[Teach vectorisation about Bool
4379Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071117042714]
4380[Incomplete support for boxing during vectorisation
4381Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071117040739]
4382[Make sure some TyCons always vectorise to themselves
4383Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071117040537]
4384[Simple conversion vectorised -> unvectorised
4385Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071117023029]
4386[Fix bug in case vectorisation
4387Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071117015014]
4388[Vectorisation of algebraic case expressions
4389Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071116074814]
4390[More vectorisation-related built-ins
4391Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071116061831]
4392[Vectorisation utilities
4393Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071116051037]
4394[Add vectorisation built-ins
4395Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071116050959]
4396[Fix vectorisation of binders in case expressions
4397Roman Leshchinskiy <rl@cse.unsw.edu.au>**20071116021833]
4398[Two small typos in the flags summary (merge to 6.8 branch)
4400[Improve the situation for Trac #959: civilised warning instead of a trace msg
4403 This doesn't fix the root cause of the bug, but it makes the report
4404 more civilised, and points to further info.
4407[FIX Trac #1806: test for correct arity for datacon in infix pattern patch
4410 Happily the fix is easy; pls merge
4413[Accept x86_64-*-freebsd* as well as amd64-*-freebsd* in configure.ac
4414Ian Lynagh <igloo@earth.li>**20071117154502
4415 Patch from Brian P. O'Hanlon
4417[Attempt at fixing #1873, #1360
4418Simon Marlow <simonmar@microsoft.com>**20071116152148
4420 I think I figured out a reasonable way to manage the GHCi context,
4421 comments welcome.
4423 Rule 1: external package modules in the context are persistent.  That
4424 is, when you say 'import Data.Maybe' it survives over :load, :add,
4425 :reload and :cd.
4427 Rule 2: :load and :add remove all home-package modules from the
4428 context and add the rightmost target, as a *-module if possible.  This
4429 is as before, and makes sense for :load because we're starting a new
4430 program; the old home-package modules don't make sense any more.  For
4431 :add, it usually does what you want, because the new target will
4432 become the context.
4434 Rule 3: any modules from the context that fail to load during a
4435 :reload are remembered, and re-added to the context at the next
4436 successful :reload.
4438 Claus' suggestion about adding the "remembered" modules to the prompt
4439 prefixed with a ! is implemented but commented out.  I couldn't
4440 decide whether it was useful or confusing.
4442 One difference that people might notice is that after a :reload where
4443 there were errors, GHCi would previously dump you in the most recent
4444 module that it loaded.  Now it dumps you in whatever subset of the
4445 current context still makes sense, and in the common case that will
4446 probably be {Prelude}.
4448[Wibble to fix Trac #1901 (shorten messsage slightly)
4450[Improve links from flag reference to the relevant section; and improve doc of RankN flags
4452[FIX Trac #1901: check no existential context in H98 mode
4454[Improve documentation of data type declarations (Trac #1901)
4456[Change the command-line semantics for query commands
4457Simon Marlow <simonmar@microsoft.com>**20071116132046
4459 From the help text:
4461   Commands that query the package database (list, latest, describe,
4462   field) operate on the list of databases specified by the flags
4463   --user, --global, and --package-conf.  If none of these flags are
4464   given, the default is --global --user.
4466 This makes it possible to query just a single database (e.g. the
4467 global one without the user one), which needed tricks to accomplish
4468 before.
4470[use "ghc-pkg latest --global" instead of "ghc-pkg list --simple-output"
4471Simon Marlow <simonmar@microsoft.com>**20071116122018
4472 The former now does the right thing: it uses the global database only,
4473 and picks the most recent package with the given name.
4475[Disallow installing packages whose names  differ in case only.
4476Simon Marlow <simonmar@microsoft.com>**20071116121153
4477 --force overrides.  Requested by Duncan Coutts, with a view to
4478 treating package names as case-insensitive in the future.
4480[FIX BUILD (with GHC 6.2.x): update .hi-boot file
4481Simon Marlow <simonmar@microsoft.com>**20071116101227]
4482[FIX #1828: installing to a patch with spaces in
4483Simon Marlow <simonmar@microsoft.com>**20071115155747
4484 We have to pass the path to gcc when calling windres, which itself
4485 might have spaces in.  Furthermore, we have to pass the path to gcc's
4486 tools to gcc.  This means getting the quoting right, and after much
4487 experimentation and reading of the windres sources I found something
4488 that works: passing --use-temp-files to windres makes it use its own
4489 implementation of quoting instead of popen(), and this does what we
4490 want.  Sigh.
4492[on Windows, install to a directory with spaces (test for #1828)
4493Simon Marlow <simonmar@microsoft.com>**20071115155327]
4494[FIX #1679: crash on returning from a foreign call
4495Simon Marlow <simonmar@microsoft.com>**20071115131635
4496 We forgot to save a pointer to the BCO over the foreign call.  Doing
4497 enough allocation and GC during the call could provoke a crash.
4499[Avoid the use of unversioned package dependencies
4500Simon Marlow <simonmar@microsoft.com>**20071115103249
4501 Fortunately "ghc-pkg list $pkg --simple-output" is a good way to add
4502 the version number.
4504[FIX #1596 (remove deprecated --define-name)
4505Simon Marlow <simonmar@microsoft.com>**20071114165323
4506 Also remove the old command-line syntax for ghc-pkg, which was not
4507 documented.  Do not merge.
4509[FIX #1837: remove deprecated support for unversioned dependencies (do not merge)
4510Simon Marlow <simonmar@microsoft.com>**20071114161044
4514Pepe Iborra <mnislaih@gmail.com>**20071114233356]
4515[Make pprNameLoc more robust in absence of loc information
4516Pepe Iborra <mnislaih@gmail.com>**20071114233343]
4517[Try to manage the size of the text rendered for ':show bindings'
4518Pepe Iborra <mnislaih@gmail.com>**20071114231601]
4519[Make the Term ppr depth aware
4520Pepe Iborra <mnislaih@gmail.com>**20071114183417]
4521[Use paragraph fill sep where possible
4522Pepe Iborra <mnislaih@gmail.com>**20071114181233]
4523[Make SpecConstr work again
4526 In a typo I'd written env instead of env', and as a result RULES are
4527 practically guaranteed not to work in a recursive group.  This pretty
4528 much kills SpecConstr in its tracks!
4530 Well done Kenny Lu for spotting this.  The fix is easy.
4532 Merge into 6.8 please.
4537[Documentation only - fix typo in flags reference
4538Tim Chevalier <chevalier@alum.wellesley.edu>**20071115055748]
4539[Avoid making Either String an instance of Monad in the Haddock parser
4540David Waern <david.waern@gmail.com>**20071114204050]
4541[FIX 1463 (implement 'ghc-pkg find-module')
4544 - the ticket asks for a module2package lookup in ghc-pkg
4545   (this would be useful to have in cabal, as well)
4547 - we can now ask which packages expose a module we need,
4548   eg, when preparing a cabal file or when getting errors
4549   after package reorganisations:
4551   $ ./ghc-pkg-inplace find-module Var
4552   c:/fptools/ghc/driver/package.conf.inplace:
4553       (ghc-6.9.20071106)
4555   $ ./ghc-pkg-inplace find-module Data.Sequence
4556   c:/fptools/ghc/driver/package.conf.inplace:
4557       containers-0.1
4559 - implemented as a minor variation on listPackages
4561 (as usual, it would be useful if one could combine
4562 multiple queries into one)
4565[remove --define-name from the --help usage message (#1596)
4566Simon Marlow <simonmar@microsoft.com>**20071114153417
4569[FIX #1837: emit deprecated message for unversioned dependencies
4570Simon Marlow <simonmar@microsoft.com>**20071114153010]
4571[Fix #782, #1483, #1649: Unicode GHCi input
4572Simon Marlow <simonmar@microsoft.com>**20071114151411
4573 GHCi input is now treated universally as UTF-8, except for the Windows
4574 console where we do the correct conversion from the current code
4575 page (see System.Win32.stringToUnicode).
4577 That leaves non-UTF-8 locales on Unix as unsupported, but (a) we only
4578 accept source files in UTF-8 anyway, and (b) UTF-8 is quite ubiquitous
4579 as the default locale.
4582[Fix build
4583David Waern <david.waern@gmail.com>**20071114125842
4584 I had forgot to update HaddockLex.hi-boot-6, so the build with 6.2.2
4585 failed. This fixes that.
4587[FIX Trac 1662: actually check for existentials in proc patterns
4590 I'd fixed the bug for code that should be OK, but had forgotten to
4591 make the test for code that should be rejected!
4593 Test is arrowfail004
4596[FIX Trac 1888; duplicate INLINE pragmas
4599 There are actually three things here
4600 - INLINE pragmas weren't being pretty-printed properly
4601 - They were being classified into too-narrow boxes by eqHsSig
4602 - They were being printed in to much detail by hsSigDoc
4604 All easy.  Test is rnfail048.
4607[Run the -frule-check pass more often (when asked)
4609[GHCi debugger: added a new flag, -fno-print-binding-contents
4610Pepe Iborra <mnislaih@gmail.com>**20071113174539
4612 The contents of bindings show at breakpoints and by :show bindings
4613 is rendered using the same printer that :print uses.
4614 But sometimes the output it gives spans over too many lines and the
4615 user may want to be able to disable it.
4617[Fix Trac 1865: GHCi debugger crashes with :print
4618Pepe Iborra <mnislaih@gmail.com>**20071113170113]
4619[Replaced two uses of head b explicit pattern matching
4620Pepe Iborra <mnislaih@gmail.com>**20071013113136]
4621[Print binding contents in :show bindings
4622Pepe Iborra <mnislaih@gmail.com>**20071006123952]
4623[ Leftovers from the 1st GHCi debugger prototype
4624Pepe Iborra <mnislaih@gmail.com>**20071004204718]
4625[Following an indirection doesn't count as a RTTI step
4626Pepe Iborra <mnislaih@gmail.com>**20070928091941]
4627[FIX #1653 (partially): add -X flags to completion for :set
4628Simon Marlow <simonmar@microsoft.com>**20071113153257]
4629[Merge from Haddock: Add <<url>> for images
4630David Waern <david.waern@gmail.com>**20071112220537
4631 A merge of this patch:
4633   Mon Aug  7 16:22:14 CEST 2006  Simon Marlow <simonmar@microsoft.com>
4634     * Add <<url>> for images
4635     Submitted by: Lennart Augustsson
4637 Please merge to the 6.8.2 branch.
4639[Improve documentation of INLINE, esp its interactions with other transformations
4641[Comment re Trac #1220
4643[Merge from Haddock: Modify lexing of /../
4644David Waern <david.waern@gmail.com>**20071112023856
4646   Tue Aug 28 11:19:54 CEST 2007  Simon Marlow <simonmar@microsoft.com>
4647     * Modify lexing of /../
4648     This makes /../ more like '..', so that a single / on a line doesn't
4649     trigger a parse error.  This should reduce the causes of accidental
4650     parse errors in Haddock comments; apparently stray / characters are
4651     a common source of failures.
4653 Please merge this to the 6.8.2 branch.
4655[Merge from Haddock: allow blank lines inside code blocks
4656David Waern <david.waern@gmail.com>**20071112013439
4658   Tue Jan  9 14:14:34 CET 2007  Simon Marlow <simonmar@microsoft.com>
4659     * allow blank lines inside a @...@ code block
4661 Please merge this to the 6.8.2 branch
4663[Merge of a patch from the old Haddock branch:
4664David Waern <david.waern@gmail.com>**20071112013143
4666   Fri Jan  5 12:13:41 CET 2007  Simon Marlow <simonmar@microsoft.com>
4667     * Fix up a case of extra vertical space after a code block
4669 Please merge this to the 6.8.2 branch
4671[Remove ex-extralibs from libraries/Makefile
4672Ian Lynagh <igloo@earth.li>**20071111213618]
4673[Remove the X11 and HGL libraries from extralibs
4674Ian Lynagh <igloo@earth.li>**20071111213447
4675 Don Stewart, X11 maintainer, requested we remove X11, and HGL depends on it
4676 on Linux (and we don't try to build HGL on Windows).
4678[arrows is no longer an extralib
4679Ian Lynagh <igloo@earth.li>**20071027123656]
4680[Turn -fprint-bind-result off by default
4681Ian Lynagh <igloo@earth.li>**20071111001126]
4682[TAG 2007-11-11
4683Ian Lynagh <igloo@earth.li>**20071111161540]
4684Patch bundle hash: