Ticket #1566: mv_throw_error_base.patch

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