Ticket #1070: hPutNonBlocking.darcs.patch

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