Ticket #2743: 2743.patch

File 2743.patch, 63.7 KB (added by NeilMitchell, 4 years ago)

Patch

Line 
1
2New patches:
3
4[Perform case-insensitive matching of path components in getBaseDir on Windows (Fixes bug 2743)
5Neil Mitchell <ndmitchell@gmail.com>**20081105134315] {
6hunk ./compiler/main/SysTools.lhs 847
7-                (d, ghc_exe) | map toLower ghc_exe == "ghc.exe" ->
8+                (d, ghc_exe) | lower ghc_exe == "ghc.exe" ->
9hunk ./compiler/main/SysTools.lhs 850
10-                    (d', "bin") -> takeDirectory d'
11+                    (d', bin) | lower bin == "bin" -> takeDirectory d'
12hunk ./compiler/main/SysTools.lhs 852
13-                    (d', x) | "-inplace" `isSuffixOf` x ->
14+                    (d', x) | "-inplace" `isSuffixOf` lower x ->
15hunk ./compiler/main/SysTools.lhs 857
16+              lower = map toLower
17}
18
19Context:
20
21[bugfix: don't ingore the return value from rts_evalIO()
22Simon Marlow <marlowsd@gmail.com>**20081104142147]
23[Document the new SPARKS statistic, and xref from the parallelism section
24Simon Marlow <marlowsd@gmail.com>**20081024120236]
25[Move the freeing of Capabilities later in the shutdown sequence
26Simon Marlow <marlowsd@gmail.com>**20081024104301
27 Fixes a bug whereby the Capability has been freed but other
28 Capabilities are still trying to steal sparks from its pool.
29]
30[Pad Capabilities and Tasks to 64 bytes
31Simon Marlow <marlowsd@gmail.com>**20081023080749
32 This is just good practice to avoid placing two structures heavily
33 accessed by different CPUs on the same cache line
34]
35[Fix desugaring of record update (fixes Trac #2735)
36simonpj@microsoft.com**20081103110819]
37[Refuse to register packages with unversioned dependencies; trac #1837
38Ian Lynagh <igloo@earth.li>**20081031181746]
39[We now require GHC 6.6 to build the HEAD (and thus 6.12)
40Ian Lynagh <igloo@earth.li>**20081031171506]
41[:set prompt now understand Haskell String syntax; trace #2652
42Ian Lynagh <igloo@earth.li>**20081031145227]
43[Comments only
44simonpj@microsoft.com**20081031140236]
45[Quickfix for warning.
46Thomas Schilling <nominolo@googlemail.com>**20081031113125]
47[Export typeclasses for accessing compiler results.
48Thomas Schilling <nominolo@googlemail.com>**20081028182310
49 
50 MERGE TO 6.10.
51]
52[Minor refactoring.
53Thomas Schilling <nominolo@googlemail.com>**20081028182202]
54[Include record fields in tags.
55Thomas Schilling <nominolo@googlemail.com>**20081028180538]
56[Fix imports
57simonpj@microsoft.com**20081031092306]
58[Improve error reporting for non-rigid GADT matches
59simonpj@microsoft.com**20081030143947
60 
61 Following suggestions from users, this patch improves the error message
62 when a GADT match needs a rigid type:
63 
64  tcfail172.hs:19:10:
65      GADT pattern match in non-rigid context for `Nil'
66 -      Solution: add a type signature
67 +      Probable solution: add a type signature for `is_normal'
68      In the pattern: Nil
69      In the definition of `is_normal': is_normal Nil = True
70 
71 Now GHC tries to tell you what to give a type signature *for*.
72 Thanks to Daniel Gorin and others for the suggestions.
73 
74]
75[Add (a) CoreM monad, (b) new Annotations feature
76simonpj@microsoft.com**20081030125108
77 
78 This patch, written by Max Bolingbroke,  does two things
79 
80 1.  It adds a new CoreM monad (defined in simplCore/CoreMonad),
81     which is used as the top-level monad for all the Core-to-Core
82     transformations (starting at SimplCore).  It supports
83        * I/O (for debug printing)
84        * Unique supply
85        * Statistics gathering
86        * Access to the HscEnv, RuleBase, Annotations, Module
87     The patch therefore refactors the top "skin" of every Core-to-Core
88     pass, but does not change their functionality.
89 
90 2.  It adds a completely new facility to GHC: Core "annotations".
91     The idea is that you can say
92        {#- ANN foo (Just "Hello") #-}
93     which adds the annotation (Just "Hello") to the top level function
94     foo.  These annotations can be looked up in any Core-to-Core pass,
95     and are persisted into interface files.  (Hence a Core-to-Core pass
96     can also query the annotations of imported things.)  Furthermore,
97     a Core-to-Core pass can add new annotations (eg strictness info)
98     of its own, which can be queried by importing modules.
99 
100 The design of the annotation system is somewhat in flux.  It's
101 designed to work with the (upcoming) dynamic plug-ins mechanism,
102 but is meanwhile independently useful.
103 
104 Do not merge to 6.10! 
105 
106]
107[Fix Trac #2674: in TH reject empty case expressions and function definitions
108simonpj@microsoft.com**20081030094528]
109[Change naming conventions for compiler-generated dictionaries and type functions
110simonpj@microsoft.com**20081029140858
111 
112 Up to now, the data constructor dictionary for class C as been called
113 ":DC". But there is no reason for the colon to be at the front; indeed
114 it confuses the (simple-minded) pretty-printer for types.  So this
115 patch changes it to be "D:C".  This makes Core a lot easier to read.
116 Having a colon in the middle ensures that it can't clash with a user-written
117 data type.
118 
119 Similarly I changed
120 
121   T:C     Data type corresponding a class dictionary (was :TC)
122   D:C     Data constructor for class dictionary (was :DC)
123 
124   NTCo:T   Coercion mapping from a newtype T to its representation type
125                (was :CoT)
126 
127   TFCo:R   Coercion mapping from a data family to its respresentation type R
128                (was :CoFR)
129 
130   Rn:T     The n'th respresentation data type for a data type T
131                (was :RnT)
132 
133 
134 Do not merge to 6.10.
135 
136 HEADS-UP: you'll need to recompile libraries from scratch. 
137 
138 ROMAN: you could do the same for OccName.mkVectTyConOcc etc, if you wanted.
139 
140 
141]
142[Fix tcrun031: yet more tidying up in TcDeriv
143simonpj@microsoft.com**20081029130155]
144[Add Outputable instance for CoercionI
145simonpj@microsoft.com**20081029130114]
146[Fix Trac #2720: inlining and casts
147simonpj@microsoft.com**20081028140828
148 
149 The issue here is what happens when we have
150 
151        (f |> co) x
152 
153 where f is itself marked INLINE.  We want callSiteInline to "see"
154 the fact that the function is applied, and hence have some incentive
155 to inline.  I've done this by extending CoreUnfold.CallCtxt with
156 ValAppCtxt.  I think that should catch this case without messing up
157 any of the others.
158 
159]
160[Clarify documentatoin
161simonpj@microsoft.com**20081028133009]
162[Update library version numbers in the release notes
163Ian Lynagh <igloo@earth.li>**20081023144018]
164[various updates to the release notes
165Simon Marlow <marlowsd@gmail.com>**20081007151647]
166[Add library release notes
167Ian Lynagh <igloo@earth.li>**20080920155722]
168[Add release notes for the compiler
169Ian Lynagh <igloo@earth.li>**20080920114857]
170[Doc fix
171Ian Lynagh <igloo@earth.li>**20081028150534]
172[Rename some variables in docs
173Ian Lynagh <igloo@earth.li>**20081028150447]
174[Fix typos
175Ian Lynagh <igloo@earth.li>**20081028144655]
176[Mostly-fix Trac #2595: updates for existentials
177simonpj@microsoft.com**20081028115427
178 
179 Ganesh wanted to update records that involve existentials.  That
180 seems reasonable to me, and this patch covers existentials, GADTs,
181 and data type families.
182 
183 The restriction is that
184   The types of the updated fields may mention only the
185   universally-quantified type variables of the data constructor
186 
187 This doesn't allow everything in #2595 (it allows 'g' but not 'f' in
188 the ticket), but it gets a lot closer.
189 
190 Lots of the new lines are comments!
191 
192]
193[Fix Trac #2723: keep track of record field names in the renamer
194simonpj@microsoft.com**20081028110445
195 
196 The idea here is that with -XNamedFieldPuns and -XRecordWildCards we don't
197 want to report shadowing errors for
198        let fld = <blah> in C { .. }
199 But to suppress such shadowing errors, the renamer needs to know that
200 'fld' *is* a record selector.  Hence the new NameSet in
201 TcRnFypes.RecFieldEnv
202 
203]
204[Remove dead code
205simonpj@microsoft.com**20081028074639]
206[Fix Trac #2713: refactor and tidy up renaming of fixity decls
207simonpj@microsoft.com**20081027222738
208 
209 In fixing #2713, this patch also eliminates two almost-unused
210 functions from RnEnv (lookupBndr and lookupBndr_maybe).  The
211 net lines of code is prety much unchanged, but more of them
212 are comments!
213 
214]
215[Fix Trac #2701: make deriving check better for unlifted args
216simonpj@microsoft.com**20081025171211
217 
218 Getting the automatic deriving mechanism to work really smoothly
219 is surprisingly hard.  I keep finding myself in TcDeriv!
220 
221 Anyway, this is a nice clean fix to Trac #2701.
222 
223]
224[Use pdflatex rather than latex for building
225Ian Lynagh <igloo@earth.li>**20081024112400
226 The Windows builder is having problems running ps2pdf, so this works
227 aroudn the problem.
228]
229[Remove an unmatched } in core.tex
230Ian Lynagh <igloo@earth.li>**20081024111750]
231[Add a usepackage{url}
232Ian Lynagh <igloo@earth.li>**20081024111458]
233[Update ANNOUNCE
234Ian Lynagh <igloo@earth.li>**20081022164423]
235[Fix a bug in the new scheduler
236Simon Marlow <marlowsd@gmail.com>**20081023155017
237 If the current thread blocks, we should yield the Capability
238 immediately, because the thread and hence possibly the current Task
239 are now owned by someone else.  This worked in the old scheduler, but
240 we moved where the yield happens in the new scheduler which broke it.
241]
242[add an assertion
243Simon Marlow <marlowsd@gmail.com>**20081023154551]
244[fix a warning
245Simon Marlow <marlowsd@gmail.com>**20081023082213]
246[traverse the spark pools only once during GC rather than twice
247Simon Marlow <marlowsd@gmail.com>**20081022115233]
248[Refactoring and reorganisation of the scheduler
249Simon Marlow <marlowsd@gmail.com>**20081022092744
250 
251 Change the way we look for work in the scheduler.  Previously,
252 checking to see whether there was anything to do was a
253 non-side-effecting operation, but this has changed now that we do
254 work-stealing.  This lead to a refactoring of the inner loop of the
255 scheduler.
256 
257 Also, lots of cleanup in the new work-stealing code, but no functional
258 changes.
259 
260 One new statistic is added to the +RTS -s output:
261 
262   SPARKS: 1430 (2 converted, 1427 pruned)
263 
264 lets you know something about the use of `par` in the program.
265]
266[Work stealing for sparks
267berthold@mathematik.uni-marburg.de**20080915132846
268 
269    Spark stealing support for PARALLEL_HASKELL and THREADED_RTS versions of the RTS.
270   
271   Spark pools are per capability, separately allocated and held in the Capability
272   structure. The implementation uses Double-Ended Queues (deque) and cas-protected
273   access.
274   
275   The write end of the queue (position bottom) can only be used with
276   mutual exclusion, i.e. by exactly one caller at a time.
277   Multiple readers can steal()/findSpark() from the read end
278   (position top), and are synchronised without a lock, based on a cas
279   of the top position. One reader wins, the others return NULL for a
280   failure.
281   
282   Work stealing is called when Capabilities find no other work (inside yieldCapability),
283   and tries all capabilities 0..n-1 twice, unless a theft succeeds.
284   
285   Inside schedulePushWork, all considered cap.s (those which were idle and could
286   be grabbed) are woken up. Future versions should wake up capabilities immediately when
287   putting a new spark in the local pool, from newSpark().
288 
289 Patch has been re-recorded due to conflicting bugfixes in the sparks.c, also fixing a
290 (strange) conflict in the scheduler.
291 
292]
293[include an elapsed time table
294Simon Marlow <marlowsd@gmail.com>**20081023080648]
295[generate a valid summary for older GHC versions too
296Simon Marlow <marlowsd@gmail.com>**20081023080629]
297[Fix Trac #2714 (a minor wibble)
298simonpj@microsoft.com**20081022145138
299 
300 In boxy_match (which is a pure function used by preSubType) we can
301 encounter TyVars not just TcTyVars; this patch takes account of that.
302 
303]
304[Reject programs with superclass equalities for now
305Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20081021131721
306 - The current implementation of type families cannot properly deal
307   with superclass equalities.  Instead of making a half-hearted attempt at
308   supporting them, which mostly ends in cryptic error message, rejecting
309   right away with an appropriate message.
310 
311   MERGE TO 6.10
312]
313[Fix doc syntax
314Ian Lynagh <igloo@earth.li>**20081021183317]
315[Don't put the README file in the Windows installer; fixes trac #2698
316Ian Lynagh <igloo@earth.li>**20081021162543
317 The README file talks about getting and building the sources, which
318 doesn't make sense for the installer.
319]
320[Comments and parens only
321simonpj@microsoft.com**20081021151401]
322[Do proper cloning in worker/wrapper splitting
323simonpj@microsoft.com**20081021143156
324 
325 See Note [Freshen type variables] in WwLib.  We need to clone type
326 variables when building a worker/wrapper split, else we simply get
327 bogus code, admittedly in rather obscure situations.  I can't quite
328 remember what program showed this up, unfortunately, but there
329 definitely *was* one!  (You get a Lint error.)
330 
331]
332[Don't float an expression wrapped in a cast
333simonpj@microsoft.com**20081021143019
334 
335 There is no point in floating out an expression wrapped in a coercion;
336 If we do we'll transform 
337        lvl = e |> co [_$_]
338 to     
339        lvl' = e; lvl = lvl' |> co
340 and then inline lvl.  Better just to float out the payload (e).
341 
342]
343[Fix Trac #2668, and refactor TcDeriv
344simonpj@microsoft.com**20081021142922
345 
346 TcDeriv deals with both standalone and ordinary 'deriving';
347 and with both data types and 'newtype deriving'.  The result
348 is really rather compilcated and ad hoc.  Ryan discovered
349 #2668; this patch fixes that bug, and makes the internal interfces
350 #more uniform.  Specifically, the business of knocking off
351 type arguments from the instance type until it matches the kind of the
352 class, is now done by derivTyData, not mkNewTypeEqn, because the
353 latter is shared with standalone derriving, whree the trimmed
354 type application is what the user wrote.
355 
356]
357[Spelling error in comment
358simonpj@microsoft.com**20081019233511]
359[White space only
360simonpj@microsoft.com**20081019233352]
361[Comments to explain strict overlap checking for type family instances
362simonpj@microsoft.com**20081019184208]
363[Allow type families to use GADT syntax (and be GADTs)
364simonpj@microsoft.com**20080923140535
365 
366 We've always intended to allow you to use GADT syntax for
367 data families:
368        data instance T [a] where
369          T1 :: a -> T [a]
370 and indeed to allow data instances to *be* GADTs
371        data intsance T [a] where
372          T1 :: Int -> T [Int]
373          T2 :: a -> b -> T [(a,b)]
374 
375 This patch fixes the renamer and type checker to allow this.
376       
377]
378[Improve crash message from applyTys and applyTypeToArgs
379simonpj@microsoft.com**20080923135419]
380[Wibble to ungrammatical error message
381simonpj@microsoft.com**20080920232256]
382[Comments only: replace ":=:" by "~" (notation for equality predicates)
383simonpj@microsoft.com**20080920232024]
384[FIX #2693
385Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20081021120107
386 - As long as the first reduceContext in tcSimplifyRestricted potentially
387   performs improvement, we need to zonk again before the second reduceContext.
388   It would be better to prevent the improvement in the first place, but given
389   the current situation zonking is definitely the right thing to do.
390 
391   MERGE TO 6.10
392]
393[Restore the terminal attributes even if ghci does not exit normally.
394Judah Jacobson <judah.jacobson@gmail.com>**20081020164109]
395[FIX #2688
396Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20081021044213
397 - Change in TcSimplify.reduceContext:
398 
399      We do *not* go around for new extra_eqs.  Morally, we should,
400      but we can't without risking non-termination (see #2688).  By
401      not going around, we miss some legal programs mixing FDs and
402      TFs, but we never claimed to support such programs in the
403      current implementation anyway.
404 
405   MERGE TO 6.10
406]
407[Move documentation within 80 column boundary.
408Thomas Schilling <nominolo@googlemail.com>**20081014134016]
409[Improve haddock documentation for 'GHC.topSortModuleGraph'.
410Thomas Schilling <nominolo@googlemail.com>**20081014133833]
411[Improve haddock documentation for HsExpr module.
412Thomas Schilling <nominolo@googlemail.com>**20081014133740]
413[Improve Haddock-markup for HsDecls module.
414Thomas Schilling <nominolo@googlemail.com>**20081014133556]
415[Run Haddock with compacting GC and show RTS statistics.
416Thomas Schilling <nominolo@googlemail.com>**20081020111410]
417[FIX (partially) #2703: bug in stack overflow handling when inside block
418Simon Marlow <marlowsd@gmail.com>**20081020121103
419 As a result of a previous ticket (#767) we disabled the generation of
420 StackOverflow exceptions when inside a Control.Exception.block, on the
421 grounds that StackOverflow is like an asynchronous exception.  Instead
422 we just increase the stack size.  However, the stack size calculation
423 was wrong, and ended up not increasing the size of the stack, with the
424 result that the runtime just kept re-allocating the stack and filling
425 up memory.
426]
427[Re-export Located(..) and related functions
428Simon Marlow <marlowsd@gmail.com>**20081020102422
429 So that clients don't need to import SrcLoc
430]
431[whitespace fix
432Simon Marlow <marlowsd@gmail.com>**20081020101241]
433[FIX #2691: Manually reset the terminal to its initial settings; works around a bug in libedit.
434Judah Jacobson <judah.jacobson@gmail.com>**20081016024838]
435[Eliminate duplicate flags in the tab completion of ghci's :set command.
436Judah Jacobson <judah.jacobson@gmail.com>**20081016015721]
437[Add dph haddock docs to the doc index
438Ian Lynagh <igloo@earth.li>**20081019133208]
439[Clean the bootstrapping extensible-exceptions package
440Ian Lynagh <igloo@earth.li>**20081017195942]
441[Fix trac #2687
442Ian Lynagh <igloo@earth.li>**20081015163412
443 OtherPunctuation, ConnectorPunctuation and DashPunctuation are now
444 treated as symbols, rather than merely graphic characters.
445]
446[Fix trac #2680; avoid quadratic behaviour from (++)
447Ian Lynagh <igloo@earth.li>**20081015163235]
448[Fix the build when the bootstrapping compiler has a newer Cabal than us
449Ian Lynagh <igloo@earth.li>**20081015144023
450 We need to forcibly use the in-tree Cabal, or we get version mismatch errors
451]
452[Fix the name of prologue.txt when making bindists
453Ian Lynagh <igloo@earth.li>**20081014114714]
454[Comments only
455simonpj@microsoft.com**20081015084501]
456[Fix Trac #2497; two separate typos in Lexer.x
457simonpj@microsoft.com**20081015084344
458 
459 The patch to switch on lexing of 'forall' inside a RULES pragma
460 wasn't working.  This fixes it so that it does.
461 
462]
463[Update manual: tidy up instances, say more about type families in instance decls
464simonpj@microsoft.com**20081015080509]
465[Make tags work on Unices, too.
466Thomas Schilling <nominolo@googlemail.com>**20081014211236]
467[Undefine __PIC__ before defining it to work around "multiple definitions of __PIC__" warnings
468Clemens Fruhwirth <clemens@endorphin.org>**20081014143206]
469[Add "dyn" to GhcRTSWays when compiling --enable-shared
470Clemens Fruhwirth <clemens@endorphin.org>**20081014125123]
471[Fill out the ghc package's cabal file
472Ian Lynagh <igloo@earth.li>**20081013235817]
473[Patching libffi so it can be built as DLL
474Clemens Fruhwirth <clemens@endorphin.org>**20081014103459
475 
476 libffi-dllize-3.0.6.patch should be pushed upstream
477]
478[Add 'etags' makefile target.
479Thomas Schilling <nominolo@googlemail.com>**20081013170927
480 
481 This only works with stage2 since `ghctags' is built against stage1
482 but not against the bootstrapping compiler.  Also note that all of GHC
483 must typecheck for this target to succeed.  Perhaps we should not
484 overwrite the old TAGS file by default then.
485]
486[Use cabal information to get GHC's flags to `ghctags'.
487Thomas Schilling <nominolo@googlemail.com>**20081013170658
488 
489 By giving the dist-directory to ghctags we can get all the GHC API
490 flags we need in order to load the required modules.  The flag name
491 could perhaps be improved, but apart from that it seems to work well.
492]
493[Version bump for libffi to 3.0.6
494Clemens Fruhwirth <clemens@endorphin.org>**20081014081300]
495[Encode shared/static configuration into stamps to do the right thing when rebuilding
496Clemens Fruhwirth <clemens@endorphin.org>**20081013221530]
497[Add a link to the GHC API docs from the library haddock index
498Ian Lynagh <igloo@earth.li>**20081013195943]
499[Link to the GHC API documentation from the main doc page
500Ian Lynagh <igloo@earth.li>**20081013200927]
501[Whitespace only in docs/index.html
502Ian Lynagh <igloo@earth.li>**20081013200625]
503[Tweak gen_contents_index
504Ian Lynagh <igloo@earth.li>**20081013192548
505 It now works again after it has been installed, as well as while it is
506 in a source tree.
507 After it's been installed it filters out the ghc package, as that
508 currently swamps everything else in the index.
509]
510[Build fixes for DLLized rts
511Clemens Fruhwirth <clemens@endorphin.org>**20081013201608]
512[Do not filter the rts from linked libraries in linkDynLib as Windows does not allow unresolved symbols
513Clemens Fruhwirth <clemens@endorphin.org>**20081013201426]
514[Add HsFFI.o to INSTALL_LIBS
515Clemens Fruhwirth <clemens@endorphin.org>**20081013200945]
516[Rename symbol macros to a consistant naming scheme
517Clemens Fruhwirth <clemens@endorphin.org>**20081013162433]
518[Fix #2685: two Bool arguments to tidyTypeEnv were the wrong way around
519Simon Marlow <marlowsd@gmail.com>**20081013121339
520 So -XTemplateHaskell was behaving like -fomit-interface-file-pragmas,
521 and vice versa.
522]
523[Simplify the "is $bindir in $PATH" test
524Ian Lynagh <igloo@earth.li>**20081011191008]
525[Correct the "is $bindir in $PATH" test
526Ian Lynagh <igloo@earth.li>**20081011191030
527 We were testing neq instead of eq
528]
529[Fix a typo which was causing ghci to quit on commands errors
530pepe <mnislaih@gmail.com>**20081011114720]
531[Drop libm from the linker dependencies for libffi
532Clemens Fruhwirth <clemens@endorphin.org>**20081011074524]
533[Do not generate haddock documentation when running install-docs in libffi
534Clemens Fruhwirth <clemens@endorphin.org>**20081010192318]
535[When waking up thread blocked on TVars, wake oldest first (#2319)
536Josef Svenningsson <josef.svenningsson@gmail.com>**20081010150322
537 StgTVarWatchQueue contains the threads blocked on a TVar in order
538 youngest first. The list has to be traversed backwards to unpark the threads
539 oldest first.
540 
541 This improves the fairness when using STM in some situations.
542]
543[add readTVarIO :: TVar a -> IO a
544Simon Marlow <marlowsd@gmail.com>**20081010131545]
545[fix #2636: throw missing module errors as SourceErrors, not ErrMsg
546Simon Marlow <marlowsd@gmail.com>**20081010131535]
547[atomicModifyIORef: use a local cas() instead of the global lock
548Simon Marlow <simonmar@microsoft.com>**20081008154702
549 This should improve scaling when using atomicModifyIORef
550]
551[Delay building libffi until package.conf is created and fix bindist
552Clemens Fruhwirth <clemens@endorphin.org>**20081010073106]
553[Install a versioned ghc-pkg script; fixes trac #2662
554Ian Lynagh <igloo@earth.li>**20081009164946]
555[Fix bindist creation: Only the main RTS was being put in the bindists
556Ian Lynagh <igloo@earth.li>**20081009163451]
557[pushAtom: add missing case for MachNullAddr (#2589)
558Simon Marlow <marlowsd@gmail.com>**20081009091118]
559[undo incorrect assertion, and fix comments
560Simon Marlow <marlowsd@gmail.com>**20081009085118]
561[remove old GRAN/PARALLEL_HASKELL code
562Simon Marlow <marlowsd@gmail.com>**20081009085051]
563[FIX #2639
564Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20081009132328
565 
566   MERGE TO 6.10
567]
568[Cover PredTy case in Type.tyFamInsts
569Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20081009061435
570 
571   MERGE TO 6.10
572]
573[Drop ghcconfig.h/RtsConfig.h from libffi's package.conf.in
574Clemens Fruhwirth <clemens@endorphin.org>**20081009071342]
575[Don't use sed's -i flag as Solaris doesn't know it in libffi/Makefile
576Clemens Fruhwirth <clemens@endorphin.org>**20081008234455]
577[Don't use /dev/null trick to create empty object files in libffi/Makefile
578Clemens Fruhwirth <clemens@endorphin.org>**20081008232902]
579[Turn libffi into a Haskell package
580Clemens Fruhwirth <clemens@endorphin.org>**20081008170443]
581[Make 'getModSummary' deterministic.
582Thomas Schilling <nominolo@googlemail.com>**20081008144032]
583[Add accessors to 'HsModule' and haddockify it.
584Thomas Schilling <nominolo@googlemail.com>**20081007235656]
585[fix syntax errors in src-dist publish rules
586Simon Marlow <marlowsd@gmail.com>**20081008103432]
587[add comments and an ASSERT_LOCK_HELD()
588Simon Marlow <marlowsd@gmail.com>**20081008112627]
589[Fix #2663: we had a hard-wired capabilities[0]
590Simon Marlow <marlowsd@gmail.com>**20081008112609
591 For some unknown reason in schedulePostRunThread() we were always
592 passing capabilities[0] rather than the current Capability to
593 throwToSingleThreaded().  This caused all kinds of weird failures and
594 crashes in STM code when running on multiple processors.
595]
596[Fix #1955 for heap profiles generated by +RTS -hT
597Simon Marlow <marlowsd@gmail.com>**20081003150745]
598[add a section id for +RTS -hT
599Simon Marlow <marlowsd@gmail.com>**20081007151007]
600[update documentation for PostfixOperators
601Simon Marlow <marlowsd@gmail.com>**20081007150957]
602[fix markup
603Simon Marlow <marlowsd@gmail.com>**20081007150943]
604[Fix bug in DPH docs
605Roman Leshchinskiy <rl@cse.unsw.edu.au>**20081008101618]
606[Add short DPH section to users guide
607Roman Leshchinskiy <rl@cse.unsw.edu.au>**20081008064754
608 
609 MERGE TO 6.10
610]
611[Users Guide: added type family documentation
612Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20081008061927
613 
614   MERGE TO 6.10
615]
616[Track changes to package dph
617Roman Leshchinskiy <rl@cse.unsw.edu.au>**20081008032859
618 
619 MERGE TO 6.10
620]
621[Build a profiled GHC API by default if p is in GhcLibWays
622Ian Lynagh <igloo@earth.li>**20081007152318]
623[Check whether mk/validate.mk defines anything after validating
624Ian Lynagh <igloo@earth.li>**20081007144855]
625[Remove #define _BSD_SOURCE from Stg.h
626Ian Lynagh <igloo@earth.li>**20081006101959
627 It's no longer needed, as base no longer #includes it
628]
629[Make ghctags compile again.
630Thomas Schilling <nominolo@googlemail.com>**20081007135705]
631[Revert AutoLinkPackages change for dynamic libraries. Cabal handles that now.
632Clemens Fruhwirth <clemens@endorphin.org>**20081007100417]
633[Change suffix for dyn. linked executables from _real to .dyn
634Clemens Fruhwirth <clemens@endorphin.org>**20081007100750]
635[Add accessors to 'Target' fields and haddockify.
636Thomas Schilling <nominolo@googlemail.com>**20081006222940
637 
638 MERGE TO 6.10
639]
640[Make 'gblock' and 'gunblock' part of 'ExceptionMonad'.  This way the
641Thomas Schilling <nominolo@googlemail.com>**20081006222831
642 default implementations of 'gbracket' and 'gfinally' just work.
643 
644 MERGE TO 6.10
645]
646[Add Word8 support to vectoriser
647Roman Leshchinskiy <rl@cse.unsw.edu.au>**20081007004416
648 
649 MERGE TO 6.10
650]
651[Fix generating OS X installers: Set COMMAND_MODE=unix2003
652Ian Lynagh <igloo@earth.li>**20081005222715
653 If we don't specify COMMAND_MODE=unix2003 then xcodebuild defaults
654 to setting it to legacy, which means that ar builds archives
655 without a table of contents. That makes the build fail later on.
656]
657[We need to set datadir = $(libdir) in bindists
658Ian Lynagh <igloo@earth.li>**20081005143307
659 We already do in the normal Makefiles.
660 
661 This is because GHC needs package.conf and unlit to be in the same place
662 (and things like ghc-pkg need to agree on where package.conf is, so we
663 just set it globally).
664]
665[prep-bin-dist-mingw complains if it finds a bad version of windres
666Ian Lynagh <igloo@earth.li>**20081004175351]
667[removed Data.Generics.Basics, added Data.Data
668'Jose Pedro Magalhaes <jpm@cs.uu.nl>'**20081002082808]
669[Fix a build problem with GHC 6.4.2
670Ian Lynagh <igloo@earth.li>**20081003195700]
671[No AutoLinkPackages for dynamic library linking
672Clemens Fruhwirth <clemens@endorphin.org>**20081003185304]
673[use ghcError for error in command line
674Clemens Fruhwirth <clemens@endorphin.org>**20081001125648]
675[Fix warnings
676simonpj@microsoft.com**20081003171207]
677[Always use extensible exceptions in ghc-pkg, rather than using ifdefs
678Ian Lynagh <igloo@earth.li>**20081003161247]
679[Use a proper exception for IOEnvFailure, not just a UserError
680Ian Lynagh <igloo@earth.li>**20081003160129]
681[Use an extensible-exceptions package when bootstrapping
682Ian Lynagh <igloo@earth.li>**20081003140216
683 Ifdefs for whether we had extensible exceptions or not were spreading
684 through GHC's source, and things would only have got worse for the next
685 2-3 years, so instead we now use an implementation of extensible
686 exceptions built on top of the old exception type.
687]
688[Expunge ThFake, cure Trac #2632
689simonpj@microsoft.com**20081003140423
690 
691 This patch fixes a dirty hack (the fake ThFake module), which in turn
692 was causing Trac #2632.
693 
694 The new scheme is that the top-level binders in a TH [d| ... |] decl splice
695 get Internal names.  That breaks a previous invariant that things like
696 TyCons always have External names, but these TyCons are never long-lived;
697 they live only long enough to typecheck the TH quotation; the result is
698 discarded.  So it seems cool.
699 
700 Nevertheless -- Template Haskell folk: please test your code.  The testsuite
701 is OK but it's conceivable that I've broken something in TH.  Let's see.
702 
703]
704[Make a debug check more refined
705simonpj@microsoft.com**20081003140144]
706[Add ASSERTs to all calls of nameModule
707simonpj@microsoft.com**20081003135334
708 
709 nameModule fails on an InternalName.  These ASSERTS tell you
710 which call failed.
711 
712]
713[Let parseModule take a ModSummary like checkAndLoadModule did.
714Thomas Schilling <nominolo@googlemail.com>**20081002230412
715 
716 To get the ModSummary for a ModuleName getModSummary can be used.
717 It's not called find* or lookup* because it assumes that the module is
718 in the module graph and throws an exception if it cannot be found.
719 Overall, I'm not quite sure about the usefulness of this function
720 since the user has no control about which filetype to grab (hs or
721 hs-boot).
722]
723[Remove some out-of-date entries from .darcs-boring
724Ian Lynagh <igloo@earth.li>**20081002201519]
725[TFs: Allow repeated variables in left-hand sides of instances
726Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20081002134539
727 
728   MERGE TO 6.10
729]
730[Clean up some comments
731Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20081002074642
732 
733   MERGE TO 6.10
734]
735[Make the new binder-swap stuff in OccurAnal work right for GlobalIds
736simonpj@microsoft.com**20081002133002
737 
738 See Note [Binder swap on GlobalId scrutinees].  I hadn't got this
739 right before, so repeated cases on imported Ids weren't getting optimised.
740 
741 
742]
743[Minor refactoring only
744simonpj@microsoft.com**20081002132929]
745[Comments only
746simonpj@microsoft.com**20081002132833]
747[Zap dead-ness info appropriately in SpecConstr
748simonpj@microsoft.com**20081002132657
749 
750 SpecConstr can make pattern binders come alive, so we must remember
751 to zap their dead-variable annotation.  See extendCaseBndrs.
752 
753 (This was triggering a Core Lint failure in DPH.)
754 
755]
756[Suppress invalid Core Lint complaint about lack of constructors
757simonpj@microsoft.com**20081002132426]
758[add some more GC roots (fixes conc048, and possibly some others)
759Simon Marlow <marlowsd@gmail.com>**20081001164427]
760[Document +RTS -hT
761Simon Marlow <marlowsd@gmail.com>**20081001163222
762 We forgot to document this in GHC 6.8
763]
764[fix new-qualified-operators link
765Simon Marlow <marlowsd@gmail.com>**20081001163105]
766[Proper error message for unsupported pattern signatures
767Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20081001144339
768 - Pattern signatures must be identical to the type expected for the pattern;
769   see Note [Pattern coercions]
770 - We now signal an appropriate error if an equality coercion would be needed
771   (instead of just generating Core that doesn't typecheck)
772 
773   MERGE TO 6.10
774]
775[Prevent excessive inlining with DPH
776Roman Leshchinskiy <rl@cse.unsw.edu.au>**20081002012055
777 
778 This adds a new flag -finline-if-enough-args which disables inlining for
779 partially applied functions. It is automatically set by -Odph. This is a
780 temporary hack and should remain undocumented.
781 
782 MERGE TO 6.10
783 
784]
785[On Windows, check that we have a good version of windres when configuring
786Ian Lynagh <igloo@earth.li>**20081001171133]
787[Call $(PERL) rather than perl when making the manpage
788Ian Lynagh <igloo@earth.li>**20080930155054]
789[don't install the installPackage program
790Ian Lynagh <igloo@earth.li>**20080930145714]
791[Fix #2637: conc032(threaded2) failure
792Simon Marlow <marlowsd@gmail.com>**20081001135549
793 There was a race condition whereby a thread doing throwTo could be
794 blocked on a thread that had finished, and the GC would detect this
795 as a deadlock rather than raising the pending exception.  We can't
796 close the race, but we can make the right thing happen when the GC
797 runs later.
798]
799[Remove outdated link to OGI webpage
800Simon Marlow <marlowsd@gmail.com>**20080930150912]
801[TFs: Fixed InstContextNorm (and simplification of IPs)
802Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20081001131303
803 
804   MERGE TO 6.10
805]
806[TcSimplify.reduceImplication: clean up
807Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20081001091315
808 - This cleans up some of the mess in reduceImplication and documents the
809   precondition on the form of wanted equalities properly.
810 - I also made the back off test a bit smarter by allowing to back off in the
811   presence of wanted equalities as long as none of them got solved in the
812   attempt.  (That should save generating some superfluous bindings.)
813 
814   MERGE TO 6.10
815]
816[Make sure to zonk the kind of coercion variables
817Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20081001053243
818 
819   MERGE TO 6.10
820]
821[Remover PROT_EXEC flag from mmap()
822Simon Marlow <marlowsd@gmail.com>**20080930141842
823 Needed for #738 fix
824]
825[Fix #2410: carefully generate unique names for CAF CCs
826Simon Marlow <marlowsd@gmail.com>**20080930141812]
827[fix #2594: we were erroneously applying masks, as the reporter suggested
828Simon Marlow <marlowsd@gmail.com>**20080930115611
829 My guess is that this is left over from when we represented Int8 and
830 friends as zero-extended rather than sign-extended.  It's amazing it hasn't
831 been noticed earlier.
832]
833[Unconditionalize definition of DYNAMIC_* so that libffi.so/.dll is removed even when BuildSharedLibs is reset to NO
834Clemens Fruhwirth <clemens@endorphin.org>**20080930085449]
835[Type families: need to instantiate flexible skolems before other flexibles
836Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080930053559
837 
838 MERGE TO 6.10
839]
840[Fix warnings
841Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080929142227]
842[Type families: consider subst rules both way
843Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080929141040
844 - applySubstFam, applySubstVarVar & applySubstVarFam need to return their
845   second argument -to be put into the todo list- if the rule would be
846   applicable if the equalities would be supplied in the opposite order.
847 
848 MERGE TO 6.10
849]
850[Clean up a bit and improve an error message
851pepe**20080926211429]
852[Don't capture error calls in tryUser
853pepe**20080926204836
854 
855 A previous patch slightly changed the semantics of tryUser.
856 This patch restores the original behaviour
857 (as expected in :print)
858 
859]
860[tweaks to this section of the docs
861Simon Marlow <simonmar@microsoft.com>**20080927141834]
862[Add -outputdir flag (#2295)
863Simon Marlow <simonmar@microsoft.com>**20080927141822]
864[oops, forgot to add -XNewQualifiedOperators to the flags table
865Simon Marlow <simonmar@microsoft.com>**20080923140449]
866[Fix making OS X installers from source tarballs
867Ian Lynagh <igloo@earth.li>**20080927150507
868 I'm not sure why it works in the HEAD, but when making an installer
869 from the 6.10.1 beta configure hangs when doing the CHECK_HIST_ERRORS
870 test (during rl_initialize, I believe). Giving make /dev/null as stdin
871 fixes it.
872]
873[Fix #2411: missing case for CATCH_STM_FRAME in raiseAsync()
874Simon Marlow <simonmar@microsoft.com>**20080926232806]
875[Fix parsing of -ignore-package flag.
876Bertram Felgenhauer <int-e@gmx.de>**20080925053820]
877[Add an example of how to use SCCs to the user guide
878Ian Lynagh <igloo@earth.li>**20080926203832]
879[Add some description of the +RTS -t/-s/-S output
880Ian Lynagh <igloo@earth.li>**20080926200203]
881[Remove a redundant options pragma
882Ian Lynagh <igloo@earth.li>**20080926152731]
883[Split ShowVersion etc off into a different type to DoInteractive etc
884Ian Lynagh <igloo@earth.li>**20080926140539
885 This fixes trac #1348 (ghci --help gave ghc's help), and also tidies
886 things up a bit. Things would be even tidier if the usage.txt files were
887 put into a .hs file, so that ShowUsage wouldn't need to be able to find
888 the libdir.
889]
890[Pass SRC_HC_OPTS to GHC when building GHC's Main.hs
891Ian Lynagh <igloo@earth.li>**20080926131609]
892[Improve runghc docs; fixes trac #2477
893Ian Lynagh <igloo@earth.li>**20080926124425]
894[Type families: fixes in flattening & finalisation
895Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080925225324
896 * Finalisation didn't do the right thing for equalities x ~ y, where
897   x was instantiated, but not zonked and y flexible (need to do y := x)
898 * During flattening we weren't careful enough when turning wanteds
899   intermediates into locals
900 
901 Both bugs showed up in a small example of SPJ:
902 
903   linear :: HasTrie (Basis v) => (Basis v, v)
904   linear =  basisValue
905 
906   class HasTrie a where
907 
908   type family Basis u :: *
909 
910   basisValue :: (Basis v,v)
911   basisValue = error "urk"
912 
913]
914[Fix the behaviour of flags like --help and --version; fixes trac #2620
915Ian Lynagh <igloo@earth.li>**20080925165618
916 They should override other mode flags, not conflict with them
917]
918[Follow the integer package changes
919Ian Lynagh <igloo@earth.li>**20080925133855]
920[Type families: fix decomposition problem
921Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080925084139
922 * Fixes the problem reported in
923   <http://www.haskell.org/pipermail/haskell-cafe/2008-July/044911.html>
924]
925[Don't exit ghci if :info is called on an undefined identifier.
926Judah Jacobson <judah.jacobson@gmail.com>**20080924212422]
927[Fix maintainer-clean
928Ian Lynagh <igloo@earth.li>**20080924230553]
929[Use -f when making the runhaskell symlink
930Ian Lynagh <igloo@earth.li>**20080924124255
931 Otherwise installation fails if runhaskell already exists.
932]
933[Use -perm -100 rather than -perm /a+x when looking for executable files
934Ian Lynagh <igloo@earth.li>**20080924124137
935 /a+x doesn't work on some Solaris and OS X machines. Spotted by
936 Christian Maeder.
937]
938[Use $(FIND) rather than find, as the former may be gfind
939Ian Lynagh <igloo@earth.li>**20080924123323]
940[Look for gfind as well as find
941Ian Lynagh <igloo@earth.li>**20080924123046]
942[In configure, don't call FPTOOLS_HADDOCK
943Ian Lynagh <igloo@earth.li>**20080924122558
944 We now use the in-tree haddock, so we don't need to look for it.
945]
946[Use $(TAR) rather than tar
947Ian Lynagh <igloo@earth.li>**20080924121759
948 Fixes problems on Solaris, where we need to use gtar instead of tar
949]
950[Add $(strip) to a Makefile test
951Ian Lynagh <igloo@earth.li>**20080924120940
952 Fixes making bindists on solaris. Patch from Christian Maeder.
953]
954[Use test -f rather than test -e, for portability (Solaris)
955Ian Lynagh <igloo@earth.li>**20080924120840]
956[Remove some dependencies on bootstrapping.conf from libraries/Makefile
957Ian Lynagh <igloo@earth.li>**20080923205755
958 They were causing some unnecessary work:
959 Running make in a built tree reregisters the GHC package in
960 bootstrapping.conf, and the build system thought that this updated
961 timestamp meant that the configure stamps were out of date. This is
962 particularly bad for the libraries with configure scripts, as those
963 take a while to run.
964 
965 The bootstrapping.conf is built in an earlier phase ("make boot") so
966 one shouldn't rely on the dependencies anyway.
967]
968[Bump the version number to 6.11
969Ian Lynagh <igloo@earth.li>**20080923165613]
970[Generalise type of 'defaultErrorHandler' so it can be used inside a Ghc session.
971Thomas Schilling <nominolo@googlemail.com>**20080921085647]
972[Make "sh -e boot" work
973Ian Lynagh <igloo@earth.li>**20080921111508]
974[Use -f rather than -e for portability
975Ian Lynagh <igloo@earth.li>**20080921111436]
976[Add some special cases for putting dph in bindists
977Ian Lynagh <igloo@earth.li>**20080921000406]
978[Escape a hash in the Makefile (it was breaking source dist creation)
979Ian Lynagh <igloo@earth.li>**20080920232945]
980[Disallow package flags in OPTIONS_GHC pragmas (#2499)
981Simon Marlow <simonmar@microsoft.com>**20080923173904]
982[#2566: emit a warning for 'ghc -c foo.bar'
983Simon Marlow <simonmar@microsoft.com>**20080923144956
984 
985 $ ghc -c foo.bar
986 Warning: the following files would be used as linker inputs, but linking is not being done: foo.bar
987 ghc: no input files
988 Usage: For basic information, try the `--help' option.
989]
990[Fix to new executable allocation code (fixed print002 etc.)
991Simon Marlow <simonmar@microsoft.com>**20080922210915
992 The problem here is caused by the fact that info tables include a
993 relative offset to the string naming the constructor.  Executable
994 memory now resides at two places in the address space: one for writing
995 and one for executing.  In the info tables generated by GHCi, we were
996 calculating the offset relative to the writable instance, rather than
997 the executable instance, which meant that the GHCi debugger couldn't
998 find the names for constructors it found in the heap.
999]
1000[clean sm/Evac_thr.c and sm/Scav_thr.c
1001Simon Marlow <simonmar@microsoft.com>**20080922152827]
1002[add -XNewQualifiedOperators (Haskell' qualified operator syntax)
1003Simon Marlow <simonmar@microsoft.com>**20080922152340]
1004[Fix Trac #2597 (first bug): correct type checking for empty list
1005simonpj@microsoft.com**20080920212010
1006 
1007 The GHC front end never generates (ExplicitList []), but TH can.
1008 This patch makes the typechecker robust to such programs.
1009 
1010]
1011[Fix Trac #2597 (second bug): complain about an empty DoE block
1012simonpj@microsoft.com**20080920211101
1013 
1014 When converting an empty do-block from TH syntax to HsSyn,
1015 complain rather than crashing.
1016 
1017]
1018[Update dependencies
1019Ian Lynagh <igloo@earth.li>**20080920183534]
1020[Fix building with GHC 6.6
1021Ian Lynagh <igloo@earth.li>**20080920162918]
1022[Remove fno-method-sharing from the list of static flags
1023Ian Lynagh <igloo@earth.li>**20080920010635
1024 It is now a dynamic flag
1025]
1026[Tidy up the treatment of dead binders
1027simonpj@microsoft.com**20080920175238
1028 
1029 This patch does a lot of tidying up of the way that dead variables are
1030 handled in Core.  Just the sort of thing to do on an aeroplane.
1031 
1032 * The tricky "binder-swap" optimisation is moved from the Simplifier
1033   to the Occurrence Analyser.  See Note [Binder swap] in OccurAnal.
1034   This is really a nice change.  It should reduce the number of
1035   simplifier iteratoins (slightly perhaps).  And it means that
1036   we can be much less pessimistic about zapping occurrence info
1037   on binders in a case expression. 
1038 
1039 * For example:
1040        case x of y { (a,b) -> e }
1041   Previously, each time around, even if y,a,b were all dead, the
1042   Simplifier would pessimistically zap their OccInfo, so that we
1043   can't see they are dead any more.  As a result virtually no
1044   case expression ended up with dead binders.  This wasn't Bad
1045   in itself, but it always felt wrong.
1046 
1047 * I added a check to CoreLint to check that a dead binder really
1048   isn't used.  That showed up a couple of bugs in CSE. (Only in
1049   this sense -- they didn't really matter.)
1050   
1051 * I've changed the PprCore printer to print "_" for a dead variable.
1052   (Use -dppr-debug to see it again.)  This reduces clutter quite a
1053   bit, and of course it's much more useful with the above change.
1054 
1055 * Another benefit of the binder-swap change is that I could get rid of
1056   the Simplifier hack (working, but hacky) in which the InScopeSet was
1057   used to map a variable to a *different* variable. That allowed me
1058   to remove VarEnv.modifyInScopeSet, and to simplify lookupInScopeSet
1059   so that it doesn't look for a fixpoint.  This fixes no bugs, but
1060   is a useful cleanup.
1061 
1062 * Roman pointed out that Id.mkWildId is jolly dangerous, because
1063   of its fixed unique.  So I've
1064 
1065      - localied it to MkCore, where it is private (not exported)
1066 
1067      - renamed it to 'mkWildBinder' to stress that you should only
1068        use it at binding sites, unless you really know what you are
1069        doing
1070 
1071      - provided a function MkCore.mkWildCase that emodies the most
1072        common use of mkWildId, and use that elsewhere
1073 
1074    So things are much better
1075 
1076 * A knock-on change is that I found a common pattern of localising
1077   a potentially global Id, and made a function for it: Id.localiseId
1078 
1079]
1080[Gix the ghcii script
1081Ian Lynagh <igloo@earth.li>**20080919174651
1082 The ghc executable name doesn't have a version number on Windows, so
1083 don't put one in the script.
1084]
1085[Create runhaskell as well as runghc
1086Ian Lynagh <igloo@earth.li>**20080919153010]
1087[On Linux use libffi for allocating executable memory (fixed #738)
1088Simon Marlow <marlowsd@gmail.com>**20080919134602]
1089[Move the context_switch flag into the Capability
1090Simon Marlow <marlowsd@gmail.com>**20080919102601
1091 Fixes a long-standing bug that could in some cases cause sub-optimal
1092 scheduling behaviour.
1093]
1094[Fix building the extralibs tarball
1095Ian Lynagh <igloo@earth.li>**20080919133555
1096 We now need to dig the appropriate lines out of packages, rather than
1097 just catting libraries/extra-packages, in order to find out what the
1098 extralibs are.
1099]
1100[Install libffi when installing frmo a bindist
1101Ian Lynagh <igloo@earth.li>**20080919130332]
1102[Fix how we put libffi into bindists
1103Ian Lynagh <igloo@earth.li>**20080919125528]
1104[TAG 6.10 branch has been forked
1105Ian Lynagh <igloo@earth.li>**20080919123437]
1106[Don't require Parser.y in a source dist
1107Ian Lynagh <igloo@earth.li>**20080919115831]
1108[Add HpcParser.hs to source dists
1109Ian Lynagh <igloo@earth.li>**20080919115816]
1110[Fix the list of generated files that need to go into the source dists
1111Ian Lynagh <igloo@earth.li>**20080919112522]
1112[Improve documentation of overlapping instances
1113simonpj@microsoft.com**20080919093147]
1114[Put generated files in source dists
1115Ian Lynagh <igloo@earth.li>**20080918194424
1116 We don't want to require that users building source dists have alex/happy
1117]
1118[Add libraries/syb to .darcs-boring
1119Ian Lynagh <igloo@earth.li>**20080918190116]
1120[Fix a couple of issues with :print
1121pepe**20080918122133
1122       
1123       - Ticket #1995: Unsoundness with newtypes
1124       - Ticket #2475: "Can't unify" error when stopped at an exception
1125       
1126       In addition this patch adds the following:
1127       
1128       - Unfailingness: RTTI cannot panic anymore.
1129         In case of failure, it recovers gracefully by returning the "I know nothing" type
1130       - A -ddump-rtti flag
1131 
1132]
1133[wibble
1134pepe <mnislaih@gmail.com>**20080418172303]
1135[RichTokenStream support
1136Chaddai Fouche <chaddai.fouche@gmail.com>**20080918165256
1137 
1138 This patch adds support for raw token streams, that contain more
1139 information than normal token streams (they contains comments at
1140 least). The "lexTokenStream" function brings this support to the
1141 Lexer module. In addition to that, functions have been added to
1142 the GHC module to make easier to recover of the token stream of
1143 a module ("getTokenStream").
1144 
1145 Building on that, I added what could be called "rich token
1146 stream": token stream to which have been added the source string
1147 corresponding to each token, the function addSourceToToken takes
1148 a StringBuffer and a starting SrcLoc and a token stream and build
1149 this rich token stream. getRichTokenStream is a convenience
1150 function to get a module rich token stream. "showRichTokenStream"
1151 use the SrcLoc information in such a token stream to get a string
1152 similar to the original source (except unsignificant
1153 whitespaces). Thus "putStrLn . showRichTokenStream =<<
1154 getRichTokenStream s mod" should print a valid module source, the
1155 interesting part being to modify the token stream between the get
1156 and the show of course.
1157]
1158[When passing gcc -B, also tell it where the mingw include directory is
1159Ian Lynagh <igloo@earth.li>**20080918143312]
1160[Don't put the mingw directory in RTS's package.conf
1161Ian Lynagh <igloo@earth.li>**20080918143118]
1162[Be more forceful when cleaning in compiler/ and ghc/
1163Ian Lynagh <igloo@earth.li>**20080918134443
1164 Now that the Cabal file is generated by configure, it would be nice
1165 if clean worked even if the cabal file is missing. So now we just rm -rf
1166 the dist directory.
1167]
1168[Generate ghc.cabal and ghc-bin.cabal with configure
1169Ian Lynagh <igloo@earth.li>**20080918133636
1170 This allows us to put the proper version number into them
1171]
1172[Make the ghci scripts point to the versioned GHC program, not just "ghc"
1173Ian Lynagh <igloo@earth.li>**20080918122516]
1174[Fix Trac #1470: improve handling of recursive instances (needed for SYB3)
1175simonpj@microsoft.com**20080918161719
1176 
1177 This bug has been hanging around for a long time, as you'll see by its
1178 number. The fix implements a feature that is really needed by SYB3, to
1179 allow an instance to (rather indirectly) refer to itself.  The trickiness
1180 comes when solving the superclass constraints.
1181 
1182 The whoel issue is explained in Note [Recursive instances and superclases]
1183 in TcSimplify.
1184 
1185 In cracking this one I found I could remove the WantSCs argument to the
1186 ReduceMe flag, which is a worthwhile simplification.  Good!
1187 
1188]
1189[Comments only
1190simonpj@microsoft.com**20080918155602]
1191[Replace ASSERT with WARN, and explain why
1192simonpj@microsoft.com**20080918155245
1193 
1194 The DPH library tripped an ASSERT.  The code is actually OK, but it's
1195 badly-optimised so I changed it to WARN.  The issue here is explained
1196 in ClosureInfo, Note [Unsafe coerce complications].
1197 
1198]
1199[Add a missing "prime" (env' --> env'') thereby fixing a tripping WARN.  Hurrah!
1200simonpj@microsoft.com**20080918155144]
1201[Fix nasty infelicity: do not short-cut empty substitution in the simplifier
1202simonpj@microsoft.com**20080917162910
1203 
1204 I was perplexed about why an arity-related WARN was tripping. It took
1205 me _day_ (sigh) to find that it was because SimplEnv.substExpr was taking
1206 a short cut when the substitution was empty, thereby not subsituting for
1207 Ids in scope, which must be done (CoreSubst Note [Extending the Subst]).
1208 
1209 The fix is a matter of deleting the "optimisation".  Same with
1210 CoreSubst.substSpec, although I don't know if that actually caused a
1211 probem.
1212 
1213]
1214[Avoid arity reduction when doing eta-reduce
1215simonpj@microsoft.com**20080917162704
1216 
1217 We like things with high arity, so when doing eta reduction
1218 it's probably a good idea to avoid reducing arity.
1219 
1220]
1221[Add extra WARN test
1222simonpj@microsoft.com**20080917162434
1223 
1224 This warning tests that the arity of a function does not decrease.
1225 And that it's at least as great as the strictness signature.
1226 
1227 Failing this test isn't a disater, but it's distinctly odd and
1228 usually indicates that not enough information is getting propagated
1229 around, and hence you may get more simplifier iterations.
1230 
1231]
1232[Comments only
1233simonpj@microsoft.com**20080917162350]
1234[Re-adjust interaction between -ddump flags and force-recompilation
1235simonpj@microsoft.com**20080917161920
1236 
1237 If you say -ddump-xx we effectively add -fforce-recomp, so that you
1238 see your dump output.  But this works badly in --make mode, because
1239 you get the ddump output for every module, which is probably not what
1240 you want.  This patch forces recompilation with -ddump-X only in one-shot
1241 mode. 
1242 
1243 Of course, this only affects people using -ddump options.
1244 
1245]
1246[Add Outputable GhcMode instance
1247simonpj@microsoft.com**20080917161847]
1248[Improve error reporting for 'deriving' (Trac #2604)
1249simonpj@microsoft.com**20080917135104]
1250[Add link to GADT paper re rigid types
1251simonpj@microsoft.com**20080916094521]
1252[Fix MacOS X build: don't believe __GNUC_GNU_INLINE__ on MacOS X
1253Simon Marlow <marlowsd@gmail.com>**20080918112856]
1254[require Alex version 2.1.0
1255Simon Marlow <marlowsd@gmail.com>**20080918112812
1256 Having 2.0.1 causes some unicode tests to fail
1257]
1258[Type families: fixes in the new solver
1259Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080918100934]
1260[ext-core library: Parser fixes; make it build with the HEAD
1261Tim Chevalier <chevalier@alum.wellesley.edu>**20080918090349
1262 
1263 In the ext-core parser I guess I never tested:
1264 * existential type variable bindings in case alts
1265 * empty data declarations
1266 
1267 That'll learn me!
1268]
1269[Wibble ghc-pkg imports to fix building on Windows
1270Ian Lynagh <igloo@earth.li>**20080917210813]
1271[ghc-pkg needs to make package.conf with sensible permissions
1272Ian Lynagh <igloo@earth.li>**20080917192155
1273 It was calling openTempFile which uses a 600 permissions mask.
1274]
1275[Change 'loadWithCompiler' callback argument to just print warnings.
1276Thomas Schilling <nominolo@googlemail.com>**20080917102925
1277 Rename function accordingly.
1278 
1279 The callback wasn't very flexible to begin with.  There's pretty much
1280 no way around to calling 'compile' inside that callback since
1281 'upsweep' depends on certain side effects of compile.  It therefore
1282 makes more sense to restrict the callback to its intended use only,
1283 namely to log warnings and errors.
1284]
1285[Fix: GhcStage2HcOpts were being added to stage 3 too
1286Simon Marlow <marlowsd@gmail.com>**20080917085917]
1287[Type families: unify with family apps in checking mode
1288Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080917062548]
1289[Type families: bug fixes
1290Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080916151254]
1291[Keep sysnonyms folded in equalities if possible
1292Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080916075700]
1293[Type families: apply flattening coercions in the right order
1294Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080916055136]
1295[TcTyFuns: tidy warning
1296Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080915031423]
1297[Signature for Inst.isValidWantedEqInst
1298Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080915030118]
1299[Remember if RewriteInst is swapped & bug fixes
1300Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080914163639]
1301[Type families: fixed all non-termination in the testsuite
1302Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080914120638]
1303[Type families: completed the new equality solver
1304Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20080913133631
1305 - Implements normalisation of class constraints containing synonym family
1306   applications or skolems refined by local equalities.
1307 - Clean up of TcSimplify.reduceContext by using the new equality solver.
1308 - Removed all the now unused code of the old algorithm.
1309 - This completes the implementation of the new algorithm, but it is largely
1310   untested => many regressions.
1311]
1312[Use the new -optdep flag replacements when building with >= GHC 6.9
1313Ian Lynagh <igloo@earth.li>**20080916220057
1314 Fix building the HEAD with itself
1315]
1316[Use "exec" when running ghc in the wrapper
1317Ian Lynagh <igloo@earth.li>**20080915100217]
1318[Add "#!/bin/sh" to runghc.wrapper
1319Ian Lynagh <igloo@earth.li>**20080914153507]
1320[Add a "#!/bin/sh" to ghc.wrapper
1321Ian Lynagh <igloo@earth.li>**20080914153344]
1322[Fixing directory creation to not create "" directories inside hpc report (harmless but needless)
1323andygill@ku.edu**20080916172313]
1324[Fix Trac #2052 Allowing hpc to understand hsc files.
1325andygill@ku.edu**20080916030521]
1326[Fix Trac #2311: creates subdirs for package coverage information
1327andygill@ku.edu**20080915204322]
1328[FIX #2469: sort out our static/extern inline story
1329Simon Marlow <marlowsd@gmail.com>**20080916132222
1330 gcc has changed the meaning of "extern inline" when certain flags are
1331 on (e.g. --std=gnu99), and this broke our use of it in the header
1332 files.
1333]
1334[Fix a warning
1335Simon Marlow <marlowsd@gmail.com>**20080916130922]
1336[Make the matching of the filename ghc.exe case insensitive, fixes bug #2603
1337Neil Mitchell <ndmitchell@gmail.com>**20080916160311]
1338[Stop using mremap() to allocate space for trampolines
1339Simon Marlow <marlowsd@gmail.com>**20080915145924
1340 
1341 This was causing problems because sometimes mremap() moved the memory
1342 we had allocated from the low 2Gb to above the 2Gb boundary, causing
1343 some linkages to fail.  There's no MAP_32BIT flag to mremap().
1344 
1345 So now we just use mmap(MAP_ANON|MAP_32BIT) to allocated space for the
1346 trampolines.  People without MAP_32BIT (eg. *BSD) will still have to
1347 do something else here, such as allocating memory from a fixed
1348 address; so I've made it slightly easier for those guys, but there's
1349 still work to do (#2063).
1350 
1351 One solution (that Simon PJ is advocating) is to turn on -fPIC by
1352 default on x86-64.  This is a good solution as it removes the need for
1353 MAP_32BIT, but doesn't work with -fvia-C, so probably this is for
1354 later.
1355]
1356[add $(GhcStage[123]HcOpts)
1357Simon Marlow <marlowsd@gmail.com>**20080912155549]
1358[Improve handling of -fdph-* flags
1359Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080916034746]
1360[Add -fdph-this
1361Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080916033710]
1362[Remove last traces of package ndp
1363Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080916033428]
1364[Clean up vectorisation error messages
1365Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080916013236]
1366[Fix vectoriser bug
1367Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080915042823
1368 
1369 We were using mkWildId in situations where it cause disastrous shadowing
1370]
1371[Track changes to dph
1372Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080912114028]
1373[Change desugaring of PArr literals
1374Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080912015609]
1375[Expose the dph packages automatically if -dph-* is set
1376Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080912004403]
1377[Don't panic on non-vectorisable expressions
1378Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080911054333]
1379[-Odph implies -fno-spec-constr-count
1380Roman Leshchinskiy <rl@cse.unsw.edu.au>**20080910045339]
1381[Improve warning for SpecConstr
1382simonpj@microsoft.com**20080915154908]
1383[White space only
1384simonpj@microsoft.com**20080915154841]
1385[Minor refactoring to get rid of Type.splitNewTyConApp
1386simonpj@microsoft.com**20080915072946]
1387[Refactor the desugaring of RULE lhss a bit
1388simonpj@microsoft.com**20080915150601
1389 
1390 This is just a tidy-up.  Previously we were calling occurAnalyse
1391 twice on each LHS which was silly and a bit unclean too. 
1392 
1393 This patch should have no overall effect, though.
1394 
1395]
1396[Do not use the Static Arg Transformation by default with -O2
1397simonpj@microsoft.com**20080915150433
1398 
1399 Max has some more heuristics to add, and is meanwhile worried
1400 that having SAT on by default will make some highly-tuned array
1401 programs worse.  So it's off by default. 
1402 
1403 Use -fstatic-argument-transformation to switch it on.
1404 
1405]
1406[Comments, and a couple of asserts, only
1407simonpj@microsoft.com**20080914114641]
1408[Fix Trac #2587: take account of type lets
1409simonpj@microsoft.com**20080914113434
1410 
1411 GHC allows a non-recursive let for type varaibles
1412        let a = TYPE ty in ...
1413 But the free-variable finder had not caught up with this
1414 fact. This patch catches up.
1415 
1416]
1417[Don't try to float type-lets
1418simonpj@microsoft.com**20080914113324
1419 
1420 A type let shouldn't really occur in SetLevels, but if it does,
1421 this patch makes sure it is left alone.
1422 
1423]
1424[add refs and fix a bug (noted by Peter Gammie) in docs of arrow notation
1425Ross Paterson <ross@soi.city.ac.uk>**20080915104757]
1426[Generalise type of 'withExtendedLinkEnv'.
1427Thomas Schilling <nominolo@googlemail.com>**20080915085738]
1428[Use 'GhcMonad' in ghci/InteractiveUI.
1429Thomas Schilling <nominolo@googlemail.com>**20080915085633]
1430[Use 'GhcMonad' in ghci/GhciTags.
1431Thomas Schilling <nominolo@googlemail.com>**20080915084922]
1432[Use 'GhcMonad' in ghci/Debugger.
1433Thomas Schilling <nominolo@googlemail.com>**20080915084738]
1434[Use 'GhcMonad' in ghci/GhciMonad.
1435Thomas Schilling <nominolo@googlemail.com>**20080915084646]
1436[Use 'GhcMonad' in ghc/Main.
1437Thomas Schilling <nominolo@googlemail.com>**20080914232957]
1438[Require PatternSignatures for bootstrapping compiler.
1439Thomas Schilling <nominolo@googlemail.com>**20080914232642]
1440[Use 'GhcMonad' in InteractiveEval.
1441Thomas Schilling <nominolo@googlemail.com>**20080914232454]
1442[Use 'GhcMonad' in GHC and split up checkModule into phases.
1443Thomas Schilling <nominolo@googlemail.com>**20080914232044
1444 
1445 I'm not sure I covered all the ways of throwing errors in the code.
1446 Some functions throw ProgramErrors, some error messages.  It's still
1447 quite a mess, but we're getting closer.  The missing cases are mostly
1448 errors that cannot be fixed by the API client either or are a result
1449 of wrong usage, so are in any case fatal.
1450 
1451 One function, 'getModuleInfo', still returns a 'Maybe', but the
1452 documentation suggests it should always succeed.  So I may change that
1453 soon.
1454 
1455 The spit-up of of 'checkModule' has pros and cons.  The various forms
1456 of 'checkModule*' now become:
1457 
1458  checkAndLoadModule ms False ~~>
1459     loadModule =<< typecheckModule =<< parseModule (ms_mod_name ms)
1460 
1461  checkAndLoadModule ms True ~~>
1462    loadModule =<< desugarModule =<< typecheckModule =<< parseModule (ms_mod_name ms)
1463 
1464  checkModule mn False ~~>
1465    typecheckModule =<< parseModule mn
1466 
1467  checkModule mn True ~~>
1468    desugarModule =<< typecheckModule =<< parseModule mn
1469 
1470 The old APIs cannot easily be provided, since the result type would be
1471 different depending on the second argument.  However, a more
1472 convenient API can be modelled on top of these four functions
1473 ({parse,typecheck,desugar,load}Module).
1474]
1475[Use 'GhcMonad' in DriverPipeline.  Also haddockify a bit while we're at it.
1476Thomas Schilling <nominolo@googlemail.com>**20080914220628]
1477[Use 'GhcMonad' in HscMain.
1478Thomas Schilling <nominolo@googlemail.com>**20080914213655]
1479[Use 'GhcMonad' in DriverMkDepend.
1480Thomas Schilling <nominolo@googlemail.com>**20080914212113]
1481[Haddockify DynFlags (partial).
1482Thomas Schilling <nominolo@googlemail.com>**20080914211718]
1483[Haddockify 'IE'.
1484Thomas Schilling <nominolo@googlemail.com>**20080914210016]
1485[Provide accessors for 'ImportDecl'.
1486Thomas Schilling <nominolo@googlemail.com>**20080914205811]
1487[Start haddockifying 'HsBindLR'.
1488Thomas Schilling <nominolo@googlemail.com>**20080914205629]
1489[Document 'parseStaticFlags'.
1490Thomas Schilling <nominolo@googlemail.com>**20080914205316]
1491[Introduce 'GhcMonad' class and two default implementations 'Ghc' and 'GhcT'.
1492Thomas Schilling <nominolo@googlemail.com>**20080914204930
1493 
1494 This monad will be required by most public API calls.
1495]
1496[Give the "Failing due to -Werror" message a name.
1497Thomas Schilling <nominolo@googlemail.com>**20080914173904]
1498[Make typechecker top-level functions also return messages instead of
1499Thomas Schilling <nominolo@googlemail.com>**20080914173228
1500 printing them.
1501]
1502[Reflect changes of desugarer error reporting in VectMonad.
1503Thomas Schilling <nominolo@googlemail.com>**20080914172711]
1504[Generalise 'handleGhcException' to work with any 'ExceptionMonad'.
1505Thomas Schilling <nominolo@googlemail.com>**20080914172404]
1506[Introduce an 'ExceptionMonad' class.
1507Thomas Schilling <nominolo@googlemail.com>**20080914172154
1508 
1509 This monad provides variants of 'catch', 'bracket', and 'finally', so
1510 exceptions can be handled in monads that wrap IO.  The latter two
1511 methods need to be part of the class definition, because GHC uses
1512 'block' and 'unblock' which are used in the definition of those two
1513 methods for the IO monad.  A perhaps better class interface would
1514 consist of 'gcatch', 'gblock', and 'gunblock' and let the latter two
1515 default to 'id' like is done for non-GHC implementations of 'bracket'
1516 and 'finally'.
1517]
1518[Provide default MonadIO instance for IO.
1519Thomas Schilling <nominolo@googlemail.com>**20080914164245]
1520[Return instead of print warnings and errors in desugarer.
1521Thomas Schilling <nominolo@googlemail.com>**20080914163641]
1522[Return parser errors and warnings instead of dying.
1523Thomas Schilling <nominolo@googlemail.com>**20080914162644]
1524[Add aliases for bags of warnings and errors.
1525Thomas Schilling <nominolo@googlemail.com>**20080914160337]
1526[Slightly more helpful panic message in DynFlags
1527Tim Chevalier <chevalier@alum.wellesley.edu>**20080915080650]
1528[Comments only: ".core" => ".hcr"
1529Tim Chevalier <chevalier@alum.wellesley.edu>**20080914203645]
1530[We need to tell ghc-pkg to --force if we've only built a profiling library
1531Ian Lynagh <igloo@earth.li>**20080913153142]
1532[If we're profiling GHC, don't bother building the GHC package the vanilla way
1533Ian Lynagh <igloo@earth.li>**20080913144820]
1534[Remove the duplicate show rule in libraries/Makefile
1535Ian Lynagh <igloo@earth.li>**20080913144413]
1536[Move the "show" target from target.mk to boilerplate.mk
1537Ian Lynagh <igloo@earth.li>**20080913141312
1538 target.mk isn't included everywhere, but show is always handy
1539]
1540[Change how we detect if we are using the bootstrapping compiler or not
1541Ian Lynagh <igloo@earth.li>**20080913104658
1542 I think looking for $(GHC_COMPILER_DIR_ABS) was failing on the Windows
1543 buildbot due to different path separators. Now we just look for
1544 "inplace".
1545]
1546[wibble the distrib Makefile
1547Ian Lynagh <igloo@earth.li>**20080912135932
1548 We now need to install driver after ghc
1549]
1550[Reinstate the driver/ghc directory, to create a versioned GHC program
1551Ian Lynagh <igloo@earth.li>**20080912113619
1552 e.g. $(bindir)/ghc-6.9.20080911
1553]
1554[If USE_NEW_MKDEPEND_FLAGS is YES then don't use the deprecated -optdep flags
1555Ian Lynagh <igloo@earth.li>**20080912110316]
1556[Use --force-local when calling tar in bindisttest/
1557Ian Lynagh <igloo@earth.li>**20080912012855
1558 Otherwise it thinks that c:/foo is a remote file
1559]
1560[Fix #2586, bug in THUNK_SELECTORs (again)
1561Simon Marlow <marlowsd@gmail.com>**20080912130404
1562 This time, we had forgetten the write barrier in one place.
1563]
1564[TAG 2008-09-12 2
1565Ian Lynagh <igloo@earth.li>**20080912132848]
1566Patch bundle hash:
15673c3919626714dfd28b1cf2536f392c12317adba7