Ticket #1283: patch

File patch, 52.5 KB (added by haskell@…, 8 years ago)

Patch

Line 
1
2New patches:
3
4[thread-safe getStdRandom and newStdGen
5Matthew Brecknell <[email protected]>**20070418030039] {
6hunk ./System/Random.hs 406
7-newStdGen = do
8-  rng <- getStdGen
9-  let (a,b) = split rng
10-  setStdGen a
11-  return b
12+newStdGen = atomicModifyIORef theStdGen split
13hunk ./System/Random.hs 419
14-getStdRandom f = do
15-   rng         <- getStdGen
16-   let (v, new_rng) = f rng
17-   setStdGen new_rng
18-   return v
19+getStdRandom f = atomicModifyIORef theStdGen (swap . f)
20+  where swap (v,g) = (g,v)
21}
22
23Context:
24
25[inclusion of libc.h is conditional on __APPLE__
26[email protected]**20070417085556]
27[MERGE: fix ugly uses of memcpy foreign import inside ST
28Simon Marlow <[email protected]>**20070416101530
29 fixes cg026
30]
31[Fix configure with no --with-cc
32Ian Lynagh <[email protected]>**20070415165143]
33[MacOS 10.3 needs #include <libc.h> as well
34[email protected]**20070414155507]
35[For nhc98 only, use hsc2hs to determine System.Posix.Types.
36[email protected]**20070413155831
37 Avoids the existing autoconf stuff, by introducing an auxiliary module
38 called NHC.PosixTypes that uses hsc2hs, which is then simply re-exported
39 from System.Posix.Types.
40]
41[we need a makefileHook too
42Simon Marlow <[email protected]>**20070413151307]
43[Remove unnecesary SOURCE import of GHC.Err in GHC.Pack
44Ian Lynagh <[email protected]>**20070412235908]
45[add System.Posix.Types to default nhc98 build
46[email protected]**20070412195026]
47[mark System.IO.openTempFile as non-portable in haddocks
48[email protected]**20070412135359]
49[Don't turn on -Werror in Data.Fixed
50Ian Lynagh <[email protected]>**20070411155721
51 This may be responsible for the x86_64/Linux nightly build failing.
52]
53[Fix -Wall warnings
54Ian Lynagh <[email protected]>**20070411004929]
55[Add missing case in removePrefix
56Ian Lynagh <[email protected]>**20070411002537]
57[Allow additional options to pass on to ./configure to be given
58Ian Lynagh <[email protected]>**20070406151856]
59[Hugs only: fix location of unsafeCoerce
60Ross Paterson <[email protected]>**20070406113731]
61[fix isPortableBuild test
62Ross Paterson <[email protected]>**20070406111304]
63[Unsafe.Coerce doesn't need Prelude
64Ian Lynagh <[email protected]>**20070405175930]
65[make Setup and base.cabal suitable for building the libraries with GHC
66Ian Lynagh <[email protected]>**20070308163824]
67[HsByteArray doesn't exist
68Ian Lynagh <[email protected]>**20070404163051]
69[Don't use Fd/FD in foreign decls
70Ian Lynagh <[email protected]>**20070404155822
71 Using CInt makes it much easier to verify that it is right, and we won't
72 get caught out by possible newtype switches between CInt/Int.
73]
74[HsByteArray doesn't exist
75Ian Lynagh <[email protected]>**20070404155732]
76[Fix braino
77Ian Lynagh <[email protected]>**20070404144508]
78[Fix incorrect changes to C types in a foreign import for nhc98.
79[email protected]**20070404120954
80 If we use type CTime, it needs to be imported.  Also, CTime is not an
81 instance of Integral, so use some other mechanism to convert it.
82]
83[Fix C/Haskell type mismatches
84Ian Lynagh <[email protected]>**20070403194943]
85[add new module Unsafe.Coerce to build system
86[email protected]**20070403131333]
87[Fix type mismatches between foreign imports and HsBase.h
88Ian Lynagh <[email protected]>**20070403001611
89 
90 Merge to stable, checking for interface changes.
91]
92[put 'unsafeCoerce' in a standard location
93[email protected]**20061113114103]
94[fix for nhc98 build
95[email protected]**20070402141712]
96[Function crossMapP for fixing desugaring of comprehensions
97Manuel M T Chakravarty <[email protected]>**20070402082906
98 
99 Merge into 6.6 branch.
100]
101[Add min/max handling operations for IntSet/IntMap
102[email protected]**20070315072352]
103[Monoid instance for Maybe and two wrappers: First and Last. trac proposal #1189
104Jeffrey Yasskin <[email protected]>**20070309062550]
105[Fix the type of wgencat
106Ian Lynagh <[email protected]>**20070329164223]
107[fix strictness of foldr/build rule for take, see #1219
108Simon Marlow <[email protected]>**20070327103941]
109[remove Makefile.inc (only affects nhc98)
110[email protected]**20070320120057]
111[copyBytes copies bytes, not elements; fixes trac #1203
112Ian Lynagh <[email protected]>**20070312113555]
113[Add ioeGetLocation, ioeSetLocation to System/IO/Error.hs; trac #1191
114Ian Lynagh <[email protected]>**20070304130315]
115[fix race condition in prodServiceThread
116Simon Marlow <[email protected]>**20070307134330
117 See #1187
118]
119[Prevent duplication of unsafePerformIO on a multiprocessor
120Simon Marlow <[email protected]>**20070306145424
121 Fixes #986.  The idea is to add a new operation
122 
123   noDuplicate :: IO ()
124 
125 it is guaranteed that if two threads have executed noDuplicate, then
126 they are not duplicating any computation.
127 
128 We now provide two new unsafe operations:
129 
130 unsafeDupablePerformIO    :: IO a -> a
131 unsafeDupableInterleaveIO :: IO a -> IO a
132 
133 which are equivalent to the old unsafePerformIO and unsafeInterleaveIO
134 respectively.  The new versions of these functions are defined as:
135 
136 unsafePerformIO    m = unsafeDupablePerformIO (noDuplicate >> m)
137 unsafeInterleaveIO m = unsafeDupableInterleaveIO (noDuplicate >> m)
138]
139[expand docs for forkOS
140Simon Marlow <[email protected]>**20070305160921]
141[document timeout limitations
142Peter Simons <[email protected]>**20070228223540]
143[So many people were involved in the writing of this module that
144Peter Simons <[email protected]>**20070228223415
145 it feels unfair to single anyone out as the lone copyright
146 holder.
147]
148[This patch adds a timeout function to the base libraries. Trac #980 is
149Peter Simons <[email protected]>**20070126222615
150 concerned with this issue. The design guideline for this implementation
151 is that 'timeout N E' should behave exactly the same as E as long as E
152 doesn't time out. In our implementation, this means that E has the same
153 myThreadId it would have without the timeout wrapper. Any exception E
154 might throw cancels the timeout and propagates further up. It also
155 possible for E to receive exceptions thrown to it by another thread.
156]
157[PArr: fixed permutations
158Manuel M T Chakravarty <[email protected]>**20070305055807]
159[Add Data.String, containing IsString(fromString); trac proposal #1126
160Ian Lynagh <[email protected]>**20070130134841
161 This is used by the overloaded strings extension (-foverloaded-strings in GHC).
162]
163[GHC.PArr: add bounds checking
164Manuel M T Chakravarty <[email protected]>**20070302053224]
165[Bump nhc98 stack size for System/Time.hsc
166[email protected]**20070301153009]
167[FDs are CInts now, fixing non-GHC builds
168[email protected]**20070225105620]
169[Fixed PArr.dropP
170Manuel M T Chakravarty <[email protected]>**20070222032405
171 - Thanks to Audrey Tang for the bug report
172]
173[Keep the same FD in both halves of a duplex handle when dup'ing
174Ian Lynagh <[email protected]>**20070220141039
175 Otherwise we only close one of the FDs when closing the handle.
176 Fixes trac #1149.
177]
178[Remove more redundant FD conversions
179Ian Lynagh <[email protected]>**20070220092520]
180[Fix FD changes on Windows
181Ian Lynagh <[email protected]>**20070220091516]
182[Consistently use CInt rather than Int for FDs
183Ian Lynagh <[email protected]>**20070219233854]
184[Fix the types of minView/maxView (ticket #1134)
185[email protected]**20070210065115]
186[fix for hashString, from Jan-Willem Maessen (see #1137)
187Simon Marlow <[email protected]>**20070215094304
188 
189]
190[fix to getUSecOfDay(): arithmetic was overflowing
191Simon Marlow <[email protected]>**20070214161719]
192[The Windows counterpart to 'wrapround of thread delays'
193Ian Lynagh <[email protected]>**20070209173510]
194[wrapround of thread delays
195Neil Davies <[email protected]>**20070129160519
196 
197   * made the wrapround of the underlying O/S occur before the wrapround
198     of the delayed threads by making threads delay in microseconds since
199     O/S epoch (1970 - Unix, 1601 - Windows) stored in Word64.
200   * removed redundant calls reading O/S realtime clock
201   * removed rounding to 1/50th of sec for timers
202   * Only for Unix version of scheduler.
203]
204[Whitespace changes only
205Ian Lynagh <[email protected]>**20070206232722]
206[Add some type sigs
207Ian Lynagh <[email protected]>**20070206232439]
208[Use static inline rather than extern inline/inline
209Ian Lynagh <[email protected]>**20070205203628
210 I understand this is more portable, and it also fixes warnings when
211 C things we are wrapping are themselves static inlines (which FD_ISSET
212 is on ppc OS X).
213]
214[add derived instances for Dual monoid
215Ross Paterson <[email protected]>**20070202190847]
216[add doc pointers to Foldable
217Ross Paterson <[email protected]>**20070202110931
218 
219 Could be applied to STABLE.
220]
221[Eliminate some warnings
222Ian Lynagh <[email protected]>**20060729220854
223 Eliminate warnings in the libraries caused by mixing pattern matching
224 with numeric literal matching.
225]
226[Remove IsString(fromString) from the Prelude
227Ian Lynagh <[email protected]>**20070130124136]
228[Add Kleisli composition
229Don Stewart <[email protected]>**20061113015442]
230[IsString is GHC-only (so why is it in the Prelude?)
231Ross Paterson <[email protected]>**20070123183007]
232[Applicative and Monad instances for Tree
233Ross Paterson <[email protected]>**20070115174510]
234[Add IsString class for overloaded string literals.
235[email protected]**20061221210532]
236[Added examples, more detailed documentation to Data.List Extracting sublists functions
237Andriy Palamarchuk <[email protected]>**20061204164710]
238[fix threadDelay
239Simon Marlow <[email protected]>**20070117091702
240 In "Add support for the IO manager thread" I accidentally spammed part
241 of "Make sure the threaded threadDelay sleeps at least as long as it
242 is asked", which is why the ThreadDelay001 test has been failing.
243]
244[update section on "blocking"
245Simon Marlow <[email protected]>**20070116124328]
246[Fix crash with   (minBound :: Int*) `div (-1)   as result is maxBound + 1.
247Ian Lynagh <[email protected]>**20070115142005]
248[version of example using Tomasz Zielonka's technique
249Ross Paterson <[email protected]>**20070105175907]
250[Added Unknowns for higher kinds
251Pepe Iborra <[email protected]>**20061108155938]
252[Improved the Show instance for Unknown
253Pepe Iborra <[email protected]>**20060813111816]
254[Show instance for GHC.Base.Unknown
255[email protected]**20060801233530]
256[Introduce Unknowns for the closure viewer. Add breakpointCond which was missing
257[email protected]**20060725174537]
258[Fix missing comma in Fractional documentation
259Alec Berryman <[email protected]>**20061201173237]
260[Mention that throwTo does not guarantee promptness of delivery
261simonpj@microsoft**20061211123215]
262[Add note about synhronous delivery of throwTo
263simonpj@microsoft**20061211122257]
264[documentation for installHandler
265Simon Marlow <[email protected]>**20061205154927
266 merge to 6.6
267]
268[dos2unix
269Simon Marlow <[email protected]>**20061204095439]
270[don't try to compile this on Unix
271Simon Marlow <[email protected]>**20061204095427]
272[TAG 6.6 release
273Ian Lynagh <[email protected]>**20061011124740]
274[TAG Version 2.1
275Ian Lynagh <[email protected]>**20061009114014]
276[Bump version number
277Ian Lynagh <[email protected]>**20061009114009]
278[Add support for the IO manager thread on Windows
279Simon Marlow <[email protected]>**20061201152042
280 Fixes #637.  The test program in that report now works for me with
281 -threaded, but it doesn't work without -threaded (I don't know if
282 that's new behaviour or not, though).
283]
284[deriving (Eq, Ord, Enum, Show, Read, Typeab) for ConsoleEvent
285Simon Marlow <[email protected]>**20061201144032]
286[Make sure the threaded threadDelay sleeps at least as long as it is asked to
287Ian Lynagh <[email protected]>**20061128204807]
288[Add comments about argument order to the definitions of gmapQ and constrFields
289simonpj@microsoft**20061124164505]
290[Hugs: add Control.Parallel.Strategies
291Ross Paterson <[email protected]>**20061124161039]
292[Move instance of Show Ptr to Ptr.hs (fewer orphans)
293[email protected]**20061124100639]
294[Add type signatures
295[email protected]**20061124100621]
296[Add an example of the use of unfoldr, following doc feedback from dozer
297Don Stewart <[email protected]>**20061124011249]
298[trim imports
299Ross Paterson <[email protected]>**20061123190352]
300[Data.Graph is now portable (enable for nhc98)
301[email protected]**20061123174913]
302[remove Data.FunctorM and Data.Queue
303Ross Paterson <[email protected]>**20061112001046
304 
305 These were deprecated in 6.6, and can thus be removed in 6.8.
306]
307[make Data.Graph portable (no change to the interface)
308Ross Paterson <[email protected]>**20061122010040
309 
310 The algorithm now uses STArrays on GHC and IntSets elsewhere.
311 (Hugs has STArrays, but avoiding them saves a -98, and boxed arrays
312 aren't fast under Hugs anyway.)
313]
314[One less unsafeCoerce# in the tree
315Don Stewart <[email protected]>**20061120120242]
316[typo in comment
317Ross Paterson <[email protected]>**20061120115106]
318[fix shift docs to match ffi spec
319Ross Paterson <[email protected]>**20061117003144]
320[(nhc98) use new primitive implementations of h{Put,Get}Buf.
321[email protected]**20061116173104]
322[The wrong 'cycle' was exported from Data.ByteString.Lazy.Char8, spotted by sjanssen
323Don Stewart <[email protected]>**20061110021311]
324[LPS chunk sizes should be 16 bytes, not 17.
325Don Stewart <dons@cse.unsw.edu.au>**20061110021254]
326[Update comments on Prelude organisation in GHC/Base.lhs
327Ian Lynagh <igloo@earth.li>**20061115001926]
328[Control.Parallel.Strategies clean-up: Added export list to avoid exporting seq, fixed import list strangeness that haddock choked on, and moved the deprecated functions to a separate section.
329bringert@cs.chalmers.se**20061113224202]
330[Control.Parallel.Strategies: added NFData instances for Data.Int.*, Data.Word.*, Maybe, Either, Map, Set, Tree, IntMap, IntSet.
331bringert@cs.chalmers.se**20061113221843]
332[Control.Parallel.Strategies: deprecate sPar, sSeq, Assoc, fstPairFstList, force and sforce.
333bringert@cs.chalmers.se**20061113215219
334 Code comments indicated that sPar and sSeq have been superceded by sparking and demanding, and that Assoc, fstPairFstList, force and sforce are examples and hacks needed by the Lolita system.
335]
336[add Control.Monad.Instances to nhc98 build
337Malcolm.Wallace@cs.york.ac.uk**20061113113221]
338[Control.Parallel.Strategies: clarified documentation of parListChunk.
339bringert@cs.chalmers.se**20061112232904]
340[Added and cleaned up Haddock comments in Control.Parallel.Strategies.
341bringert@cs.chalmers.se**20061112220445
342 Many of the definitions in Control.Parallel.Strategies had missing or unclear Haddock comments. I converted most of the existing plain code comments to haddock comments, added some missing documentation and cleaned up the existing Haddock mark-up.
343]
344[Fix broken pragmas; spotted by Bulat Ziganshin
345Ian Lynagh <igloo@earth.li>**20061111205916]
346[add doc link to bound threads section
347Ross Paterson <ross@soi.city.ac.uk>**20060929103252]
348[hide Data.Array.IO.Internals
349Ross Paterson <ross@soi.city.ac.uk>**20061111113248
350 
351 It's hidden from haddock, and everything it exports is re-exported by
352 Data.Array.IO.
353]
354[add Data.Function
355Malcolm.Wallace@cs.york.ac.uk**20061110142710]
356[add Data.Function
357Ross Paterson <ross@soi.city.ac.uk>**20061110141354]
358[whitespace only
359Ross Paterson <ross@soi.city.ac.uk>**20061110141326]
360[move fix to Data.Function
361Ross Paterson <ross@soi.city.ac.uk>**20061110141120]
362[import Prelude
363Ross Paterson <ross@soi.city.ac.uk>**20061110140445]
364[Added Data.Function (Trac ticket #979).
365Nils Anders Danielsson <nad@cs.chalmers.se>**20061110122503
366 + A module with simple combinators working solely on and with
367   functions.
368 + The only new function is "on".
369 + Some functions from the Prelude are re-exported.
370]
371[__hscore_long_path_size is not portable beyond GHC
372Malcolm.Wallace@cs.york.ac.uk**20061110113222]
373[redefine writeFile and appendFile using withFile
374Ross Paterson <ross@soi.city.ac.uk>**20061107140359]
375[add withFile and withBinaryFile (#966)
376Ross Paterson <ross@soi.city.ac.uk>**20061107134510]
377[remove conflicting import for nhc98
378Malcolm.Wallace@cs.york.ac.uk**20061108111215]
379[Add intercalate to Data.List (ticket #971)
380Josef Svenningsson <josef.svenningsson@gmail.com>**20061102122052]
381[non-GHC: fix canonicalizeFilePath
382Ross Paterson <ross@soi.city.ac.uk>**20061107133902
383 
384 I've also removed the #ifdef __GLASGOW_HASKELL__ from the proper
385 Windows versions of a few functions.  These will need testing with
386 Hugs on Windows.
387]
388[enable canonicalizePath for non-GHC platforms
389Simon Marlow <simonmar@microsoft.com>**20061107121141]
390[Update documentation for hWaitForInput
391Simon Marlow <simonmar@microsoft.com>**20061107111430
392 See #972
393 Merge to 6.6 branch.
394]
395[Use unchecked shifts to implement Data.Bits.rotate
396Samuel Bronson <naesten@gmail.com>**20061012125553
397 This should get rid of those cases, maybe lower the size enough that the inliner will like it?
398]
399[fix Haddock module headers
400Ross Paterson <ross@soi.city.ac.uk>**20061106124140]
401[fix example in docs
402Ross Paterson <ross@soi.city.ac.uk>**20061106115628]
403[Add intercalate and split to Data.List
404Josef Svenningsson <josef.svenningsson@gmail.com>*-20061024172357]
405[Data.Generics.Basics is GHC-only
406Ross Paterson <ross@soi.city.ac.uk>**20061102111736]
407[#ifdef around non-portable Data.Generics.Basics
408Malcolm.Wallace@cs.york.ac.uk**20061102103445]
409[Add deriving Data to Complex
410simonpj@microsoft**20061101102059]
411[minor clarification of RandomGen doc
412Ross Paterson <ross@soi.city.ac.uk>**20061030230842]
413[rearrange docs a bit
414Ross Paterson <ross@soi.city.ac.uk>**20061030161223]
415[Add intercalate and split to Data.List
416Josef Svenningsson <josef.svenningsson@gmail.com>**20061024172357]
417[Export pseq from Control.Parallel, and use it in Control.Parallel.Strategies
418Simon Marlow <simonmar@microsoft.com>**20061027150141]
419[`par` should be infixr 0
420Simon Marlow <simonmar@microsoft.com>**20061027130800
421 Alas, I didn't spot this due to lack of testing, and the symptom is
422 that an expression like x `par` y `seq z will have exactly the wrong
423 parallelism properties.  The workaround is to add parantheses.
424 
425 I think we could push this to the 6.6 branch.
426]
427[fix example in comment
428Ross Paterson <ross@soi.city.ac.uk>**20061023163925]
429[Use the new Any type for dynamics (GHC only)
430simonpj@microsoft**20061019160408]
431[add Data.Sequence to nhc98 build
432Malcolm.Wallace@cs.york.ac.uk**20061012135200]
433[Remove Data.FiniteMap, add Control.Applicative, Data.Traversable, and
434Malcolm.Wallace@cs.york.ac.uk**20061012095605
435 Data.Foldable to the nhc98 build.
436]
437[STM invariants
438tharris@microsoft.com**20061007123253]
439[Inline shift in GHC's Bits instances for {Int,Word}{,8,16,32,64}
440Samuel Bronson <naesten@gmail.com>**20061009020906]
441[Don't create GHC.Prim when bootstrapping; we can't, and we don't need it
442Ian Lynagh <igloo@earth.li>**20061004165355]
443[Data.ByteString: fix lazyness of take, drop & splitAt
444Don Stewart <dons@cse.unsw.edu.au>**20061005011703
445 
446 ByteString.Lazy's take, drop and splitAt were too strict when demanding
447 a byte string. Spotted by Einar Karttunen. Thanks to him and to Bertram
448 Felgenhauer for explaining the problem and the fix.
449 
450]
451[Fix syntax error that prevents building Haddock documentation on Windows
452brianlsmith@gmail.com**20060917013530]
453[Hugs only: unbreak typeRepKey
454Ross Paterson <ross@soi.city.ac.uk>**20060929102743]
455[make hGetBufNonBlocking do something on Windows w/ -threaded
456Simon Marlow <simonmar@microsoft.com>**20060927145811
457 hGetBufNonBlocking will behave the same as hGetBuf on Windows now, which
458 is better than just crashing (which it did previously).
459]
460[add typeRepKey :: TypeRep -> IO Int
461Simon Marlow <simonmar@microsoft.com>**20060927100342
462 See feature request #880
463]
464[fix header comment
465Ross Paterson <ross@soi.city.ac.uk>**20060926135843]
466[Add strict versions of insertWith and insertWithKey (Data.Map)
467jeanphilippe.bernardy@gmail.com**20060910162443]
468[doc tweaks, including more precise equations for evaluate
469Ross Paterson <ross@soi.city.ac.uk>**20060910115259]
470[Sync Data.ByteString with stable branch
471Don Stewart <dons@cse.unsw.edu.au>**20060909050111
472 
473 This patch:
474     * hides the LPS constructor (its in .Base if you need it)
475     * adds functions to convert between strict and lazy bytestrings
476     * and adds readInteger
477 
478]
479[Typeable1 instances for STM and TVar
480Ross Paterson <ross@soi.city.ac.uk>**20060904231425]
481[remove obsolete Hugs stuff
482Ross Paterson <ross@soi.city.ac.uk>**20060904223944]
483[Cleaner isInfixOf suggestion from Ross Paterson
484John Goerzen <jgoerzen@complete.org>**20060901143654]
485[New function isInfixOf that searches a list for a given sublist
486John Goerzen <jgoerzen@complete.org>**20060831151556
487 
488 Example:
489 
490 isInfixOf "Haskell" "I really like Haskell." -> True
491 isInfixOf "Ial" "I really like Haskell." -> False
492 
493 This function was first implemented in MissingH as MissingH.List.contains
494]
495[Better doc on Data.Map.lookup: explain what the monad is for
496jeanphilippe.bernardy@gmail.com**20060903133440]
497[fix hDuplicateTo on Windows
498Simon Marlow <simonmar@microsoft.com>**20060901150016
499 deja vu - I'm sure I remember fixing this before...
500]
501[Improve documentation of atomically
502simonpj@microsoft**20060714120207]
503[Add missing method genRange for StdGen (fixes #794)
504simonpj@microsoft**20060707151901
505 
506        MERGE TO STABLE
507 
508 Trac #794 reports (correctly) that the implementation of StdGen
509 only returns numbers in the range (0..something) rather than
510 (minBound, maxBound), which is what StdGen's genRange claims.
511 
512 This commit fixes the problem, by implementing genRange for StdGen
513 (previously it just used the default method).
514 
515 
516]
517[mark nhc98 import hack
518Ross Paterson <ross@soi.city.ac.uk>**20060831125219]
519[remove some outdated comments
520Simon Marlow <simonmar@microsoft.com>**20060831104200]
521[import Control.Arrow.ArrowZero to help nhc98's type checker
522Malcolm.Wallace@cs.york.ac.uk**20060831101105]
523[remove Text.Regex(.Posix) from nhc98 build
524Malcolm.Wallace@cs.york.ac.uk**20060831101016]
525[add Data.Foldable.{msum,asum}, plus tweaks to comments
526Ross Paterson <ross@soi.city.ac.uk>**20060830163521]
527[fix doc typo
528Ross Paterson <ross@soi.city.ac.uk>**20060830134123]
529[add Data.Foldable.{for_,forM_} and Data.Traversable.{for,forM}
530Ross Paterson <ross@soi.city.ac.uk>**20060830133805
531 
532 generalizing Control.Monad.{forM_,forM}
533]
534[Make length a good consumer
535simonpj@microsoft*-20060508142726
536 
537 Make length into a good consumer.  Fixes Trac bug #707.
538 
539 (Before length simply didn't use foldr.)
540 
541]
542[Add Control.Monad.forM and forM_
543Don Stewart <dons@cse.unsw.edu.au>**20060824081118
544 
545 flip mapM_ is more and more common, I find. Several suggestions have
546 been made to add this, as foreach or something similar. This patch
547 does just that:
548 
549     forM  :: (Monad m) => [a] -> (a -> m b) -> m [b]
550     forM_ :: (Monad m) => [a] -> (a -> m b) -> m ()
551 
552 So we can write:
553     
554     Prelude Control.Monad> forM_ [1..4] $ \x -> print x
555     1
556     2
557     3
558     4
559 
560]
561[Hide internal module from haddock in Data.ByteString
562Don Stewart <dons@cse.unsw.edu.au>**20060828011515]
563[add advice on avoiding import ambiguities
564Ross Paterson <ross@soi.city.ac.uk>**20060827170407]
565[expand advice on importing these modules
566Ross Paterson <ross@soi.city.ac.uk>**20060827164044]
567[add Haddock marker
568Ross Paterson <ross@soi.city.ac.uk>**20060827115140]
569[Clarify how one hides Prelude.catch
570Don Stewart <dons@cse.unsw.edu.au>**20060826124346
571 
572 User feedback indicated that an example was required, of how to hide
573 Prelude.catch, so add such an example to the docs
574 
575]
576[Workaround for OSes that don't have intmax_t and uintmax_t
577Ian Lynagh <igloo@earth.li>**20060825134936
578 OpenBSD (and possibly others) do not have intmax_t and uintmax_t types:
579     http://www.mail-archive.com/haskell-prime@haskell.org/msg01548.html
580 so substitute (unsigned) long long if we have them, otherwise
581 (unsigned) long.
582 
583]
584[add docs for par
585Simon Marlow <simonmar@microsoft.com>**20060825110610]
586[document minimal complete definition for Bits
587Ross Paterson <ross@soi.city.ac.uk>**20060824140504]
588[C regex library bits have moved to the regex-posix package
589Simon Marlow <simonmar@microsoft.com>**20060824132311]
590[Add shared Typeable support (ghc only)
591Esa Ilari Vuokko <ei@vuokko.info>**20060823003126]
592[this should have been removed with the previous patch
593Simon Marlow <simonmar@microsoft.com>**20060824121223]
594[remove Text.Regx & Text.Regex.Posix
595Simon Marlow <simonmar@microsoft.com>**20060824094615
596 These are subsumed by the new regex-base, regex-posix and regex-compat
597 packages.
598]
599[explicitly tag Data.ByteString rules with the FPS prefix.
600Don Stewart <dons@cse.unsw.edu.au>**20060824041326]
601[Add spec rules for sections in Data.ByteString
602Don Stewart <dons@cse.unsw.edu.au>**20060824012611]
603[Sync Data.ByteString with current stable branch, 0.7
604Don Stewart <dons@cse.unsw.edu.au>**20060823143338]
605[add notes about why copyFile doesn't remove the target
606Simon Marlow <simonmar@microsoft.com>**20060823095059]
607[copyFile: try removing the target file before opening it for writing
608Simon Marlow <simonmar@microsoft.com>*-20060822121909]
609[copyFile: try removing the target file before opening it for writing
610Simon Marlow <simonmar@microsoft.com>**20060822121909]
611[add alternative functors and extra instances
612Ross Paterson <ross@soi.city.ac.uk>**20060821152151
613 
614 * Alternative class, for functors with a monoid
615 * instances for Const
616 * instances for arrows
617]
618[generate Haddock docs on all platforms
619Simon Marlow <simonmar@microsoft.com>**20060821131612]
620[remove extra comma from import
621Ross Paterson <ross@soi.city.ac.uk>**20060819173954]
622[fix docs for withC(A)StringLen
623Ross Paterson <ross@soi.city.ac.uk>**20060818170328]
624[use Haskell'98 compliant indentation in do blocks
625Malcolm.Wallace@cs.york.ac.uk**20060818130810]
626[use correct names of IOArray operations for nhc98
627Malcolm.Wallace@cs.york.ac.uk**20060818130714]
628[add mapMaybe and mapEither, plus WithKey variants
629Ross Paterson <ross@soi.city.ac.uk>**20060817235041]
630[remove Text.Html from nhc98 build
631Malcolm.Wallace@cs.york.ac.uk**20060817135502]
632[eliminate more HOST_OS tests
633Ross Paterson <ross@soi.city.ac.uk>**20060815190609]
634[Hugs only: disable unused process primitives
635Ross Paterson <ross@soi.city.ac.uk>**20060813184435
636 
637 These were the cause of Hugs bug #30, I think, and weren't used by Hugs anyway.
638]
639[markup fix to Data.HashTable
640Ross Paterson <ross@soi.city.ac.uk>**20060812103835]
641[revert removal of ghcconfig.h from package.conf.in
642Ross Paterson <ross@soi.city.ac.uk>**20060812082702
643 
644 as it's preprocessed with -undef (pointed out by Esa Ilari Vuokko)
645]
646[fix Data.HashTable for non-GHC
647Ross Paterson <ross@soi.city.ac.uk>**20060811231521]
648[remove deprecated 'withObject'
649Simon Marlow <simonmar@microsoft.com>**20060811152350]
650[Jan-Willem Maessen's improved implementation of Data.HashTable
651Simon Marlow <simonmar@microsoft.com>**20060811151024
652 Rather than incrementally enlarging the hash table, this version
653 just does it in one go when the table gets too full.
654]
655[Warning police: Make some prototypes from the RTS known
656sven.panne@aedion.de**20060811144629]
657[Warning police: Removed useless catch-all clause
658sven.panne@aedion.de**20060811142208]
659[reduce dependency on ghcconfig.h
660Ross Paterson <ross@soi.city.ac.uk>**20060811124030
661 
662 The only remaining use is in cbits/dirUtils.h, which tests solaris2_HOST_OS
663 
664 (Also System.Info uses ghcplatform.h and several modules import MachDeps.h
665 to get SIZEOF_* and ALIGNMENT_* from ghcautoconf.h)
666]
667[(non-GHC only) track MArray interface change
668Ross Paterson <ross@soi.city.ac.uk>**20060810182902]
669[move Text.Html to a separate package
670Simon Marlow <simonmar@microsoft.com>**20060810113017]
671[bump version to 2.0
672Simon Marlow <simonmar@microsoft.com>**20060810112833]
673[Remove deprecated Data.FiniteMap and Data.Set interfaces
674Simon Marlow <simonmar@microsoft.com>**20060809153810]
675[move altzone test from ghc to base package
676Ross Paterson <ross@soi.city.ac.uk>**20060809124259]
677[remove unnecessary #include "ghcconfig.h"
678Ross Paterson <ross@soi.city.ac.uk>**20060809123812]
679[Change the API of MArray to allow resizable arrays
680Simon Marlow <simonmar@microsoft.com>**20060809100548
681 See #704
682 
683 The MArray class doesn't currently allow a mutable array to change its
684 size, because of the pure function
685 
686   bounds :: (HasBounds a, Ix i) => a i e -> (i,i)
687 
688 This patch removes the HasBounds class, and adds
689 
690   getBounds :: (MArray a e m, Ix i) => a i e -> m (i,i)
691 
692 to the MArray class, and
693 
694   bounds :: (IArray a e, Ix i) => a i e -> (i,i)
695 
696 to the IArray class.
697 
698 The reason that bounds had to be incorporated into the IArray class is
699 because I couldn't make DiffArray work without doing this.  DiffArray
700 acts as a layer converting an MArray into an IArray, and there was no
701 way (that I could find) to define an instance of HasBounds for
702 DiffArray.
703]
704[deprecate this module.
705Simon Marlow <simonmar@microsoft.com>**20060808100708]
706[add traceShow (see #474)
707Simon Marlow <simonmar@microsoft.com>**20060807155545]
708[remove spurious 'extern "C" {'
709Simon Marlow <simonmar@microsoft.com>**20060724160258]
710[Fix unsafeIndex for large ranges
711Simon Marlow <simonmar@microsoft.com>**20060721100225]
712[disambiguate uses of foldr for nhc98 to compile without errors
713Malcolm.Wallace@cs.york.ac.uk**20060711161614]
714[make Control.Monad.Instances compilable by nhc98
715Malcolm.Wallace@cs.york.ac.uk**20060711160941]
716[breakpointCond
717Lemmih <lemmih@gmail.com>**20060708055528]
718[UNDO: Merge "unrecognized long opt" fix from 6.4.2
719Simon Marlow <simonmar@microsoft.com>**20060705142537
720 This patch undid the previous patch, "RequireOrder: do not collect
721 unrecognised options after a non-opt".  I asked Sven to revert it, but
722 didn't get an answer.
723 
724 See bug #473.
725]
726[Avoid strictness in accumulator for unpackFoldr
727Don Stewart <dons@cse.unsw.edu.au>**20060703091806
728 
729 The seq on the accumulator for unpackFoldr will break in the presence of
730 head/build rewrite rules. The empty list case will be forced, producing
731 an exception. This is a known issue with seq and rewrite rules that we
732 just stumbled on to.
733 
734]
735[Disable unpack/build fusion
736Don Stewart <dons@cse.unsw.edu.au>**20060702083913
737 
738 unpack/build on bytestrings seems to trigger a bug when interacting with
739 head/build fusion in GHC.List. The bytestring001 testcase catches it.
740 
741 I'll investigate further, but best to disable this for now (its not
742 often used anyway).
743 
744 Note that with -frules-off or ghc 6.4.2 things are fine. It seems to
745 have emerged with the recent rules changes.
746 
747]
748[Import Data.ByteString.Lazy, improve ByteString Fusion, and resync with FPS head
749Don Stewart <dons@cse.unsw.edu.au>**20060701084345
750 
751 This patch imports the Data.ByteString.Lazy module, and its helpers,
752 providing a ByteString implemented as a lazy list of strict cache-sized
753 chunks. This type allows the usual lazy operations to be written on
754 bytestrings, including lazy IO, with much improved space and time over
755 the [Char] equivalents.
756 
757]
758[Wibble in docs for new ForeignPtr functionsn
759Don Stewart <dons@cse.unsw.edu.au>**20060609075924]
760[comments for Applicative and Traversable
761Ross Paterson <ross@soi.city.ac.uk>**20060622170436]
762[default to NoBuffering on Windows for a read/write text file
763Simon Marlow <simonmar@microsoft.com>**20060622144446
764 Fixes (works around) #679
765]
766[remove dead code
767Simon Marlow <simonmar@microsoft.com>**20060622144433]
768[clarify and expand docs
769Simon Marlow <simonmar@microsoft.com>**20060622112911]
770[Add minView and maxView to Map and Set
771jeanphilippe.bernardy@gmail.com**20060616180121]
772[add signature for registerDelay
773Ross Paterson <ross@soi.city.ac.uk>**20060614114456]
774[a few doc comments
775Ross Paterson <ross@soi.city.ac.uk>**20060613142704]
776[Optimised foreign pointer representation, for heap-allocated objects
777Don Stewart <dons@cse.unsw.edu.au>**20060608015011]
778[Add the inline function, and many comments
779simonpj@microsoft.com**20060605115814
780 
781 This commit adds the 'inline' function described in the
782 related patch in the compiler.
783 
784 I've also added comments about the 'lazy' function.
785 
786]
787[small intro to exceptions
788Ross Paterson <ross@soi.city.ac.uk>**20060525111604]
789[export breakpoint
790Simon Marlow <simonmar@microsoft.com>**20060525090456]
791[Merge in changes from fps head. Highlights:
792Don Stewart <dons@cse.unsw.edu.au>**20060525065012
793 
794     Wed May 24 15:49:38 EST 2006  sjanssen@cse.unl.edu
795       * instance Monoid ByteString
796 
797     Wed May 24 15:04:04 EST 2006  Duncan Coutts <duncan.coutts@worc.ox.ac.uk>
798       * Rearange export lists for the .Char8 modules
799 
800     Wed May 24 14:59:56 EST 2006  Duncan Coutts <duncan.coutts@worc.ox.ac.uk>
801       * Implement mapAccumL and reimplement mapIndexed using loopU
802 
803     Wed May 24 14:47:32 EST 2006  Duncan Coutts <duncan.coutts@worc.ox.ac.uk>
804       * Change the implementation of the unfoldr(N) functions.
805       Use a more compact implementation for unfoldrN and change it's behaviour
806       to only return Just in the case that it actually 'overflowed' the N, so
807       the boundary case of unfolding exactly N gives Nothing.
808       Implement unfoldr and Lazy.unfoldr in terms of unfoldrN. Use fibonacci
809       growth for the chunk size in unfoldr
810 
811     Wed May 24 08:32:29 EST 2006  sjanssen@cse.unl.edu
812       * Add unfoldr to ByteString and .Char8
813       A preliminary implementation of unfoldr.
814 
815     Wed May 24 01:39:41 EST 2006  Duncan Coutts <duncan.coutts@worc.ox.ac.uk>
816       * Reorder the export lists to better match the Data.List api
817 
818     Tue May 23 14:04:32 EST 2006  Don Stewart <dons@cse.unsw.edu.au>
819       * pack{Byte,Char} -> singleton. As per fptools convention
820 
821     Tue May 23 14:00:51 EST 2006  Don Stewart <dons@cse.unsw.edu.au>
822       * elemIndexLast -> elemIndexEnd
823 
824     Tue May 23 13:57:34 EST 2006  Don Stewart <dons@cse.unsw.edu.au>
825       * In the search for a more orthogonal api, we kill breakFirst/breakLast,
826         which were of dubious value
827 
828     Tue May 23 12:24:09 EST 2006  Don Stewart <dons@cse.unsw.edu.au>
829       * Abolish elems. It's name implied it was unpack, but its type didn't. it made no sense
830 
831     Tue May 23 10:42:09 EST 2006  Duncan Coutts <duncan.coutts@worc.ox.ac.uk>
832       * Minor doc tidyup. Use haddock markup better.
833 
834     Tue May 23 11:00:31 EST 2006  Don Stewart <dons@cse.unsw.edu.au>
835       * Simplify the join() implementation. Spotted by Duncan.
836 
837]
838[add a way to ask the IO manager thread to exit
839Simon Marlow <simonmar@microsoft.com>**20060524121823]
840[Sync with FPS head, including the following patches:
841Don Stewart <dons@cse.unsw.edu.au>**20060520030436
842         
843     Thu May 18 15:45:46 EST 2006  sjanssen@cse.unl.edu
844       * Export unsafeTake and unsafeDrop
845 
846     Fri May 19 11:53:08 EST 2006  Don Stewart <dons@cse.unsw.edu.au>
847       * Add foldl1'
848 
849     Fri May 19 13:41:24 EST 2006  Don Stewart <dons@cse.unsw.edu.au>
850       * Add fuseable scanl, scanl1 + properties
851 
852     Fri May 19 18:20:40 EST 2006  Don Stewart <dons@cse.unsw.edu.au>
853       * Spotted another chance to use unsafeTake,Drop (in groupBy)
854 
855     Thu May 18 09:24:25 EST 2006  Duncan Coutts <duncan.coutts@worc.ox.ac.uk>
856       * More effecient findIndexOrEnd based on the impl of findIndex
857 
858     Thu May 18 09:22:49 EST 2006  Duncan Coutts <duncan.coutts@worc.ox.ac.uk>
859       * Eliminate special case in findIndex since it's handled anyway.
860 
861     Thu May 18 09:19:08 EST 2006  Duncan Coutts <duncan.coutts@worc.ox.ac.uk>
862       * Add unsafeTake and unsafeDrop
863       These versions assume the n is in the bounds of the bytestring, saving
864       two comparison tests. Then use them in varous places where we think this
865       holds. These cases need double checking (and there are a few remaining
866       internal uses of take / drop that might be possible to convert).
867       Not exported for the moment.
868 
869     Tue May 16 23:15:11 EST 2006  Don Stewart <dons@cse.unsw.edu.au>
870       * Handle n < 0 in drop and splitAt. Spotted by QC.
871 
872     Tue May 16 22:46:22 EST 2006  Don Stewart <dons@cse.unsw.edu.au>
873       * Handle n <= 0 cases for unfoldr and replicate. Spotted by QC
874 
875     Tue May 16 21:34:11 EST 2006  Don Stewart <dons@cse.unsw.edu.au>
876       * mapF -> map', filterF -> filter'
877 
878]
879[haddock fix
880Ross Paterson <ross@soi.city.ac.uk>**20060518154723]
881[simplify indexing in Data.Sequence
882Ross Paterson <ross@soi.city.ac.uk>**20060518154316]
883[Move Eq, Ord, Show instances for ThreadId to GHC.Conc
884Simon Marlow <simonmar@microsoft.com>**20060518113339
885 Eliminates orphans.
886]
887[Better error handling in the IO manager thread
888Simon Marlow <simonmar@microsoft.com>**20060518113303
889 In particular, handle EBADF just like rts/posix/Select.c, by waking up
890 all the waiting threads.  Other errors are thrown, instead of just
891 being ignored.
892]
893[#define _REENTRANT 1  (needed to get the right errno on some OSs)
894Simon Marlow <simonmar@microsoft.com>**20060518104151
895 Part 2 of the fix for threaded RTS problems on Solaris and possibly
896 *BSD (Part 1 was the same change in ghc/includes/Rts.h).
897]
898[copyCString* should be in IO. Spotted by Tomasz Zielonka
899Don Stewart <dons@cse.unsw.edu.au>**20060518012154]
900[add import Prelude to get dependencies right for Data/Fixed.hs
901Duncan Coutts <duncan.coutts@worc.ox.ac.uk>**20060517222044
902 Hopefully this fixes parallel builds.
903]
904[Fix negative index handling in splitAt, replicate and unfoldrN. Move mapF, filterF -> map', filter' while we're here
905Don Stewart <dons@cse.unsw.edu.au>**20060517020150]
906[Use our own realloc. Thus reduction functions (like filter) allocate on the Haskell heap. Makes around 10% difference.
907Don Stewart <dons@cse.unsw.edu.au>**20060513051736]
908[Last two CInt fixes for 64 bit, and bracket writeFile while we're here
909Don Stewart <dons@cse.unsw.edu.au>**20060512050750]
910[Some small optimisations, generalise the type of unfold
911Don Stewart <dons@cse.unsw.edu.au>**20060510043309
912 
913     Tue May  9 22:36:29 EST 2006  Duncan Coutts <duncan.coutts@worc.ox.ac.uk>
914       * Surely the error function should not be inlined.
915 
916     Tue May  9 22:35:53 EST 2006  Duncan Coutts <duncan.coutts@worc.ox.ac.uk>
917       * Reorder memory writes for better cache locality.
918 
919     Tue May  9 23:28:09 EST 2006  Duncan Coutts <duncan.coutts@worc.ox.ac.uk>
920       * Generalise the type of unfoldrN
921       
922       The type of unfoldrN was overly constrained:
923       unfoldrN :: Int -> (Word8 -> Maybe (Word8, Word8)) -> Word8 -> ByteString
924       
925       if we compare that to unfoldr:
926       unfoldr :: (b -> Maybe (a, b)) -> b -> [a]
927       
928       So we can generalise unfoldrN to this type:
929       unfoldrN :: Int -> (a -> Maybe (Word8, a)) -> a -> ByteString
930       
931       and something similar for the .Char8 version. If people really do want to
932       use it a lot with Word8/Char then perhaps we should add a specialise pragma.
933 
934     Wed May 10 13:26:40 EST 2006  Don Stewart <dons@cse.unsw.edu.au>
935       * Add foldl', and thus a fusion rule for length . {map,filter,fold},
936       that avoids creating an array at all if the end of the pipeline is a 'length' reduction
937 
938 **END OF DESCRIPTION***
939 
940 Place the long patch description above the ***END OF DESCRIPTION*** marker.
941 The first line of this file will be the patch name.
942 
943 
944 This patch contains the following changes:
945 
946 M ./Data/ByteString.hs -8 +38
947 M ./Data/ByteString/Char8.hs -6 +12
948]
949[portable implementation of WordPtr/IntPtr for non-GHC
950Ross Paterson <ross@soi.city.ac.uk>**20060510001826
951 
952 plus much tweaking of imports to avoid cycles
953]
954[add WordPtr and IntPtr types to Foreign.Ptr, with associated conversions
955Simon Marlow <simonmar@microsoft.com>**20060509092606
956 
957 As suggested by John Meacham. 
958 
959 I had to move the Show instance for Ptr into GHC.ForeignPtr to avoid
960 recursive dependencies.
961]
962[add CIntPtr, CUIntPtr, CIntMax, CUIntMax types
963Simon Marlow <simonmar@microsoft.com>**20060509092427]
964[add GHC.Dynamic
965Simon Marlow <simonmar@microsoft.com>**20060509082739]
966[Two things. #if defined(__GLASGOW_HASKELL__) on INLINE [n] pragmas (for jhc). And careful use of INLINE on words/unwords halves runtime for those functions
967Don Stewart <dons@cse.unsw.edu.au>**20060509023425]
968[Make length a good consumer
969simonpj@microsoft**20060508142726
970 
971 Make length into a good consumer.  Fixes Trac bug #707.
972 
973 (Before length simply didn't use foldr.)
974 
975]
976[Trim imports
977simonpj@microsoft**20060508142557]
978[Make unsafePerformIO lazy
979simonpj@microsoft**20060508142507
980 
981 The stricteness analyser used to have a HACK which ensured that NOINLNE things
982 were not strictness-analysed.  The reason was unsafePerformIO. Left to itself,
983 the strictness analyser would discover this strictness for unsafePerformIO:
984        unsafePerformIO:  C(U(AV))
985 But then consider this sub-expression
986        unsafePerformIO (\s -> let r = f x in
987                               case writeIORef v r s of (# s1, _ #) ->
988                               (# s1, r #)
989 The strictness analyser will now find that r is sure to be eval'd,
990 and may then hoist it out.  This makes tests/lib/should_run/memo002
991 deadlock.
992 
993 Solving this by making all NOINLINE things have no strictness info is overkill.
994 In particular, it's overkill for runST, which is perfectly respectable.
995 Consider
996        f x = runST (return x)
997 This should be strict in x.
998 
999 So the new plan is to define unsafePerformIO using the 'lazy' combinator:
1000 
1001        unsafePerformIO (IO m) = lazy (case m realWorld# of (# _, r #) -> r)
1002 
1003 Remember, 'lazy' is a wired-in identity-function Id, of type a->a, which is
1004 magically NON-STRICT, and is inlined after strictness analysis.  So
1005 unsafePerformIO will look non-strict, and that's what we want.
1006 
1007]
1008[Sync with FPS head.
1009Don Stewart <dons@cse.unsw.edu.au>**20060508122322
1010 
1011 Mon May  8 10:40:14 EST 2006  Don Stewart <dons@cse.unsw.edu.au>
1012   * Fix all uses for Int that should be CInt or CSize in ffi imports.
1013   Spotted by Igloo, dcoutts
1014 
1015 Mon May  8 16:09:41 EST 2006  Don Stewart <dons@cse.unsw.edu.au>
1016   * Import nicer loop/loop fusion rule from ghc-ndp
1017 
1018 Mon May  8 17:36:07 EST 2006  Don Stewart <dons@cse.unsw.edu.au>
1019   * Fix stack leak in split on > 60M strings
1020 
1021 Mon May  8 17:50:13 EST 2006  Don Stewart <dons@cse.unsw.edu.au>
1022   * Try same fix for stack overflow in elemIndices
1023 
1024]
1025[Fix all uses for Int that should be CInt or CSize in ffi imports. Spotted by Duncan and Ian
1026Don Stewart <dons@cse.unsw.edu.au>**20060508010311]
1027[Fixed import list syntax
1028Sven Panne <sven.panne@aedion.de>**20060507155008]
1029[Faster filterF, filterNotByte
1030dons@cse.unsw.edu.au**20060507042301]
1031[Much faster find, findIndex. Hint from sjanssen
1032dons@cse.unsw.edu.au**20060507033048]
1033[Merge "unrecognized long opt" fix from 6.4.2
1034Sven Panne <sven.panne@aedion.de>**20060506110519]
1035[
1036dons@cse.unsw.edu.au**20060506061029
1037 Sat May  6 13:01:34 EST 2006  Don Stewart <dons@cse.unsw.edu.au>
1038   * Do loopU realloc on the Haskell heap. And add a really tough stress test
1039 
1040 Sat May  6 12:28:58 EST 2006  Don Stewart <dons@cse.unsw.edu.au>
1041   * Use simple, 3x faster concat. Plus QC properties. Suggested by sjanssen and dcoutts
1042 
1043 Sat May  6 15:59:31 EST 2006  Don Stewart <dons@cse.unsw.edu.au>
1044   * dcoutt's packByte bug squashed
1045   
1046   With inlinePerformIO, ghc head was compiling:
1047   
1048    packByte 255 `compare` packByte 127
1049   
1050   into roughly
1051   
1052    case mallocByteString 2 of
1053        ForeignPtr f internals ->
1054             case writeWord8OffAddr# f 0 255 of _ ->
1055             case writeWord8OffAddr# f 0 127 of _ ->
1056             case eqAddr# f f of
1057                    False -> case compare (GHC.Prim.plusAddr# f 0)
1058                                          (GHC.Prim.plusAddr# f 0)
1059   
1060   which is rather stunning. unsafePerformIO seems to prevent whatever
1061   magic inlining was leading to this. Only affected the head.
1062   
1063]
1064[Add array fusion versions of map, filter and foldl
1065dons@cse.unsw.edu.au**20060505060858
1066 
1067 This patch adds fusable map, filter and foldl, using the array fusion
1068 code for unlifted, flat arrays, from the Data Parallel Haskell branch,
1069 after kind help from Roman Leshchinskiy,
1070 
1071 Pipelines of maps, filters and folds should now need to walk the
1072 bytestring once only, and intermediate bytestrings won't be constructed.
1073 
1074]
1075[fix for non-GHC
1076Ross Paterson <ross@soi.city.ac.uk>**20060504093044]
1077[use bracket in appendFile (like writeFile)
1078Ross Paterson <ross@soi.city.ac.uk>**20060504091528]
1079[writeFile: close the file on error
1080Simon Marlow <simonmar@microsoft.com>**20060504084505
1081 Suggested by Ross Paterson, via Neil Mitchell
1082 
1083]
1084[Sync with FPS head
1085dons@cse.unsw.edu.au**20060503105259
1086 
1087 This patch brings Data.ByteString into sync with the FPS head.
1088 The most significant of which is the new Haskell counting sort.
1089 
1090 Changes:
1091 
1092 Sun Apr 30 18:16:29 EST 2006  sjanssen@cse.unl.edu
1093   * Fix foldr1 in Data.ByteString and Data.ByteString.Char8
1094 
1095 Mon May  1 11:51:16 EST 2006  Don Stewart <dons@cse.unsw.edu.au>
1096   * Add group and groupBy. Suggested by conversation between sjanssen and petekaz on #haskell
1097 
1098 Mon May  1 16:42:04 EST 2006  sjanssen@cse.unl.edu
1099   * Fix groupBy to match Data.List.groupBy.
1100 
1101 Wed May  3 15:01:07 EST 2006  sjanssen@cse.unl.edu
1102   * Migrate to counting sort.
1103   
1104   Data.ByteString.sort used C's qsort(), which is O(n log n).  The new algorithm
1105   is O(n), and is faster for strings larger than approximately thirty bytes.  We
1106   also reduce our dependency on cbits!
1107 
1108]
1109[improve performance of Integer->String conversion
1110Simon Marlow <simonmar@microsoft.com>**20060503113306
1111 See
1112  http://www.haskell.org//pipermail/libraries/2006-April/005227.html
1113 
1114 Submitted by: bertram.felgenhauer@googlemail.com
1115 
1116 
1117]
1118[inline withMVar, modifyMVar, modifyMVar_
1119Simon Marlow <simonmar@microsoft.com>**20060503111152]
1120[Fix string truncating in hGetLine -- it was a pasto from Simon's code
1121Simon Marlow <simonmar@microsoft.com>**20060503103504
1122 (from Don Stewart)
1123]
1124[Merge in Data.ByteString head. Fixes ByteString+cbits in hugs
1125Don Stewart <dons@cse.unsw.edu.au>**20060429040733]
1126[Import Data.ByteString from fps 0.5.
1127Don Stewart <dons@cse.unsw.edu.au>**20060428130718
1128 Fast, packed byte vectors, providing a better PackedString.
1129 
1130]
1131[fix previous patch
1132Ross Paterson <ross@soi.city.ac.uk>**20060501154847]
1133[fixes for non-GHC
1134Ross Paterson <ross@soi.city.ac.uk>**20060501144322]
1135[fix imports for mingw32 && !GHC
1136Ross Paterson <ross@soi.city.ac.uk>**20060427163248]
1137[RequireOrder: do not collect unrecognised options after a non-opt
1138Simon Marlow <simonmar@microsoft.com>**20060426121110
1139 The documentation for RequireOrder says "no option processing after
1140 first non-option", so it doesn't seem right that we should process the
1141 rest of the arguments to collect the unrecognised ones.  Presumably
1142 the client wants to know about the unrecognised options up to the
1143 first non-option, and will be using a different option parser for the
1144 rest of the command line.
1145 
1146 eg. before:
1147 
1148 Prelude System.Console.GetOpt> getOpt' RequireOrder [] ["bar","--foo"]
1149 ([],["bar","--foo"],["--foo"],[])
1150 
1151 after:
1152 
1153 Prelude System.Console.GetOpt> getOpt' RequireOrder [] ["bar","--foo"]
1154 ([],["bar","--foo"],[],[])
1155]
1156[fix for Haddock 0.7
1157Ashley Yakeley <ashley@semantic.org>**20060426072521]
1158[add Data.Fixed module
1159Ashley Yakeley <ashley@semantic.org>**20060425071853]
1160[add instances
1161Ross Paterson <ross@soi.city.ac.uk>**20060424102146]
1162[add superclasses to Applicative and Traversable
1163Ross Paterson <ross@soi.city.ac.uk>**20060411144734
1164 
1165 Functor is now a superclass of Applicative, and Functor and Foldable
1166 are now superclasses of Traversable.  The new hierarchy makes clear the
1167 inclusions between the classes, but means more work in defining instances.
1168 Default definitions are provided to help.
1169]
1170[add Functor and Monad instances for Prelude types
1171Ross Paterson <ross@soi.city.ac.uk>**20060410111443]
1172[GHC.Base.breakpoint
1173Lemmih <lemmih@gmail.com>**20060407125827]
1174[Track the GHC source tree reorganisation
1175Simon Marlow <simonmar@microsoft.com>**20060407041631]
1176[in the show instance for Exception, print the type of dynamic exceptions
1177Simon Marlow <simonmar@microsoft.com>**20060406112444
1178 Unfortunately this requires some recursve module hackery to get at
1179 the show instance for Typeable.
1180]
1181[implement ForeignEnvPtr, newForeignPtrEnv, addForeignPtrEnv for GHC
1182Simon Marlow <simonmar@microsoft.com>**20060405155448]
1183[add  forkOnIO :: Int -> IO () -> IO ThreadId
1184Simon Marlow <simonmar@microsoft.com>**20060327135018]
1185[Rework previous: not a gcc bug after all
1186Simon Marlow <simonmar@microsoft.com>**20060323161229
1187 It turns out that we were relying on behaviour that is undefined in C,
1188 and undefined behaviour in C means "the compiler can do whatever the
1189 hell it likes with your entire program".  So avoid that.
1190]
1191[work around a gcc 4.1.0 codegen bug in -O2 by forcing -O1 for GHC.Show
1192Simon Marlow <simonmar@microsoft.com>**20060323134514
1193 See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26824
1194]
1195[commit mysteriously missing parts of "runIOFastExit" patch
1196Simon Marlow <simonmar@microsoft.com>**20060321101535]
1197[add runIOFastExit :: IO a -> IO a
1198Simon Marlow <simonmar@microsoft.com>**20060320124333
1199 Similar to runIO, but calls stg_exit() directly to exit, rather than
1200 shutdownHaskellAndExit().  Needed for running GHCi in the test suite.
1201]
1202[Fix a broken invariant
1203Simon Marlow <simonmar@microsoft.com>**20060316134151
1204 Patch from #694,  for the problem "empty is an identity for <> and $$" is
1205 currently broken by eg. isEmpty (empty<>empty)"
1206]
1207[Add unsafeSTToIO :: ST s a -> IO a
1208Simon Marlow <simonmar@microsoft.com>**20060315160232
1209 Implementation for Hugs is missing, but should be easy.  We need this
1210 for the forthcoming nested data parallelism implementation.
1211]
1212[Added 'alter'
1213jeanphilippe.bernardy@gmail.com**20060315143539
1214 Added 'alter :: (Maybe a -> Maybe a) -> k -> Map k a -> Map k a' to IntMap and Map
1215 This addresses ticket #665
1216]
1217[deprecate FunctorM in favour of Foldable and Traversable
1218Ross Paterson <ross@soi.city.ac.uk>**20060315092942
1219 as discussed on the libraries list.
1220]
1221[Simplify Eq, Ord, and Show instances for UArray
1222Simon Marlow <simonmar@microsoft.com>**20060313142701
1223 The Eq, Ord, and Show instances of UArray were written out longhand
1224 with one instance per element type.  It is possible to condense these
1225 into a single instance for each class, at the expense of using more
1226 extensions (non-std context on instance declaration).
1227 
1228 Suggestion by: Frederik Eaton <frederik@ofb.net>
1229 
1230]
1231[Oops typo in intSet notMember
1232jeanphilippe.bernardy@gmail.com**20060311224713]
1233[IntMap lookup now returns monad instead of Maybe.
1234jeanphilippe.bernardy@gmail.com**20060311224502]
1235[Added notMember to Data.IntSet and Data.IntMap
1236jeanphilippe.bernardy@gmail.com**20060311085221]
1237[add Data.Set.notMember and Data.Map.notMember
1238John Meacham <john@repetae.net>**20060309191806]
1239[addToClockTime: handle picoseconds properly
1240Simon Marlow <simonmar@microsoft.com>**20060310114532
1241 fixes #588
1242]
1243[make head/build rule apply to all types, not just Bool.
1244John Meacham <john@repetae.net>**20060303045753]
1245[Avoid overflow when normalising clock times
1246Ian Lynagh <igloo@earth.li>**20060210144638]
1247[Years have 365 days, not 30*365
1248Ian Lynagh <igloo@earth.li>**20060210142853]
1249[declare blkcmp() static
1250Simon Marlow <simonmar@microsoft.com>**20060223134317]
1251[typo in comment in Foldable class
1252Ross Paterson <ross@soi.city.ac.uk>**20060209004901]
1253[simplify fmap
1254Ross Paterson <ross@soi.city.ac.uk>**20060206095048]
1255[update ref in comment
1256Ross Paterson <ross@soi.city.ac.uk>**20060206095139]
1257[Give -foverlapping-instances to Data.Typeable
1258simonpj@microsoft**20060206133439
1259 
1260 For some time, GHC has made -fallow-overlapping-instances "sticky":
1261 any instance in a module compiled with -fallow-overlapping-instances
1262 can overlap when imported, regardless of whether the importing module
1263 allows overlap.  (If there is an overlap, both instances must come from
1264 modules thus compiled.)
1265 
1266 Instances in Data.Typeable might well want to be overlapped, so this
1267 commit adds the flag to Data.Typeable (with an explanatory comment)
1268 
1269 
1270]
1271[Add -fno-bang-patterns to modules using both bang and glasgow-exts
1272simonpj@microsoft.com**20060203175759]
1273[When splitting a bucket, keep the contents in the same order
1274Simon Marlow <simonmar@microsoft.com>**20060201130427
1275 To retain the property that multiple inserts shadow each other
1276 (see ticket #661, test hash001)
1277]
1278[add foldr/build optimisation for take and replicate
1279Simon Marlow <simonmar@microsoft.com>**20060126164603
1280 This allows take to be deforested, and improves performance of
1281 replicate and replicateM/replicateM_.  We have a separate problem that
1282 means expressions involving [n..m] aren't being completely optimised
1283 because eftIntFB isn't being inlined but otherwise the results look
1284 good. 
1285 
1286 Sadly this has invalidated a number of the nofib benchmarks which were
1287 erroneously using take to duplicate work in a misguided attempt to
1288 lengthen their runtimes (ToDo).
1289]
1290[Generate PrimopWrappers.hs with Haddock docs
1291Simon Marlow <simonmar@microsoft.com>**20060124131121
1292 Patch originally from Dinko Tenev <dinko.tenev@gmail.com>, modified
1293 to add log message by me.
1294]
1295[[project @ 2006-01-19 14:47:15 by ross]
1296ross**20060119144715
1297 backport warning avoidance from Haddock
1298]
1299[[project @ 2006-01-18 11:45:47 by malcolm]
1300malcolm**20060118114547
1301 Fix import of Ix for nhc98.
1302]
1303[[project @ 2006-01-17 09:38:38 by ross]
1304ross**20060117093838
1305 add Ix instance for GeneralCategory.
1306]
1307[TAG Initial conversion from CVS complete
1308John Goerzen <jgoerzen@complete.org>**20060112154126]
1309Patch bundle hash:
131042c8ba15f98f71f08070f6e67912e5d901ced9b7