Ticket #2261: ErrnoDeriving.patch

File ErrnoDeriving.patch, 85.6 KB (added by TomMD, 7 years ago)

Pay no attention to the previous patch - this on actually compiles ;-)

Line 
1Sun May  4 16:21:30 EDT 2008  [email protected]
2  * Derive common instances (Ord, Show) for Errno
3
4New patches:
5
6[Derive common instances (Ord, Show) for Errno
7[email protected]**20080504202130] {
8hunk ./Foreign/C/Error.hs 123
9+import Text.Show (Show(..))
10hunk ./Foreign/C/Error.hs 150
11-newtype Errno = Errno CInt
12+newtype Errno = Errno CInt deriving (Ord, Show)
13}
14
15Context:
16
17[Add comments about why rotate has an INLINE
18[email protected]**20080502074137]
19[Inline Data.Bits.rotate@Int, enables rotate to be constant folded
20Don Stewart <[email protected]>**20080501230152
21 
22 All other Bits instances seem to inline well enough on their own
23 to enable constant folding, e.g.
24 
25     sumU . mapU (`shift` 3) . replicateU 10000000 $ (7 :: Int)
26 
27 goes to:
28 
29     Main.$wfold =
30       \ (ww_sOb :: Int#) (ww1_sOf :: Int#) ->
31         case ww1_sOf of wild_XM {
32           __DEFAULT -> Main.$wfold (+# ww_sOb 56) (+# wild_XM 1);
33           10000000 -> ww_sOb
34         }
35 
36 With this patch, rotate gets inlined and folded too,
37 
38     sumU . mapU (`rotate` 3) . replicateU 10000000 $ (7 :: Int)
39 
40 to:
41 
42   Main.$wfold =
43     \ (ww_sO7 :: Int#) (ww1_sOb :: Int#) ->
44       case ww1_sOb of wild_XM {
45         __DEFAULT -> Main.$wfold (+# ww_sO7 56) (+# wild_XM 1);
46         10000000 -> ww_sO7
47 
48 Whereas it was left as a call to $wrotate before.
49     
50 
51]
52[Moved def. of emptyP
53[email protected]**20080501024223]
54[emptyP def to gHC.PArr
55[email protected]**20080501012547]
56[Reexport (>>>) and (<<<) from Control.Arrow. Preserves API compatibility
57Don Stewart <[email protected]>**20080430231055]
58[Add realToFrac RULE comments from patch message into the source code
59[email protected]**20080430214355]
60[Add RULES for realToFrac from Int.
61Don Stewart <[email protected]>**20080430174126
62 
63     {-# RULES
64     "realToFrac/Int->Double"    realToFrac   = int2Double
65     "realToFrac/Int->Float"     realToFrac   = int2Float
66       #-}
67 
68 Note that this only matters for realToFrac. If you've been using
69 fromIntegral to promote Int to Doubles, things should be fine as they are.
70 
71 The following program, using stream fusion to eliminate arrays:
72 
73     import Data.Array.Vector
74 
75     n = 40000000
76 
77     main = do
78           let c = replicateU n (2::Double)
79               a = mapU realToFrac (enumFromToU 0 (n-1) ) :: UArr Double
80           print (sumU (zipWithU (*) c a))
81 
82 Yields this loop body without the RULE:
83 
84     case $wtoRational sc_sY4 of ww_aM7 { (# ww1_aM9, ww2_aMa #) ->
85     case $wfromRat ww1_aM9 ww2_aMa of tpl_X1P { D# ipv_sW3 ->
86     Main.$s$wfold
87       (+# sc_sY4 1)
88       (+# wild_X1i 1)
89       (+## sc2_sY6 (*## 2.0 ipv_sW3))
90 
91 And with the rule:
92 
93    Main.$s$wfold
94       (+# sc_sXT 1)
95       (+# wild_X1h 1)
96       (+## sc2_sXV (*## 2.0 (int2Double# sc_sXT)))
97 
98 The running time of the program goes from 120 seconds to 0.198 seconds
99 with the native backend, and 0.143 seconds with the C backend.
100 
101 
102 And just so I don't forget, here's the difference in resulting
103 assembly (x86_64), between the native code generator, and the
104 C backend.
105 
106 -fasm
107 
108     Main_zdszdwfold_info:
109       movq %rdi,%rax
110       cmpq $40000000,%rax
111       jne .LcZK
112       jmp *(%rbp)
113     .LcZK:
114       cmpq $39999999,%rsi
115       jg .LcZN
116       cvtsi2sdq %rsi,%xmm0
117       mulsd .LnZP(%rip),%xmm0
118       movsd %xmm5,%xmm7
119       addsd %xmm0,%xmm7
120       incq %rax
121       incq %rsi
122       movq %rax,%rdi
123       movsd %xmm7,%xmm5
124       jmp Main_zdszdwfold_info
125 
126 With the C backend we get the even better assembly, (-fvia-C -optc-O3)
127 
128     Main_zdszdwfold_info:
129         cmpq    $40000000, %rdi
130         je  .L9
131     .L5:
132         cmpq    $39999999, %rsi
133         jg  .L9
134         cvtsi2sdq   %rsi, %xmm0
135         leaq    1(%rdi), %rdi
136         addq    $1, %rsi
137         addsd   %xmm0, %xmm0
138         addsd   %xmm0, %xmm5
139         jmp Main_zdszdwfold_info
140     .L9:
141         jmp *(%rbp)
142 
143 So might make a useful test once the native codegen project starts up.
144 
145 
146]
147[Just (-0/1) is now printed as Just (-0.0), not Just -0.0; trac #2036
148Ian Lynagh <[email protected]>**20080427133230]
149[record [email protected] as maintainer
150Ross Paterson <[email protected]>**20080425095200]
151[Added emptyP def
152[email protected]**20080424021403]
153[don't set O_NONBLOCK on FDs passed to fdToHandle
154Simon Marlow <[email protected]>**20080422204719]
155[Improve docs for unsafeCoerce
156[email protected]**20080422130547
157 Make it clear that compilers differ.  Point to GHC docs in GHC.Base, and
158 add a short description of nhc98's representation-safe conversions.
159]
160[Spelling only
161[email protected]**20080422082033]
162[In docs for unsafeCoerce, point to unsafeCoerce#
163[email protected]**20080421152251]
164[Turn off the gcd/lcm optimisations for Integer for now
165Ian Lynagh <[email protected]>**20080418190238
166 This makes it easier to experiment with other implementations
167]
168[Ordering has now moved to ghc-prim
169Ian Lynagh <[email protected]>**20080412100741]
170[fix types for __hscore_st_dev() and __hscore_st_ino()
171Simon Marlow <[email protected]>**20080319174101]
172[give an absolute path to 'harch'
173[email protected]**20080327142912]
174[Move Word64/Int64/Word32/Int32 primitives into ghc-prim
175Ian Lynagh <[email protected]>**20080325202634]
176[Update .darcs-boring
177Ian Lynagh <[email protected]>**20080324205808
178 GHC/Prim.hs, GHC/PrimopWrappers.hs are no longer generated in this package
179]
180[Remove GHC.PrimopWrappers from base's exposed modules list
181Ian Lynagh <[email protected]>**20080324205734]
182[base now uses build-type: Configure
183Ian Lynagh <[email protected]>**20080323191146]
184[Move Integer out into its own package
185Ian Lynagh <[email protected]>**20080323181342
186 We now depend on the new integer package.
187 We also depend on a new ghc-prim package, which has GHC.Prim,
188 GHC.PrimopWrappers, and new modules GHC.Bool and GHC.Generics,
189 containing Bool and Unit/Inl/Inr respectively.
190]
191[List extensions used rather than using the -fglasgow-exts hammer
192Ian Lynagh <[email protected]>**20080322133622]
193[Remove a gratuitous pattern type sig
194Ian Lynagh <[email protected]>**20080321011356]
195[An even better definition for (^) (trac #1687)
196Ian Lynagh <[email protected]>**20080320003957]
197[Replace (^) with a faster variant (from trac #1687)
198Ian Lynagh <[email protected]>**20080318003017]
199[Add partitionEithers, lefts, and rights.
200Ian Lynagh <[email protected]>**20080314193037
201 Patch from Russell O'Connor, trac proposal #974.
202]
203[System.Console.GetOpt mistakenly rejects options as ambiguous.
204[email protected]**20080312111047
205 From "Eelis van der Weegen" <[email protected]>.
206 Testcase:
207 
208 > import System.Console.GetOpt
209 >
210 > type Color = String
211 >
212 > optsDesc :: [OptDescr Color]
213 > optsDesc = [Option "" ["color", "colour"]
214 >                    (ReqArg id "color") "Foreground color"]
215 >
216 > main = do
217 >   let args = ["--col=blue"]
218 >   case getOpt RequireOrder optsDesc args of
219 >     (_, _, err:_) -> putStrLn err
220 >     _ -> return ()
221 
222 Output:
223   option `--col' is ambiguous; could be one of:
224       --color=color, --colour=color  Foreground color
225       --color=color, --colour=color  Foreground color
226 
227 This error is silly, because the two alternatives listed are the same
228 option.  The problem is caused by incorrect use of a generator in a list
229 comprehension.
230]
231[untabify
232Don Stewart <[email protected]>**20080310005455]
233[untabify
234Don Stewart <[email protected]>**20080308014256]
235[untabify
236Don Stewart <[email protected]>**20080308014129]
237[untabify
238Don Stewart <[email protected]>**20080308014040]
239[untabify
240Don Stewart <[email protected]>**20080308013556]
241[untabify
242Don Stewart <[email protected]>**20080308012457]
243[untabify
244Don Stewart <[email protected]>**20080308012059]
245[untabify
246Don Stewart <[email protected]>**20080307192727]
247[untabify
248Don Stewart <[email protected]>**20080305033712]
249[untabify
250Don Stewart <[email protected]>**20080305015827]
251[untabify
252Don Stewart <[email protected]>**20080305012530]
253[untabify
254Don Stewart <[email protected]>**20080305010343]
255[untabify
256Don Stewart <[email protected]>**20080305010255]
257[untabify
258Don Stewart <[email protected]>**20080305005041]
259[untabify
260Don Stewart <[email protected]>**20080305005025]
261[untabify
262Don Stewart <[email protected]>**20080304235330]
263[untabify
264Don Stewart <[email protected]>**20080304225120]
265[untabify
266Don Stewart <[email protected]>**20080304174827]
267[untabify
268Don Stewart <[email protected]>**20080303195109]
269[untabify
270Don Stewart <[email protected]>**20080303195002]
271[untabify
272Don Stewart <[email protected]>**20080303194454]
273[untabify
274Don Stewart <[email protected]>**20080228234443]
275[untabify
276Don Stewart <[email protected]>**20080228185409]
277[untabify
278Don Stewart <[email protected]>**20080228185356]
279[untabify
280Don Stewart <[email protected]>**20080228185331]
281[export MVar, TVar, and STM non-abstractly
282Simon Marlow <[email protected]>**20080228113035
283 As requested by Sterling Clover on ghc-users
284]
285[Added Down class and improved groupWith fusion
286Max Bolingbroke <[email protected]>**20080213212246]
287[untabify
288Don Stewart <[email protected]>**20080227062836]
289[untabify
290Don Stewart <[email protected]>**20080226070630]
291[mention explicitly that hIsEOF may block
292Simon Marlow <[email protected]>**20080220141209]
293[untabify
294Don Stewart <[email protected]>**20080219233644]
295[untabify
296Don Stewart <[email protected]>**20080219233047]
297[untabify
298Don Stewart <[email protected]>**20080219232910]
299[untabify
300Don Stewart <[email protected]>**20080219225437]
301[untabify
302Don Stewart <[email protected]>**20080219061513]
303[Add exitSuccess :: IO a. For symmetry with exitFailure
304Don Stewart <[email protected]>**20080213222644]
305[untabify
306Don Stewart <[email protected]>**20080218075732]
307[untabify
308Don Stewart <[email protected]>**20080218065411]
309[untabify
310Don Stewart <[email protected]>**20080215005543]
311[FIX dynamic001, dynamic002: further fixes to tuple printing
312Simon Marlow <[email protected]>**20080211101908]
313[untabify
314Don Stewart <[email protected]>**20080213221950]
315[untabify only
316Don Stewart <[email protected]>**20080213221856]
317[whitespace only
318Don Stewart <[email protected]>**20080207191939]
319[Whitespace only
320Don Stewart <[email protected]>**20080207183954]
321[FIX dynamic001 dynamic002: isTupleTyCon had rotted
322Simon Marlow <[email protected]>**20080205103904
323 In the patch "Tuple tycons have parens around their names", the names
324 of the tuple tycons were changed to include parens, but isTupleTyCon
325 was not updated to match, which made tuple types show as "(,) a b"
326 rather than "(a,b)"
327]
328[deforestation rules for enumFromThenTo; based on a patch from Robin Houston
329Ian Lynagh <[email protected]>**20080203152755]
330[Generalise type of forever :: (Monad m) => m a -> m b
331Don Stewart <[email protected]>**20080129191940]
332[FIX #1936: hGetBufNonBlocking was blocking on stdin/stdout/stderr
333Simon Marlow <[email protected]>**20080124092203]
334[The default uncaught exception handler was adding an extra \n
335Simon Marlow <[email protected]>**20080124091216]
336[add comment about lack of _chsize_s()
337Simon Marlow <[email protected]>**20080123131248]
338[Windows: large file support for hFileSize and hSeek (#1771)
339Simon Marlow <[email protected]>**20080123102904
340 
341 
342]
343[Export topHandler, topHandlerFastExit from GHC.TopHandler
344Ian Lynagh <[email protected]>**20080120182429
345 We now use one of these in ghc when running with ghc -e
346]
347[haddock attributes for haddock-2.0
348Ross Paterson <[email protected]>**20080120022308]
349[Data.List.sort: force elements from start to end.
350Bertram Felgenhauer <[email protected]>**20071121101458
351 this prevents a stack overflow on  sort (take 10^6 [1..])
352]
353[Fix comment on GHC.Ptr.minusPtr
354[email protected]**20080109114736]
355[Remove redundant imports of GHC.Err
356[email protected]**20080104091314
357 
358 GHC.Base SOURCE-imports GHC.Err, and re-exports 'error'.  So
359 other modules need only import GHC.Base.
360 
361 This doesn't change the fact that these other modules are all compiled
362 before GHC.Err, so they are all part of the module loop that starts with
363 GHC.Base and finishes with GHC.Err.  But it does reduce the occurrence
364 of those SOURCE imports.
365 
366]
367[Tuple tycons have parens around their names
368simonpj@microsoft**20071220171812
369 
370 The name of the pair TyCon, in the Typeable instance,
371 should be "(,)" not ",".
372 
373 Don't merge to 6.8; it's a minor API change.
374 
375]
376[Add groupWith, sortWith, the, to support generalised list comprehensions
377[email protected]**20071220111929
378 
379   This the base-library patch to support the main compiler patch
380      Implement generalised list comprehensions
381   
382   It just adds three functions to GHC.Exts.
383 
384]
385[Add GHC.Prim to exposedModules in the Haddock 0.x hook
386David Waern <[email protected]>*-20071209173931
387 
388 Please merge to the stable branch
389]
390[Add GHC.Prim to exposedModules in the Haddock 0.x hook
391David Waern <[email protected]>**20071209173931
392 
393 Please merge to the stable branch
394]
395[Simplify the GHC.Prim hack in base.cabal/Setup.hs
396Ian Lynagh <[email protected]>**20071202215758]
397[Implement 'openTempFile' for nhc98.
398[email protected]**20071207133335]
399[docs: describe the changes to forkIO, and document forkOnIO
400Simon Marlow <[email protected]>**20071205091423]
401[doc only: use realToFrac instead of fromRational.toRational
402Simon Marlow <[email protected]>**20071205091334]
403[Add singletonP to GHC.PArr
404Roman Leshchinskiy <[email protected]>**20071205220859]
405[FIX #1621: bug in Windows code for getCPUTime
406Simon Marlow <[email protected]>**20071205120118
407 We were reading the components of FILETIME as CLong, when they should
408 be unsigned.  Word32 seems to be the correct type here.
409]
410[protect console handler against concurrent access (#1922)
411Simon Marlow <[email protected]>**20071204153940]
412[protect against concurrent access to the signal handlers (#1922)
413Simon Marlow <[email protected]>**20071204110817]
414[restore fdToHandle' to avoid breaking clients (#1109)
415Simon Marlow <simonmar@microsoft.com>**20071130135122
416 
417]
418[note about how to convert CTime (aka EpochTime) to UTCTime
419Simon Marlow <simonmar@microsoft.com>**20071130101648]
420[Fix some URLs
421Ian Lynagh <igloo@earth.li>**20071126214213]
422[Fix some links in haddock docs
423Ian Lynagh <igloo@earth.li>**20071126184428]
424[Don't try to make haddock links to the mtl package as we don't depend on it
425Ian Lynagh <igloo@earth.li>**20071126170631]
426[Escape some special characters in haddock docs
427Ian Lynagh <igloo@earth.li>**20071126163443]
428[FIX BUILD: maybeUpdateFile: ignore failures when removing the target
429Simon Marlow <simonmar@microsoft.com>**20071123092219]
430[FIX #1753
431Simon Marlow <simonmar@microsoft.com>**20071122094207
432 hClose should close the Handle and unlock the file even if calling
433 close() fails for some reason.
434]
435[remove lockFile.h from install-includes
436Simon Marlow <simonmar@microsoft.com>**20071121102248]
437[oops, we forgot to export traceShow
438Simon Marlow <simonmar@microsoft.com>**20071121094300]
439[Fix compilation with GHC 6.2.x
440Simon Marlow <simonmar@microsoft.com>**20071121084341]
441[Move file locking into the RTS, fixing #629, #1109
442Simon Marlow <simonmar@microsoft.com>**20071120121053
443 File locking (of the Haskell 98 variety) was previously done using a
444 static table with linear search, which had two problems: the array had
445 a fixed size and was sometimes too small (#1109), and performance of
446 lockFile/unlockFile was suboptimal due to the linear search.
447 Also the algorithm failed to count readers as required by Haskell 98
448 (#629).
449 
450 Now it's done using a hash table (provided by the RTS).  Furthermore I
451 avoided the extra fstat() for every open file by passing the dev_t and
452 ino_t into lockFile.  This and the improvements to the locking
453 algorithm result in a healthy 20% or so performance increase for
454 opening/closing files (see openFile008 test).
455]
456[Only overwrite GHC/Prim.hs and GHC/Primopwrappers.hs if they change
457Simon Marlow <simonmar@microsoft.com>**20071120102042
458 This avoids make doing unnecessary work after 'setup makefile'.
459]
460[fix comment
461Simon Marlow <simonmar@microsoft.com>**20071116091227]
462[Fix ` characters in elem's haddock docs
463Ian Lynagh <igloo@earth.li>**20071110173052]
464[Filter out GHC.Prim also for the Haddock step
465David Waern <david.waern@gmail.com>**20071109000806
466 Please merge to the GHC 6.8.2 branch
467]
468[Add module of special magic GHC desugaring helper functions
469Simon Marlow <simonmar@microsoft.com>**20071102160054
470 Currently containing only one such helper: (>>>) for arrow desugaring
471]
472[add Control.Category to the nhc98 build
473Malcolm.Wallace@cs.york.ac.uk**20071030120459]
474[fix nhc98 build: need a qualified Prelude import
475Malcolm.Wallace@cs.york.ac.uk**20071030120410]
476[Fix performance regression: re-instate -funbox-strict-fields
477Simon Marlow <simonmar@microsoft.com>**20071029150730
478 Yikes!  While investigating the increase in code size with GHC 6.8
479 relative to 6.6, I noticed that in the transition to Cabal for the
480 libraries we lost -funbox-strict-fields, which is more or less
481 depended on by the IO library for performance.  I'm astonished that we
482 didn't notice this earlier!
483 
484 To reduce the chances of this happening again, I put
485 -funbox-strict-fields in the OPTIONS_GHC pragma of the modules that
486 need it.  {-# UNPACK #-} pragmas would be better, though.
487]
488[FIX BUILD: Haddock 1.x fails to parse (Prelude..)
489Simon Marlow <simonmar@microsoft.com>**20071029131921]
490[new Control.Category, ghc ticket #1773
491Ashley Yakeley <ashley@semantic.org>**20071029022526]
492[new Control.Compositor module
493Ashley Yakeley <ashley@semantic.org>**20071013074851
494 
495 The Compositor class is a superclass of Arrow.
496]
497[Fix doc building with Haddock 0.9
498Simon Marlow <simonmar@microsoft.com>**20071024090947
499 I was using a recent build here, which is more tolerant.
500]
501[FIX #1258: document that openTempFile is secure(ish)
502Simon Marlow <simonmar@microsoft.com>**20071023130928
503 Also change the mode from 0666 to 0600, which seems like a more
504 sensible value and matches what C's mkstemp() does.
505]
506[Clean up .cabal file a bit
507Duncan Coutts <duncan@haskell.org>**20071022132708
508 specify build-type and cabal-version >= 1.2
509 put extra-tmp-files in the right place
510 use os(windows) rather than os(mingw32)
511]
512[base in 6.8 and head branch should be version 3.0
513Don Stewart <dons@galois.com>**20071007150408]
514[FIX #1652: openTempFile should accept an empty string for the directory
515Simon Marlow <simonmar@microsoft.com>**20071018122345]
516[clean up duplicate code
517Simon Marlow <simonmar@microsoft.com>**20071017141311]
518[expose the value of +RTS -N as GHC.Conc.numCapabilities (see #1733)
519Simon Marlow <simonmar@microsoft.com>**20071009132042]
520[typo
521Simon Marlow <simonmar@microsoft.com>**20070917130703]
522[put extra-tmp-files field in the right place
523Simon Marlow <simonmar@microsoft.com>**20070914140812]
524[Add more entries to boring file
525Ian Lynagh <igloo@earth.li>**20070913210500]
526[Add a boring file
527Ian Lynagh <igloo@earth.li>**20070913204641]
528[TAG 2007-09-13
529Ian Lynagh <igloo@earth.li>**20070913215720]
530[FIX #1689 (openTempFile returns wrong filename)
531Tim Chevalier <chevalier@alum.wellesley.edu>**20070913052025]
532[TAG ghc-6.8 branched 2007-09-03
533Ian Lynagh <igloo@earth.li>**20070903155541]
534[Remove some incorrect rules; fixes #1658: CSE [of Doubles] changes semantics
535Ian Lynagh <igloo@earth.li>**20070904134140]
536[make hWaitForInput/hReady not fail with "invalid argument" on Windows
537Simon Marlow <simonmar@microsoft.com>**20070830131115
538 See #1198.  This doesn't fully fix it, because hReady still always
539 returns False on file handles.  I'm not really sure how to fix that.
540]
541[Fix haddock docs in Hashtable
542Ian Lynagh <igloo@earth.li>**20070830154131]
543[Fix building HashTable: Use ord rather than fromEnum
544Ian Lynagh <igloo@earth.li>**20070830150214]
545[Better hash functions for Data.HashTable, from Jan-Willem Maessen
546Ian Lynagh <igloo@earth.li>**20070830142844]
547[Remove redundant include/Makefile
548Ian Lynagh <igloo@earth.li>**20070828205659]
549[Make arrays safer (e.g. trac #1046)
550Ian Lynagh <igloo@earth.li>**20070810163405]
551[delete configure droppings in setup clean
552Simon Marlow <simonmar@microsoft.com>**20070824104100]
553[FIX #1282: 64-bit unchecked shifts are not exported from base
554Simon Marlow <simonmar@microsoft.com>**20070823135033
555 I've exported these functions from GHC.Exts.  They are still
556 implemented using the FFI underneath, though.
557 
558 To avoid conditional exports, on a 64-bit build:
559 
560   uncheckedShiftL64# = uncheckShiftL#
561 
562 (etc.) which has a different type than the 32-bit version of
563 uncheckedShiftL64#, but at least GHC.Exts exports the same names.
564 
565]
566[Fix hashInt
567Ian Lynagh <igloo@earth.li>**20070821140706
568 As pointed out in
569 http://www.haskell.org/pipermail/glasgow-haskell-bugs/2007-August/009545.html
570 the old behaviour was
571 Prelude Data.HashTable> map hashInt [0..10]
572 [0,-1,-1,-2,-2,-2,-3,-3,-4,-4,-4]
573 
574 Fixed according to the "Fibonacci Hashing" algorithm described in
575 http://www.brpreiss.com/books/opus4/html/page213.html
576 http://www.brpreiss.com/books/opus4/html/page214.html
577]
578[test impl(ghc) instead of IsGHC
579Ross Paterson <ross@soi.city.ac.uk>**20070819233500]
580[fpstring.h has moved to bytestring
581Ross Paterson <ross@soi.city.ac.uk>**20070819233815]
582[remove now-unused SIG constants
583Ross Paterson <ross@soi.city.ac.uk>**20070819233745]
584[include Win32 extra-libraries for non-GHC's too
585Ross Paterson <ross@soi.city.ac.uk>**20070819233611]
586[Don't import Distribution.Setup in Setup.hs as we no longer need it
587Ian Lynagh <igloo@earth.li>**20070816151643]
588[Correct the swapMVar haddock doc
589Ian Lynagh <igloo@earth.li>**20070814145028]
590[install Typeable.h for use by other packages
591Malcolm.Wallace@cs.york.ac.uk**20070813112855]
592[Don't try to build modules no longer living in base.
593Malcolm.Wallace@cs.york.ac.uk**20070813112803]
594[Move Data.{Foldable,Traversable} back to base
595Ian Lynagh <igloo@earth.li>**20070812165654
596 The Array instances are now in Data.Array.
597]
598[Remove bits left over from the old build system
599Ian Lynagh <igloo@earth.li>**20070811135019]
600[Move the datamap001 (our only test) to the containers package
601Ian Lynagh <igloo@earth.li>**20070803180932]
602[Data.Array* and Data.PackedString have now moved to their own packages
603Ian Lynagh <igloo@earth.li>**20070801235542]
604[Remove a number of modules now in a "containers" package
605Ian Lynagh <igloo@earth.li>**20070801223858]
606[Remove System.Posix.Signals (moving to unix)
607Ian Lynagh <igloo@earth.li>**20070729215213]
608[bytestring is now in its own package
609Ian Lynagh <igloo@earth.li>**20070729132215]
610[Export throwErrnoPath* functions
611Ian Lynagh <igloo@earth.li>**20070722002923]
612[Add simple haddock docs for throwErrnoPath* functions
613Ian Lynagh <igloo@earth.li>**20070722002817]
614[Move throwErrnoPath* functions from unix:System.Posix.Error
615Ian Lynagh <igloo@earth.li>**20070722002746]
616[Clarify the swapMVar haddock doc
617Ian Lynagh <igloo@earth.li>**20070807185557]
618[fix Haddock markup
619Simon Marlow <simonmar@microsoft.com>**20070802081717]
620[Temporarily fix breakage for nhc98.
621Malcolm.Wallace@cs.york.ac.uk**20070801163750
622 A recent patch to System.IO introduced a cyclic dependency on Foreign.C.Error,
623 and also inadvertently dragged along System.Posix.Internals which has
624 non-H'98 layout, causing many build problems.  The solution for now
625 is to #ifndef __NHC__ all of the recent the openTempFile additions,
626 and mark them non-portable once again.  (I also took the opportunity
627 to note a number of other non-portable functions in their Haddock
628 comments.)
629]
630[Generalise the type of synthesize, as suggested by Trac #1571
631simonpj@microsoft**20070801125208
632 
633 I have not looked at the details, but the type checker is happy with the
634 more general type, and more general types are usually a Good Thing.
635 
636]
637[Fix fdToHandle on Windows
638Ian Lynagh <igloo@earth.li>**20070730133139
639 The old setmode code was throwing an exception, and I'm not sure it is
640 meant to do what we need anyway. For now we assume that all FDs are
641 both readable and writable.
642]
643[Correct Windows OS name in cabal configuration
644Ian Lynagh <igloo@earth.li>**20070729161739]
645[Use cabal configurations rather than Setup hacks
646Ian Lynagh <igloo@earth.li>**20070729132157]
647[Handle buffers should be allocated with newPinnedByteArray# always
648Simon Marlow <simonmar@microsoft.com>**20070725095550
649 Not just on Windows.  This change is required because we now use safe
650 foreign calls for I/O on blocking file descriptors with the threaded
651 RTS.  Exposed by concio001.thr on MacOS X: MacOS apparently uses
652 smaller buffers by default, so they weren't being allocated as large
653 objects.
654 
655]
656[fix Hugs implementation of openTempFile
657Ross Paterson <ross@soi.city.ac.uk>**20070724114003]
658[Hugs only: avoid dependency cycle
659Ross Paterson <ross@soi.city.ac.uk>**20070724113852]
660[open(Binary)TempFile is now portable
661Ian Lynagh <igloo@earth.li>**20070722152752]
662[Tweak temporary file filename chooser
663Ian Lynagh <igloo@earth.li>**20070722105445]
664[Move open(Binary)TempFile to System.IO
665Ian Lynagh <igloo@earth.li>**20070722010205]
666[Rename openFd to fdToHandle'
667Ian Lynagh <igloo@earth.li>**20070721235538
668 The name collision with System.Posix.IO.openFd made my brain hurt.
669]
670[Add a test for Data.Map, for a bug on the libraries@ list
671Ian Lynagh <igloo@earth.li>**20070721002119]
672[fix Data.Map.updateAt
673Bertram Felgenhauer <int-e@gmx.de>**20070718150340
674 See http://haskell.org/pipermail/libraries/2007-July/007785.html for a piece
675 of code triggering the bug. updateAt threw away parts of the tree making up
676 the map.
677]
678[in hClose, free the handle buffer by replacing it with an empty one
679Simon Marlow <simonmar@microsoft.com>**20070719161419
680 This helps reduce the memory requirements for a closed but unfinalised
681 Handle.
682]
683[Implement GHC.Environment.getFullArgs
684Ian Lynagh <igloo@earth.li>**20070717141918
685 This returns all the arguments, including those normally eaten by the
686 RTS (+RTS ... -RTS).
687 This is mainly for ghc-inplace, where we need to pass /all/ the
688 arguments on to the real ghc. e.g. ioref001(ghci) was failing because
689 the +RTS -K32m -RTS wasn't getting passed on.
690]
691[Define stripPrefix; fixes trac #1464
692Ian Lynagh <igloo@earth.li>**20070714235204]
693[no need to hide Maybe
694Malcolm.Wallace@cs.york.ac.uk**20070710154058]
695[Add a more efficient Data.List.foldl' for GHC (from GHC's utils/Util.lhs)
696Ian Lynagh <igloo@earth.li>**20070706205526]
697[Remove include-dirs ../../includes and ../../rts
698Ian Lynagh <igloo@earth.li>**20070705205356
699 We get these by virtue of depending on the rts package.
700]
701[FIX #1131 (newArray_ allocates an array full of garbage)
702Simon Marlow <simonmar@microsoft.com>**20070704102020
703 Now newArray_ returns a deterministic result in the ST monad, and
704 behaves as before in other contexts.  The current newArray_ is renamed
705 to unsafeNewArray_; the MArray class therefore has one more method
706 than before.
707]
708[change nhc98 option from -prelude to --prelude
709Malcolm.Wallace@cs.york.ac.uk**20070702150355]
710[Word is a type synonym in nhc98 - so class instance not permitted.
711Malcolm.Wallace@cs.york.ac.uk**20070629122035]
712[fix bug in writes to blocking FDs in the non-threaded RTS
713Simon Marlow <simonmar@microsoft.com>**20070628134320]
714[Modernize printf.
715lennart.augustsson@credit-suisse.com**20070628083852
716 
717 Add instances for Int8, Int16, Int32, Int64, Word, Word8, Word16, Word32, and
718 Word64.
719 Handle + flag.
720 Handle X, E, and G formatting characters.
721 Rewrite internals to make it simpler.
722]
723[Speed up number printing and remove the need for Array by using the standard 'intToDigit' routine
724John Meacham <john@repetae.net>**20070608182353]
725[Use "--  //" (2 spaces) rather than "-- //" (1) to avoid tripping haddock up
726Ian Lynagh <igloo@earth.li>**20070627010930
727 Are we nearly there yet?
728]
729[Use a combination of Haskell/C comments to ensure robustness.
730Malcolm.Wallace@cs.york.ac.uk**20070626095222
731 e.g. -- // ensures that _no_ preprocessor will try to tokenise the
732 rest of the line.
733]
734[Change C-style comments to Haskell-style.
735Malcolm.Wallace@cs.york.ac.uk**20070625094515
736 These two headers are only ever used for pre-processing Haskell code,
737 and are never seen by any C tools except cpp.  Using the Haskell comment
738 convention means that cpphs no longer needs to be given the --strip
739 option to remove C comments from open code.  This is a Good Thing,
740 because all of /* */ and // are valid Haskell operator names, and there
741 is no compelling reason to forbid using them in files which also happen
742 to have C-preprocessor directives.
743]
744[makefileHook needs to generate PrimopWrappers.hs too
745Simon Marlow <simonmar@microsoft.com>**20070622073424]
746[Hugs now gets MonadFix(mfix) from its prelude
747Ross Paterson <ross@soi.city.ac.uk>**20070620000343]
748[Typo (consUtils.hs -> consUtils.h)
749Ian Lynagh <igloo@earth.li>**20070619124140]
750[install dependent include files and Typeable.h
751Bertram Felgenhauer <int-e@gmx.de>**20070613041734]
752[update prototype following inputReady->fdReady change
753Simon Marlow <simonmar@microsoft.com>**20070614095309]
754[FIX hGetBuf001: cut-and-pasto in readRawBufferNoBlock
755Simon Marlow <simonmar@microsoft.com>**20070614094222]
756[fix description of CWStringLen
757Ross Paterson <ross@soi.city.ac.uk>**20070605223345]
758[Remove unsafeCoerce-importing kludgery in favor of Unsafe.Coerce
759Isaac Dupree <id@isaac.cedarswampstudios.org>**20070601203625]
760[--configure-option and --ghc-option are now provided by Cabal
761Ross Paterson <ross@soi.city.ac.uk>**20070604115233]
762[Data.PackedString: Data.Generics is GHC-only
763Ross Paterson <ross@soi.city.ac.uk>**20070529232427]
764[Add Data instance for PackedString; patch from greenrd in trac #1263
765Ian Lynagh <igloo@earth.li>**20070529205420]
766[Control.Concurrent documentation fix
767shae@ScannedInAvian.com**20070524163325]
768[add nhc98-options: field to .cabal file
769Malcolm.Wallace@cs.york.ac.uk**20070528122626]
770[add a dummy implementation of System.Timeout.timeout for nhc98
771Malcolm.Wallace@cs.york.ac.uk**20070528110309]
772[Add System.Timeout to base.cabal
773Ian Lynagh <igloo@earth.li>**20070527123314
774 Filtered out for non-GHC by Setup.hs.
775]
776[add module Data.Fixed to nhc98 build
777Malcolm.Wallace@cs.york.ac.uk**20070525141021]
778[DIRS now lives in package Makefile, not script/pkgdirlist
779Malcolm.Wallace@cs.york.ac.uk**20070525111749]
780[delete unused constants
781Ross Paterson <ross@soi.city.ac.uk>**20070525001741]
782[remove System.Cmd and System.Time too
783Malcolm.Wallace@cs.york.ac.uk**20070524163200]
784[remove locale as well
785Malcolm.Wallace@cs.york.ac.uk**20070524161943]
786[nhc98 version of instance Show (a->b) copied from Prelude
787Malcolm.Wallace@cs.york.ac.uk**20070524160615]
788[remove directory, pretty, and random bits from base for nhc98
789Malcolm.Wallace@cs.york.ac.uk**20070524160608]
790[Remove Makefile and package.conf.in (used in the old build system)
791Ian Lynagh <igloo@earth.li>**20070524142545]
792[Split off process package
793Ian Lynagh <igloo@earth.li>**20070523210523]
794[Fix comment: maperrno is in Win32Utils.c, not runProcess.c
795Ian Lynagh <igloo@earth.li>**20070523181331]
796[System.Locale is now split out
797Ian Lynagh <igloo@earth.li>**20070519132638]
798[Split off directory, random and old-time packages
799Ian Lynagh <igloo@earth.li>**20070519120642]
800[Remove Control.Parallel*, now in package parallel
801Ian Lynagh <igloo@earth.li>**20070518165431]
802[Remove the pretty-printing modules (now in package pretty(
803Ian Lynagh <igloo@earth.li>**20070518162521]
804[add install-includes: field
805Simon Marlow <simonmar@microsoft.com>**20070517094948]
806[correct the documentation for newForeignPtr
807Simon Marlow <simonmar@microsoft.com>**20070516082019]
808[When doing safe writes, handle EAGAIN rather than raising an exception
809Simon Marlow <simonmar@microsoft.com>**20070515114615
810 It might be that stdin was set to O_NONBLOCK by someone else, and we
811 should handle this case.  (this happens with GHCi, I'm not quite sure why)
812]
813[Use FilePath to make paths when building GHC/Prim.hs and GHC/PrimopWrappers.hs
814Ian Lynagh <igloo@earth.li>**20070514110409]
815[Build GHC/Prim.hs and GHC/PrimopWrappers.hs from Cabal
816Ian Lynagh <igloo@earth.li>**20070509142655]
817[fix imports for non-GHC
818Ross Paterson <ross@soi.city.ac.uk>**20070513001138]
819[Give an example of how intersection takes elements from the first set
820Ian Lynagh <igloo@earth.li>**20070512160253]
821[further clarify the docs for 'evaluate'
822Malcolm.Wallace@cs.york.ac.uk**20070508101124]
823[improve documentation for evaluate
824Simon Marlow <simonmar@microsoft.com>**20070508081712]
825[FIX: #724 (tee complains if used in a process started by ghc)
826Simon Marlow <simonmar@microsoft.com>**20070507123537
827 
828 Now, we only set O_NONBLOCK on file descriptors that we create
829 ourselves.  File descriptors that we inherit (stdin, stdout, stderr)
830 are kept in blocking mode.  The way we deal with this differs between
831 the threaded and non-threaded runtimes:
832 
833  - with -threaded, we just make a safe foreign call to read(), which
834    may block, but this is ok.
835 
836  - without -threaded, we test the descriptor with select() before
837    attempting any I/O.  This isn't completely safe - someone else
838    might read the data between the select() and the read() - but it's
839    a reasonable compromise and doesn't seem to measurably affect
840    performance.
841]
842[the "unknown" types are no longer required
843Simon Marlow <simonmar@microsoft.com>**20070426135931]
844[Make Control.Exception buildable by nhc98.
845Malcolm.Wallace@cs.york.ac.uk**20070504105548
846 The nhc98 does not have true exceptions, but these additions should be
847 enough infrastructure to pretend that it does.  Only IO exceptions will
848 actually work.
849]
850[Trim imports, remove a cycle
851simonpj@microsoft**20070503123010
852 
853 A first attempt at removing gratuitous cycles in the base package.
854 I've removed the useless module GHC.Dynamic, which gets rid of a cycle;
855 and trimmed off various unnecesary imports.
856 
857 This also fixes the IsString import problem.
858 
859]
860[Be less quiet about building the base package
861simonpj@microsoft**20070503093707]
862[Remove Splittable class (a vestige of linear implicit parameters)
863simonpj@microsoft**20070221104329]
864[Add IsString to exports of GHC.Exts
865simonpj@microsoft**20070221104249]
866[tweak documentation as per suggestion from Marc Weber on libraries@haskell.org
867Simon Marlow <simonmar@microsoft.com>**20070426075921]
868[Add extra libraries when compiling with GHC on Windows
869Ian Lynagh <igloo@earth.li>**20070424213127]
870[Follow Cabal changes in Setup.hs
871Ian Lynagh <igloo@earth.li>**20070418114345]
872[inclusion of libc.h is conditional on __APPLE__
873Malcolm.Wallace@cs.york.ac.uk**20070417085556]
874[MERGE: fix ugly uses of memcpy foreign import inside ST
875Simon Marlow <simonmar@microsoft.com>**20070416101530
876 fixes cg026
877]
878[Fix configure with no --with-cc
879Ian Lynagh <igloo@earth.li>**20070415165143]
880[MacOS 10.3 needs #include <libc.h> as well
881Malcolm.Wallace@cs.york.ac.uk**20070414155507]
882[For nhc98 only, use hsc2hs to determine System.Posix.Types.
883Malcolm.Wallace@cs.york.ac.uk**20070413155831
884 Avoids the existing autoconf stuff, by introducing an auxiliary module
885 called NHC.PosixTypes that uses hsc2hs, which is then simply re-exported
886 from System.Posix.Types.
887]
888[we need a makefileHook too
889Simon Marlow <simonmar@microsoft.com>**20070413151307]
890[Remove unnecesary SOURCE import of GHC.Err in GHC.Pack
891Ian Lynagh <igloo@earth.li>**20070412235908]
892[add System.Posix.Types to default nhc98 build
893Malcolm.Wallace@cs.york.ac.uk**20070412195026]
894[mark System.IO.openTempFile as non-portable in haddocks
895Malcolm.Wallace@cs.york.ac.uk**20070412135359]
896[Don't turn on -Werror in Data.Fixed
897Ian Lynagh <igloo@earth.li>**20070411155721
898 This may be responsible for the x86_64/Linux nightly build failing.
899]
900[Fix -Wall warnings
901Ian Lynagh <igloo@earth.li>**20070411004929]
902[Add missing case in removePrefix
903Ian Lynagh <igloo@earth.li>**20070411002537]
904[Allow additional options to pass on to ./configure to be given
905Ian Lynagh <igloo@earth.li>**20070406151856]
906[Hugs only: fix location of unsafeCoerce
907Ross Paterson <ross@soi.city.ac.uk>**20070406113731]
908[fix isPortableBuild test
909Ross Paterson <ross@soi.city.ac.uk>**20070406111304]
910[Unsafe.Coerce doesn't need Prelude
911Ian Lynagh <igloo@earth.li>**20070405175930]
912[make Setup and base.cabal suitable for building the libraries with GHC
913Ian Lynagh <igloo@earth.li>**20070308163824]
914[HsByteArray doesn't exist
915Ian Lynagh <igloo@earth.li>**20070404163051]
916[Don't use Fd/FD in foreign decls
917Ian Lynagh <igloo@earth.li>**20070404155822
918 Using CInt makes it much easier to verify that it is right, and we won't
919 get caught out by possible newtype switches between CInt/Int.
920]
921[HsByteArray doesn't exist
922Ian Lynagh <igloo@earth.li>**20070404155732]
923[Fix braino
924Ian Lynagh <igloo@earth.li>**20070404144508]
925[Fix incorrect changes to C types in a foreign import for nhc98.
926Malcolm.Wallace@cs.york.ac.uk**20070404120954
927 If we use type CTime, it needs to be imported.  Also, CTime is not an
928 instance of Integral, so use some other mechanism to convert it.
929]
930[Fix C/Haskell type mismatches
931Ian Lynagh <igloo@earth.li>**20070403194943]
932[add new module Unsafe.Coerce to build system
933Malcolm.Wallace@cs.york.ac.uk**20070403131333]
934[Fix type mismatches between foreign imports and HsBase.h
935Ian Lynagh <igloo@earth.li>**20070403001611
936 
937 Merge to stable, checking for interface changes.
938]
939[put 'unsafeCoerce' in a standard location
940Malcolm.Wallace@cs.york.ac.uk**20061113114103]
941[fix for nhc98 build
942Malcolm.Wallace@cs.york.ac.uk**20070402141712]
943[Function crossMapP for fixing desugaring of comprehensions
944Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070402082906
945 
946 Merge into 6.6 branch.
947]
948[Add min/max handling operations for IntSet/IntMap
949jeanphilippe.bernardy@gmail.com**20070315072352]
950[Monoid instance for Maybe and two wrappers: First and Last. trac proposal #1189
951Jeffrey Yasskin <jyasskin@gmail.com>**20070309062550]
952[Fix the type of wgencat
953Ian Lynagh <igloo@earth.li>**20070329164223]
954[fix strictness of foldr/build rule for take, see #1219
955Simon Marlow <simonmar@microsoft.com>**20070327103941]
956[remove Makefile.inc (only affects nhc98)
957Malcolm.Wallace@cs.york.ac.uk**20070320120057]
958[copyBytes copies bytes, not elements; fixes trac #1203
959Ian Lynagh <igloo@earth.li>**20070312113555]
960[Add ioeGetLocation, ioeSetLocation to System/IO/Error.hs; trac #1191
961Ian Lynagh <igloo@earth.li>**20070304130315]
962[fix race condition in prodServiceThread
963Simon Marlow <simonmar@microsoft.com>**20070307134330
964 See #1187
965]
966[Prevent duplication of unsafePerformIO on a multiprocessor
967Simon Marlow <simonmar@microsoft.com>**20070306145424
968 Fixes #986.  The idea is to add a new operation
969 
970   noDuplicate :: IO ()
971 
972 it is guaranteed that if two threads have executed noDuplicate, then
973 they are not duplicating any computation.
974 
975 We now provide two new unsafe operations:
976 
977 unsafeDupablePerformIO    :: IO a -> a
978 unsafeDupableInterleaveIO :: IO a -> IO a
979 
980 which are equivalent to the old unsafePerformIO and unsafeInterleaveIO
981 respectively.  The new versions of these functions are defined as:
982 
983 unsafePerformIO    m = unsafeDupablePerformIO (noDuplicate >> m)
984 unsafeInterleaveIO m = unsafeDupableInterleaveIO (noDuplicate >> m)
985]
986[expand docs for forkOS
987Simon Marlow <simonmar@microsoft.com>**20070305160921]
988[document timeout limitations
989Peter Simons <simons@cryp.to>**20070228223540]
990[So many people were involved in the writing of this module that
991Peter Simons <simons@cryp.to>**20070228223415
992 it feels unfair to single anyone out as the lone copyright
993 holder.
994]
995[This patch adds a timeout function to the base libraries. Trac #980 is
996Peter Simons <simons@cryp.to>**20070126222615
997 concerned with this issue. The design guideline for this implementation
998 is that 'timeout N E' should behave exactly the same as E as long as E
999 doesn't time out. In our implementation, this means that E has the same
1000 myThreadId it would have without the timeout wrapper. Any exception E
1001 might throw cancels the timeout and propagates further up. It also
1002 possible for E to receive exceptions thrown to it by another thread.
1003]
1004[PArr: fixed permutations
1005Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070305055807]
1006[Add Data.String, containing IsString(fromString); trac proposal #1126
1007Ian Lynagh <igloo@earth.li>**20070130134841
1008 This is used by the overloaded strings extension (-foverloaded-strings in GHC).
1009]
1010[GHC.PArr: add bounds checking
1011Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070302053224]
1012[Bump nhc98 stack size for System/Time.hsc
1013sven.panne@aedion.de**20070301153009]
1014[FDs are CInts now, fixing non-GHC builds
1015sven.panne@aedion.de**20070225105620]
1016[Fixed PArr.dropP
1017Manuel M T Chakravarty <chak@cse.unsw.edu.au>**20070222032405
1018 - Thanks to Audrey Tang for the bug report
1019]
1020[Keep the same FD in both halves of a duplex handle when dup'ing
1021Ian Lynagh <igloo@earth.li>**20070220141039
1022 Otherwise we only close one of the FDs when closing the handle.
1023 Fixes trac #1149.
1024]
1025[Remove more redundant FD conversions
1026Ian Lynagh <igloo@earth.li>**20070220092520]
1027[Fix FD changes on Windows
1028Ian Lynagh <igloo@earth.li>**20070220091516]
1029[Consistently use CInt rather than Int for FDs
1030Ian Lynagh <igloo@earth.li>**20070219233854]
1031[Fix the types of minView/maxView (ticket #1134)
1032jeanphilippe.bernardy@gmail.com**20070210065115]
1033[fix for hashString, from Jan-Willem Maessen (see #1137)
1034Simon Marlow <simonmar@microsoft.com>**20070215094304
1035 
1036]
1037[fix to getUSecOfDay(): arithmetic was overflowing
1038Simon Marlow <simonmar@microsoft.com>**20070214161719]
1039[The Windows counterpart to 'wrapround of thread delays'
1040Ian Lynagh <igloo@earth.li>**20070209173510]
1041[wrapround of thread delays
1042Neil Davies <SemanticPhilosopher@gmail.com>**20070129160519
1043 
1044   * made the wrapround of the underlying O/S occur before the wrapround
1045     of the delayed threads by making threads delay in microseconds since
1046     O/S epoch (1970 - Unix, 1601 - Windows) stored in Word64.
1047   * removed redundant calls reading O/S realtime clock
1048   * removed rounding to 1/50th of sec for timers
1049   * Only for Unix version of scheduler.
1050]
1051[Whitespace changes only
1052Ian Lynagh <igloo@earth.li>**20070206232722]
1053[Add some type sigs
1054Ian Lynagh <igloo@earth.li>**20070206232439]
1055[Use static inline rather than extern inline/inline
1056Ian Lynagh <igloo@earth.li>**20070205203628
1057 I understand this is more portable, and it also fixes warnings when
1058 C things we are wrapping are themselves static inlines (which FD_ISSET
1059 is on ppc OS X).
1060]
1061[add derived instances for Dual monoid
1062Ross Paterson <ross@soi.city.ac.uk>**20070202190847]
1063[add doc pointers to Foldable
1064Ross Paterson <ross@soi.city.ac.uk>**20070202110931
1065 
1066 Could be applied to STABLE.
1067]
1068[Eliminate some warnings
1069Ian Lynagh <igloo@earth.li>**20060729220854
1070 Eliminate warnings in the libraries caused by mixing pattern matching
1071 with numeric literal matching.
1072]
1073[Remove IsString(fromString) from the Prelude
1074Ian Lynagh <igloo@earth.li>**20070130124136]
1075[Add Kleisli composition
1076Don Stewart <dons@cse.unsw.edu.au>**20061113015442]
1077[IsString is GHC-only (so why is it in the Prelude?)
1078Ross Paterson <ross@soi.city.ac.uk>**20070123183007]
1079[Applicative and Monad instances for Tree
1080Ross Paterson <ross@soi.city.ac.uk>**20070115174510]
1081[Add IsString class for overloaded string literals.
1082lennart@augustsson.net**20061221210532]
1083[Added examples, more detailed documentation to Data.List Extracting sublists functions
1084Andriy Palamarchuk <apa3a@yahoo.com>**20061204164710]
1085[fix threadDelay
1086Simon Marlow <simonmar@microsoft.com>**20070117091702
1087 In "Add support for the IO manager thread" I accidentally spammed part
1088 of "Make sure the threaded threadDelay sleeps at least as long as it
1089 is asked", which is why the ThreadDelay001 test has been failing.
1090]
1091[update section on "blocking"
1092Simon Marlow <simonmar@microsoft.com>**20070116124328]
1093[Fix crash with   (minBound :: Int*) `div (-1)   as result is maxBound + 1.
1094Ian Lynagh <igloo@earth.li>**20070115142005]
1095[version of example using Tomasz Zielonka's technique
1096Ross Paterson <ross@soi.city.ac.uk>**20070105175907]
1097[Added Unknowns for higher kinds
1098Pepe Iborra <mnislaih@gmail.com>**20061108155938]
1099[Improved the Show instance for Unknown
1100Pepe Iborra <mnislaih@gmail.com>**20060813111816]
1101[Show instance for GHC.Base.Unknown
1102mnislaih@gmail.com**20060801233530]
1103[Introduce Unknowns for the closure viewer. Add breakpointCond which was missing
1104mnislaih@gmail.com**20060725174537]
1105[Fix missing comma in Fractional documentation
1106Alec Berryman <alec@thened.net>**20061201173237]
1107[Mention that throwTo does not guarantee promptness of delivery
1108simonpj@microsoft**20061211123215]
1109[Add note about synhronous delivery of throwTo
1110simonpj@microsoft**20061211122257]
1111[documentation for installHandler
1112Simon Marlow <simonmar@microsoft.com>**20061205154927
1113 merge to 6.6
1114]
1115[dos2unix
1116Simon Marlow <simonmar@microsoft.com>**20061204095439]
1117[don't try to compile this on Unix
1118Simon Marlow <simonmar@microsoft.com>**20061204095427]
1119[TAG 6.6 release
1120Ian Lynagh <igloo@earth.li>**20061011124740]
1121[TAG Version 2.1
1122Ian Lynagh <igloo@earth.li>**20061009114014]
1123[Bump version number
1124Ian Lynagh <igloo@earth.li>**20061009114009]
1125[Add support for the IO manager thread on Windows
1126Simon Marlow <simonmar@microsoft.com>**20061201152042
1127 Fixes #637.  The test program in that report now works for me with
1128 -threaded, but it doesn't work without -threaded (I don't know if
1129 that's new behaviour or not, though).
1130]
1131[deriving (Eq, Ord, Enum, Show, Read, Typeab) for ConsoleEvent
1132Simon Marlow <simonmar@microsoft.com>**20061201144032]
1133[Make sure the threaded threadDelay sleeps at least as long as it is asked to
1134Ian Lynagh <igloo@earth.li>**20061128204807]
1135[Add comments about argument order to the definitions of gmapQ and constrFields
1136simonpj@microsoft**20061124164505]
1137[Hugs: add Control.Parallel.Strategies
1138Ross Paterson <ross@soi.city.ac.uk>**20061124161039]
1139[Move instance of Show Ptr to Ptr.hs (fewer orphans)
1140simonpj@microsoft.com**20061124100639]
1141[Add type signatures
1142simonpj@microsoft.com**20061124100621]
1143[Add an example of the use of unfoldr, following doc feedback from dozer
1144Don Stewart <dons@cse.unsw.edu.au>**20061124011249]
1145[trim imports
1146Ross Paterson <ross@soi.city.ac.uk>**20061123190352]
1147[Data.Graph is now portable (enable for nhc98)
1148Malcolm.Wallace@cs.york.ac.uk**20061123174913]
1149[remove Data.FunctorM and Data.Queue
1150Ross Paterson <ross@soi.city.ac.uk>**20061112001046
1151 
1152 These were deprecated in 6.6, and can thus be removed in 6.8.
1153]
1154[make Data.Graph portable (no change to the interface)
1155Ross Paterson <ross@soi.city.ac.uk>**20061122010040
1156 
1157 The algorithm now uses STArrays on GHC and IntSets elsewhere.
1158 (Hugs has STArrays, but avoiding them saves a -98, and boxed arrays
1159 aren't fast under Hugs anyway.)
1160]
1161[One less unsafeCoerce# in the tree
1162Don Stewart <dons@cse.unsw.edu.au>**20061120120242]
1163[typo in comment
1164Ross Paterson <ross@soi.city.ac.uk>**20061120115106]
1165[fix shift docs to match ffi spec
1166Ross Paterson <ross@soi.city.ac.uk>**20061117003144]
1167[(nhc98) use new primitive implementations of h{Put,Get}Buf.
1168Malcolm.Wallace@cs.york.ac.uk**20061116173104]
1169[The wrong 'cycle' was exported from Data.ByteString.Lazy.Char8, spotted by sjanssen
1170Don Stewart <dons@cse.unsw.edu.au>**20061110021311]
1171[LPS chunk sizes should be 16 bytes, not 17.
1172Don Stewart <dons@cse.unsw.edu.au>**20061110021254]
1173[Update comments on Prelude organisation in GHC/Base.lhs
1174Ian Lynagh <igloo@earth.li>**20061115001926]
1175[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.
1176bringert@cs.chalmers.se**20061113224202]
1177[Control.Parallel.Strategies: added NFData instances for Data.Int.*, Data.Word.*, Maybe, Either, Map, Set, Tree, IntMap, IntSet.
1178bringert@cs.chalmers.se**20061113221843]
1179[Control.Parallel.Strategies: deprecate sPar, sSeq, Assoc, fstPairFstList, force and sforce.
1180bringert@cs.chalmers.se**20061113215219
1181 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.
1182]
1183[add Control.Monad.Instances to nhc98 build
1184Malcolm.Wallace@cs.york.ac.uk**20061113113221]
1185[Control.Parallel.Strategies: clarified documentation of parListChunk.
1186bringert@cs.chalmers.se**20061112232904]
1187[Added and cleaned up Haddock comments in Control.Parallel.Strategies.
1188bringert@cs.chalmers.se**20061112220445
1189 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.
1190]
1191[Fix broken pragmas; spotted by Bulat Ziganshin
1192Ian Lynagh <igloo@earth.li>**20061111205916]
1193[add doc link to bound threads section
1194Ross Paterson <ross@soi.city.ac.uk>**20060929103252]
1195[hide Data.Array.IO.Internals
1196Ross Paterson <ross@soi.city.ac.uk>**20061111113248
1197 
1198 It's hidden from haddock, and everything it exports is re-exported by
1199 Data.Array.IO.
1200]
1201[add Data.Function
1202Malcolm.Wallace@cs.york.ac.uk**20061110142710]
1203[add Data.Function
1204Ross Paterson <ross@soi.city.ac.uk>**20061110141354]
1205[whitespace only
1206Ross Paterson <ross@soi.city.ac.uk>**20061110141326]
1207[move fix to Data.Function
1208Ross Paterson <ross@soi.city.ac.uk>**20061110141120]
1209[import Prelude
1210Ross Paterson <ross@soi.city.ac.uk>**20061110140445]
1211[Added Data.Function (Trac ticket #979).
1212Nils Anders Danielsson <nad@cs.chalmers.se>**20061110122503
1213 + A module with simple combinators working solely on and with
1214   functions.
1215 + The only new function is "on".
1216 + Some functions from the Prelude are re-exported.
1217]
1218[__hscore_long_path_size is not portable beyond GHC
1219Malcolm.Wallace@cs.york.ac.uk**20061110113222]
1220[redefine writeFile and appendFile using withFile
1221Ross Paterson <ross@soi.city.ac.uk>**20061107140359]
1222[add withFile and withBinaryFile (#966)
1223Ross Paterson <ross@soi.city.ac.uk>**20061107134510]
1224[remove conflicting import for nhc98
1225Malcolm.Wallace@cs.york.ac.uk**20061108111215]
1226[Add intercalate to Data.List (ticket #971)
1227Josef Svenningsson <josef.svenningsson@gmail.com>**20061102122052]
1228[non-GHC: fix canonicalizeFilePath
1229Ross Paterson <ross@soi.city.ac.uk>**20061107133902
1230 
1231 I've also removed the #ifdef __GLASGOW_HASKELL__ from the proper
1232 Windows versions of a few functions.  These will need testing with
1233 Hugs on Windows.
1234]
1235[enable canonicalizePath for non-GHC platforms
1236Simon Marlow <simonmar@microsoft.com>**20061107121141]
1237[Update documentation for hWaitForInput
1238Simon Marlow <simonmar@microsoft.com>**20061107111430
1239 See #972
1240 Merge to 6.6 branch.
1241]
1242[Use unchecked shifts to implement Data.Bits.rotate
1243Samuel Bronson <naesten@gmail.com>**20061012125553
1244 This should get rid of those cases, maybe lower the size enough that the inliner will like it?
1245]
1246[fix Haddock module headers
1247Ross Paterson <ross@soi.city.ac.uk>**20061106124140]
1248[fix example in docs
1249Ross Paterson <ross@soi.city.ac.uk>**20061106115628]
1250[Add intercalate and split to Data.List
1251Josef Svenningsson <josef.svenningsson@gmail.com>*-20061024172357]
1252[Data.Generics.Basics is GHC-only
1253Ross Paterson <ross@soi.city.ac.uk>**20061102111736]
1254[#ifdef around non-portable Data.Generics.Basics
1255Malcolm.Wallace@cs.york.ac.uk**20061102103445]
1256[Add deriving Data to Complex
1257simonpj@microsoft**20061101102059]
1258[minor clarification of RandomGen doc
1259Ross Paterson <ross@soi.city.ac.uk>**20061030230842]
1260[rearrange docs a bit
1261Ross Paterson <ross@soi.city.ac.uk>**20061030161223]
1262[Add intercalate and split to Data.List
1263Josef Svenningsson <josef.svenningsson@gmail.com>**20061024172357]
1264[Export pseq from Control.Parallel, and use it in Control.Parallel.Strategies
1265Simon Marlow <simonmar@microsoft.com>**20061027150141]
1266[`par` should be infixr 0
1267Simon Marlow <simonmar@microsoft.com>**20061027130800
1268 Alas, I didn't spot this due to lack of testing, and the symptom is
1269 that an expression like x `par` y `seq z will have exactly the wrong
1270 parallelism properties.  The workaround is to add parantheses.
1271 
1272 I think we could push this to the 6.6 branch.
1273]
1274[fix example in comment
1275Ross Paterson <ross@soi.city.ac.uk>**20061023163925]
1276[Use the new Any type for dynamics (GHC only)
1277simonpj@microsoft**20061019160408]
1278[add Data.Sequence to nhc98 build
1279Malcolm.Wallace@cs.york.ac.uk**20061012135200]
1280[Remove Data.FiniteMap, add Control.Applicative, Data.Traversable, and
1281Malcolm.Wallace@cs.york.ac.uk**20061012095605
1282 Data.Foldable to the nhc98 build.
1283]
1284[STM invariants
1285tharris@microsoft.com**20061007123253]
1286[Inline shift in GHC's Bits instances for {Int,Word}{,8,16,32,64}
1287Samuel Bronson <naesten@gmail.com>**20061009020906]
1288[Don't create GHC.Prim when bootstrapping; we can't, and we don't need it
1289Ian Lynagh <igloo@earth.li>**20061004165355]
1290[Data.ByteString: fix lazyness of take, drop & splitAt
1291Don Stewart <dons@cse.unsw.edu.au>**20061005011703
1292 
1293 ByteString.Lazy's take, drop and splitAt were too strict when demanding
1294 a byte string. Spotted by Einar Karttunen. Thanks to him and to Bertram
1295 Felgenhauer for explaining the problem and the fix.
1296 
1297]
1298[Fix syntax error that prevents building Haddock documentation on Windows
1299brianlsmith@gmail.com**20060917013530]
1300[Hugs only: unbreak typeRepKey
1301Ross Paterson <ross@soi.city.ac.uk>**20060929102743]
1302[make hGetBufNonBlocking do something on Windows w/ -threaded
1303Simon Marlow <simonmar@microsoft.com>**20060927145811
1304 hGetBufNonBlocking will behave the same as hGetBuf on Windows now, which
1305 is better than just crashing (which it did previously).
1306]
1307[add typeRepKey :: TypeRep -> IO Int
1308Simon Marlow <simonmar@microsoft.com>**20060927100342
1309 See feature request #880
1310]
1311[fix header comment
1312Ross Paterson <ross@soi.city.ac.uk>**20060926135843]
1313[Add strict versions of insertWith and insertWithKey (Data.Map)
1314jeanphilippe.bernardy@gmail.com**20060910162443]
1315[doc tweaks, including more precise equations for evaluate
1316Ross Paterson <ross@soi.city.ac.uk>**20060910115259]
1317[Sync Data.ByteString with stable branch
1318Don Stewart <dons@cse.unsw.edu.au>**20060909050111
1319 
1320 This patch:
1321     * hides the LPS constructor (its in .Base if you need it)
1322     * adds functions to convert between strict and lazy bytestrings
1323     * and adds readInteger
1324 
1325]
1326[Typeable1 instances for STM and TVar
1327Ross Paterson <ross@soi.city.ac.uk>**20060904231425]
1328[remove obsolete Hugs stuff
1329Ross Paterson <ross@soi.city.ac.uk>**20060904223944]
1330[Cleaner isInfixOf suggestion from Ross Paterson
1331John Goerzen <jgoerzen@complete.org>**20060901143654]
1332[New function isInfixOf that searches a list for a given sublist
1333John Goerzen <jgoerzen@complete.org>**20060831151556
1334 
1335 Example:
1336 
1337 isInfixOf "Haskell" "I really like Haskell." -> True
1338 isInfixOf "Ial" "I really like Haskell." -> False
1339 
1340 This function was first implemented in MissingH as MissingH.List.contains
1341]
1342[Better doc on Data.Map.lookup: explain what the monad is for
1343jeanphilippe.bernardy@gmail.com**20060903133440]
1344[fix hDuplicateTo on Windows
1345Simon Marlow <simonmar@microsoft.com>**20060901150016
1346 deja vu - I'm sure I remember fixing this before...
1347]
1348[Improve documentation of atomically
1349simonpj@microsoft**20060714120207]
1350[Add missing method genRange for StdGen (fixes #794)
1351simonpj@microsoft**20060707151901
1352 
1353        MERGE TO STABLE
1354 
1355 Trac #794 reports (correctly) that the implementation of StdGen
1356 only returns numbers in the range (0..something) rather than
1357 (minBound, maxBound), which is what StdGen's genRange claims.
1358 
1359 This commit fixes the problem, by implementing genRange for StdGen
1360 (previously it just used the default method).
1361 
1362 
1363]
1364[mark nhc98 import hack
1365Ross Paterson <ross@soi.city.ac.uk>**20060831125219]
1366[remove some outdated comments
1367Simon Marlow <simonmar@microsoft.com>**20060831104200]
1368[import Control.Arrow.ArrowZero to help nhc98's type checker
1369Malcolm.Wallace@cs.york.ac.uk**20060831101105]
1370[remove Text.Regex(.Posix) from nhc98 build
1371Malcolm.Wallace@cs.york.ac.uk**20060831101016]
1372[add Data.Foldable.{msum,asum}, plus tweaks to comments
1373Ross Paterson <ross@soi.city.ac.uk>**20060830163521]
1374[fix doc typo
1375Ross Paterson <ross@soi.city.ac.uk>**20060830134123]
1376[add Data.Foldable.{for_,forM_} and Data.Traversable.{for,forM}
1377Ross Paterson <ross@soi.city.ac.uk>**20060830133805
1378 
1379 generalizing Control.Monad.{forM_,forM}
1380]
1381[Make length a good consumer
1382simonpj@microsoft*-20060508142726
1383 
1384 Make length into a good consumer.  Fixes Trac bug #707.
1385 
1386 (Before length simply didn't use foldr.)
1387 
1388]
1389[Add Control.Monad.forM and forM_
1390Don Stewart <dons@cse.unsw.edu.au>**20060824081118
1391 
1392 flip mapM_ is more and more common, I find. Several suggestions have
1393 been made to add this, as foreach or something similar. This patch
1394 does just that:
1395 
1396     forM  :: (Monad m) => [a] -> (a -> m b) -> m [b]
1397     forM_ :: (Monad m) => [a] -> (a -> m b) -> m ()
1398 
1399 So we can write:
1400     
1401     Prelude Control.Monad> forM_ [1..4] $ \x -> print x
1402     1
1403     2
1404     3
1405     4
1406 
1407]
1408[Hide internal module from haddock in Data.ByteString
1409Don Stewart <dons@cse.unsw.edu.au>**20060828011515]
1410[add advice on avoiding import ambiguities
1411Ross Paterson <ross@soi.city.ac.uk>**20060827170407]
1412[expand advice on importing these modules
1413Ross Paterson <ross@soi.city.ac.uk>**20060827164044]
1414[add Haddock marker
1415Ross Paterson <ross@soi.city.ac.uk>**20060827115140]
1416[Clarify how one hides Prelude.catch
1417Don Stewart <dons@cse.unsw.edu.au>**20060826124346
1418 
1419 User feedback indicated that an example was required, of how to hide
1420 Prelude.catch, so add such an example to the docs
1421 
1422]
1423[Workaround for OSes that don't have intmax_t and uintmax_t
1424Ian Lynagh <igloo@earth.li>**20060825134936
1425 OpenBSD (and possibly others) do not have intmax_t and uintmax_t types:
1426     http://www.mail-archive.com/haskell-prime@haskell.org/msg01548.html
1427 so substitute (unsigned) long long if we have them, otherwise
1428 (unsigned) long.
1429 
1430]
1431[add docs for par
1432Simon Marlow <simonmar@microsoft.com>**20060825110610]
1433[document minimal complete definition for Bits
1434Ross Paterson <ross@soi.city.ac.uk>**20060824140504]
1435[C regex library bits have moved to the regex-posix package
1436Simon Marlow <simonmar@microsoft.com>**20060824132311]
1437[Add shared Typeable support (ghc only)
1438Esa Ilari Vuokko <ei@vuokko.info>**20060823003126]
1439[this should have been removed with the previous patch
1440Simon Marlow <simonmar@microsoft.com>**20060824121223]
1441[remove Text.Regx & Text.Regex.Posix
1442Simon Marlow <simonmar@microsoft.com>**20060824094615
1443 These are subsumed by the new regex-base, regex-posix and regex-compat
1444 packages.
1445]
1446[explicitly tag Data.ByteString rules with the FPS prefix.
1447Don Stewart <dons@cse.unsw.edu.au>**20060824041326]
1448[Add spec rules for sections in Data.ByteString
1449Don Stewart <dons@cse.unsw.edu.au>**20060824012611]
1450[Sync Data.ByteString with current stable branch, 0.7
1451Don Stewart <dons@cse.unsw.edu.au>**20060823143338]
1452[add notes about why copyFile doesn't remove the target
1453Simon Marlow <simonmar@microsoft.com>**20060823095059]
1454[copyFile: try removing the target file before opening it for writing
1455Simon Marlow <simonmar@microsoft.com>*-20060822121909]
1456[copyFile: try removing the target file before opening it for writing
1457Simon Marlow <simonmar@microsoft.com>**20060822121909]
1458[add alternative functors and extra instances
1459Ross Paterson <ross@soi.city.ac.uk>**20060821152151
1460 
1461 * Alternative class, for functors with a monoid
1462 * instances for Const
1463 * instances for arrows
1464]
1465[generate Haddock docs on all platforms
1466Simon Marlow <simonmar@microsoft.com>**20060821131612]
1467[remove extra comma from import
1468Ross Paterson <ross@soi.city.ac.uk>**20060819173954]
1469[fix docs for withC(A)StringLen
1470Ross Paterson <ross@soi.city.ac.uk>**20060818170328]
1471[use Haskell'98 compliant indentation in do blocks
1472Malcolm.Wallace@cs.york.ac.uk**20060818130810]
1473[use correct names of IOArray operations for nhc98
1474Malcolm.Wallace@cs.york.ac.uk**20060818130714]
1475[add mapMaybe and mapEither, plus WithKey variants
1476Ross Paterson <ross@soi.city.ac.uk>**20060817235041]
1477[remove Text.Html from nhc98 build
1478Malcolm.Wallace@cs.york.ac.uk**20060817135502]
1479[eliminate more HOST_OS tests
1480Ross Paterson <ross@soi.city.ac.uk>**20060815190609]
1481[Hugs only: disable unused process primitives
1482Ross Paterson <ross@soi.city.ac.uk>**20060813184435
1483 
1484 These were the cause of Hugs bug #30, I think, and weren't used by Hugs anyway.
1485]
1486[markup fix to Data.HashTable
1487Ross Paterson <ross@soi.city.ac.uk>**20060812103835]
1488[revert removal of ghcconfig.h from package.conf.in
1489Ross Paterson <ross@soi.city.ac.uk>**20060812082702
1490 
1491 as it's preprocessed with -undef (pointed out by Esa Ilari Vuokko)
1492]
1493[fix Data.HashTable for non-GHC
1494Ross Paterson <ross@soi.city.ac.uk>**20060811231521]
1495[remove deprecated 'withObject'
1496Simon Marlow <simonmar@microsoft.com>**20060811152350]
1497[Jan-Willem Maessen's improved implementation of Data.HashTable
1498Simon Marlow <simonmar@microsoft.com>**20060811151024
1499 Rather than incrementally enlarging the hash table, this version
1500 just does it in one go when the table gets too full.
1501]
1502[Warning police: Make some prototypes from the RTS known
1503sven.panne@aedion.de**20060811144629]
1504[Warning police: Removed useless catch-all clause
1505sven.panne@aedion.de**20060811142208]
1506[reduce dependency on ghcconfig.h
1507Ross Paterson <ross@soi.city.ac.uk>**20060811124030
1508 
1509 The only remaining use is in cbits/dirUtils.h, which tests solaris2_HOST_OS
1510 
1511 (Also System.Info uses ghcplatform.h and several modules import MachDeps.h
1512 to get SIZEOF_* and ALIGNMENT_* from ghcautoconf.h)
1513]
1514[(non-GHC only) track MArray interface change
1515Ross Paterson <ross@soi.city.ac.uk>**20060810182902]
1516[move Text.Html to a separate package
1517Simon Marlow <simonmar@microsoft.com>**20060810113017]
1518[bump version to 2.0
1519Simon Marlow <simonmar@microsoft.com>**20060810112833]
1520[Remove deprecated Data.FiniteMap and Data.Set interfaces
1521Simon Marlow <simonmar@microsoft.com>**20060809153810]
1522[move altzone test from ghc to base package
1523Ross Paterson <ross@soi.city.ac.uk>**20060809124259]
1524[remove unnecessary #include "ghcconfig.h"
1525Ross Paterson <ross@soi.city.ac.uk>**20060809123812]
1526[Change the API of MArray to allow resizable arrays
1527Simon Marlow <simonmar@microsoft.com>**20060809100548
1528 See #704
1529 
1530 The MArray class doesn't currently allow a mutable array to change its
1531 size, because of the pure function
1532 
1533   bounds :: (HasBounds a, Ix i) => a i e -> (i,i)
1534 
1535 This patch removes the HasBounds class, and adds
1536 
1537   getBounds :: (MArray a e m, Ix i) => a i e -> m (i,i)
1538 
1539 to the MArray class, and
1540 
1541   bounds :: (IArray a e, Ix i) => a i e -> (i,i)
1542 
1543 to the IArray class.
1544 
1545 The reason that bounds had to be incorporated into the IArray class is
1546 because I couldn't make DiffArray work without doing this.  DiffArray
1547 acts as a layer converting an MArray into an IArray, and there was no
1548 way (that I could find) to define an instance of HasBounds for
1549 DiffArray.
1550]
1551[deprecate this module.
1552Simon Marlow <simonmar@microsoft.com>**20060808100708]
1553[add traceShow (see #474)
1554Simon Marlow <simonmar@microsoft.com>**20060807155545]
1555[remove spurious 'extern "C" {'
1556Simon Marlow <simonmar@microsoft.com>**20060724160258]
1557[Fix unsafeIndex for large ranges
1558Simon Marlow <simonmar@microsoft.com>**20060721100225]
1559[disambiguate uses of foldr for nhc98 to compile without errors
1560Malcolm.Wallace@cs.york.ac.uk**20060711161614]
1561[make Control.Monad.Instances compilable by nhc98
1562Malcolm.Wallace@cs.york.ac.uk**20060711160941]
1563[breakpointCond
1564Lemmih <lemmih@gmail.com>**20060708055528]
1565[UNDO: Merge "unrecognized long opt" fix from 6.4.2
1566Simon Marlow <simonmar@microsoft.com>**20060705142537
1567 This patch undid the previous patch, "RequireOrder: do not collect
1568 unrecognised options after a non-opt".  I asked Sven to revert it, but
1569 didn't get an answer.
1570 
1571 See bug #473.
1572]
1573[Avoid strictness in accumulator for unpackFoldr
1574Don Stewart <dons@cse.unsw.edu.au>**20060703091806
1575 
1576 The seq on the accumulator for unpackFoldr will break in the presence of
1577 head/build rewrite rules. The empty list case will be forced, producing
1578 an exception. This is a known issue with seq and rewrite rules that we
1579 just stumbled on to.
1580 
1581]
1582[Disable unpack/build fusion
1583Don Stewart <dons@cse.unsw.edu.au>**20060702083913
1584 
1585 unpack/build on bytestrings seems to trigger a bug when interacting with
1586 head/build fusion in GHC.List. The bytestring001 testcase catches it.
1587 
1588 I'll investigate further, but best to disable this for now (its not
1589 often used anyway).
1590 
1591 Note that with -frules-off or ghc 6.4.2 things are fine. It seems to
1592 have emerged with the recent rules changes.
1593 
1594]
1595[Import Data.ByteString.Lazy, improve ByteString Fusion, and resync with FPS head
1596Don Stewart <dons@cse.unsw.edu.au>**20060701084345
1597 
1598 This patch imports the Data.ByteString.Lazy module, and its helpers,
1599 providing a ByteString implemented as a lazy list of strict cache-sized
1600 chunks. This type allows the usual lazy operations to be written on
1601 bytestrings, including lazy IO, with much improved space and time over
1602 the [Char] equivalents.
1603 
1604]
1605[Wibble in docs for new ForeignPtr functionsn
1606Don Stewart <dons@cse.unsw.edu.au>**20060609075924]
1607[comments for Applicative and Traversable
1608Ross Paterson <ross@soi.city.ac.uk>**20060622170436]
1609[default to NoBuffering on Windows for a read/write text file
1610Simon Marlow <simonmar@microsoft.com>**20060622144446
1611 Fixes (works around) #679
1612]
1613[remove dead code
1614Simon Marlow <simonmar@microsoft.com>**20060622144433]
1615[clarify and expand docs
1616Simon Marlow <simonmar@microsoft.com>**20060622112911]
1617[Add minView and maxView to Map and Set
1618jeanphilippe.bernardy@gmail.com**20060616180121]
1619[add signature for registerDelay
1620Ross Paterson <ross@soi.city.ac.uk>**20060614114456]
1621[a few doc comments
1622Ross Paterson <ross@soi.city.ac.uk>**20060613142704]
1623[Optimised foreign pointer representation, for heap-allocated objects
1624Don Stewart <dons@cse.unsw.edu.au>**20060608015011]
1625[Add the inline function, and many comments
1626simonpj@microsoft.com**20060605115814
1627 
1628 This commit adds the 'inline' function described in the
1629 related patch in the compiler.
1630 
1631 I've also added comments about the 'lazy' function.
1632 
1633]
1634[small intro to exceptions
1635Ross Paterson <ross@soi.city.ac.uk>**20060525111604]
1636[export breakpoint
1637Simon Marlow <simonmar@microsoft.com>**20060525090456]
1638[Merge in changes from fps head. Highlights:
1639Don Stewart <dons@cse.unsw.edu.au>**20060525065012
1640 
1641     Wed May 24 15:49:38 EST 2006  sjanssen@cse.unl.edu
1642       * instance Monoid ByteString
1643 
1644     Wed May 24 15:04:04 EST 2006  Duncan Coutts <duncan.coutts@worc.ox.ac.uk>
1645       * Rearange export lists for the .Char8 modules
1646 
1647     Wed May 24 14:59:56 EST 2006  Duncan Coutts <duncan.coutts@worc.ox.ac.uk>
1648       * Implement mapAccumL and reimplement mapIndexed using loopU
1649 
1650     Wed May 24 14:47:32 EST 2006  Duncan Coutts <duncan.coutts@worc.ox.ac.uk>
1651       * Change the implementation of the unfoldr(N) functions.
1652       Use a more compact implementation for unfoldrN and change it's behaviour
1653       to only return Just in the case that it actually 'overflowed' the N, so
1654       the boundary case of unfolding exactly N gives Nothing.
1655       Implement unfoldr and Lazy.unfoldr in terms of unfoldrN. Use fibonacci
1656       growth for the chunk size in unfoldr
1657 
1658     Wed May 24 08:32:29 EST 2006  sjanssen@cse.unl.edu
1659       * Add unfoldr to ByteString and .Char8
1660       A preliminary implementation of unfoldr.
1661 
1662     Wed May 24 01:39:41 EST 2006  Duncan Coutts <duncan.coutts@worc.ox.ac.uk>
1663       * Reorder the export lists to better match the Data.List api
1664 
1665     Tue May 23 14:04:32 EST 2006  Don Stewart <dons@cse.unsw.edu.au>
1666       * pack{Byte,Char} -> singleton. As per fptools convention
1667 
1668     Tue May 23 14:00:51 EST 2006  Don Stewart <dons@cse.unsw.edu.au>
1669       * elemIndexLast -> elemIndexEnd
1670 
1671     Tue May 23 13:57:34 EST 2006  Don Stewart <dons@cse.unsw.edu.au>
1672       * In the search for a more orthogonal api, we kill breakFirst/breakLast,
1673         which were of dubious value
1674 
1675     Tue May 23 12:24:09 EST 2006  Don Stewart <dons@cse.unsw.edu.au>
1676       * Abolish elems. It's name implied it was unpack, but its type didn't. it made no sense
1677 
1678     Tue May 23 10:42:09 EST 2006  Duncan Coutts <duncan.coutts@worc.ox.ac.uk>
1679       * Minor doc tidyup. Use haddock markup better.
1680 
1681     Tue May 23 11:00:31 EST 2006  Don Stewart <dons@cse.unsw.edu.au>
1682       * Simplify the join() implementation. Spotted by Duncan.
1683 
1684]
1685[add a way to ask the IO manager thread to exit
1686Simon Marlow <simonmar@microsoft.com>**20060524121823]
1687[Sync with FPS head, including the following patches:
1688Don Stewart <dons@cse.unsw.edu.au>**20060520030436
1689         
1690     Thu May 18 15:45:46 EST 2006  sjanssen@cse.unl.edu
1691       * Export unsafeTake and unsafeDrop
1692 
1693     Fri May 19 11:53:08 EST 2006  Don Stewart <dons@cse.unsw.edu.au>
1694       * Add foldl1'
1695 
1696     Fri May 19 13:41:24 EST 2006  Don Stewart <dons@cse.unsw.edu.au>
1697       * Add fuseable scanl, scanl1 + properties
1698 
1699     Fri May 19 18:20:40 EST 2006  Don Stewart <dons@cse.unsw.edu.au>
1700       * Spotted another chance to use unsafeTake,Drop (in groupBy)
1701 
1702     Thu May 18 09:24:25 EST 2006  Duncan Coutts <duncan.coutts@worc.ox.ac.uk>
1703       * More effecient findIndexOrEnd based on the impl of findIndex
1704 
1705     Thu May 18 09:22:49 EST 2006  Duncan Coutts <duncan.coutts@worc.ox.ac.uk>
1706       * Eliminate special case in findIndex since it's handled anyway.
1707 
1708     Thu May 18 09:19:08 EST 2006  Duncan Coutts <duncan.coutts@worc.ox.ac.uk>
1709       * Add unsafeTake and unsafeDrop
1710       These versions assume the n is in the bounds of the bytestring, saving
1711       two comparison tests. Then use them in varous places where we think this
1712       holds. These cases need double checking (and there are a few remaining
1713       internal uses of take / drop that might be possible to convert).
1714       Not exported for the moment.
1715 
1716     Tue May 16 23:15:11 EST 2006  Don Stewart <dons@cse.unsw.edu.au>
1717       * Handle n < 0 in drop and splitAt. Spotted by QC.
1718 
1719     Tue May 16 22:46:22 EST 2006  Don Stewart <dons@cse.unsw.edu.au>
1720       * Handle n <= 0 cases for unfoldr and replicate. Spotted by QC
1721 
1722     Tue May 16 21:34:11 EST 2006  Don Stewart <dons@cse.unsw.edu.au>
1723       * mapF -> map', filterF -> filter'
1724 
1725]
1726[haddock fix
1727Ross Paterson <ross@soi.city.ac.uk>**20060518154723]
1728[simplify indexing in Data.Sequence
1729Ross Paterson <ross@soi.city.ac.uk>**20060518154316]
1730[Move Eq, Ord, Show instances for ThreadId to GHC.Conc
1731Simon Marlow <simonmar@microsoft.com>**20060518113339
1732 Eliminates orphans.
1733]
1734[Better error handling in the IO manager thread
1735Simon Marlow <simonmar@microsoft.com>**20060518113303
1736 In particular, handle EBADF just like rts/posix/Select.c, by waking up
1737 all the waiting threads.  Other errors are thrown, instead of just
1738 being ignored.
1739]
1740[#define _REENTRANT 1  (needed to get the right errno on some OSs)
1741Simon Marlow <simonmar@microsoft.com>**20060518104151
1742 Part 2 of the fix for threaded RTS problems on Solaris and possibly
1743 *BSD (Part 1 was the same change in ghc/includes/Rts.h).
1744]
1745[copyCString* should be in IO. Spotted by Tomasz Zielonka
1746Don Stewart <dons@cse.unsw.edu.au>**20060518012154]
1747[add import Prelude to get dependencies right for Data/Fixed.hs
1748Duncan Coutts <duncan.coutts@worc.ox.ac.uk>**20060517222044
1749 Hopefully this fixes parallel builds.
1750]
1751[Fix negative index handling in splitAt, replicate and unfoldrN. Move mapF, filterF -> map', filter' while we're here
1752Don Stewart <dons@cse.unsw.edu.au>**20060517020150]
1753[Use our own realloc. Thus reduction functions (like filter) allocate on the Haskell heap. Makes around 10% difference.
1754Don Stewart <dons@cse.unsw.edu.au>**20060513051736]
1755[Last two CInt fixes for 64 bit, and bracket writeFile while we're here
1756Don Stewart <dons@cse.unsw.edu.au>**20060512050750]
1757[Some small optimisations, generalise the type of unfold
1758Don Stewart <dons@cse.unsw.edu.au>**20060510043309
1759 
1760     Tue May  9 22:36:29 EST 2006  Duncan Coutts <duncan.coutts@worc.ox.ac.uk>
1761       * Surely the error function should not be inlined.
1762 
1763     Tue May  9 22:35:53 EST 2006  Duncan Coutts <duncan.coutts@worc.ox.ac.uk>
1764       * Reorder memory writes for better cache locality.
1765 
1766     Tue May  9 23:28:09 EST 2006  Duncan Coutts <duncan.coutts@worc.ox.ac.uk>
1767       * Generalise the type of unfoldrN
1768       
1769       The type of unfoldrN was overly constrained:
1770       unfoldrN :: Int -> (Word8 -> Maybe (Word8, Word8)) -> Word8 -> ByteString
1771       
1772       if we compare that to unfoldr:
1773       unfoldr :: (b -> Maybe (a, b)) -> b -> [a]
1774       
1775       So we can generalise unfoldrN to this type:
1776       unfoldrN :: Int -> (a -> Maybe (Word8, a)) -> a -> ByteString
1777       
1778       and something similar for the .Char8 version. If people really do want to
1779       use it a lot with Word8/Char then perhaps we should add a specialise pragma.
1780 
1781     Wed May 10 13:26:40 EST 2006  Don Stewart <dons@cse.unsw.edu.au>
1782       * Add foldl', and thus a fusion rule for length . {map,filter,fold},
1783       that avoids creating an array at all if the end of the pipeline is a 'length' reduction
1784 
1785 **END OF DESCRIPTION***
1786 
1787 Place the long patch description above the ***END OF DESCRIPTION*** marker.
1788 The first line of this file will be the patch name.
1789 
1790 
1791 This patch contains the following changes:
1792 
1793 M ./Data/ByteString.hs -8 +38
1794 M ./Data/ByteString/Char8.hs -6 +12
1795]
1796[portable implementation of WordPtr/IntPtr for non-GHC
1797Ross Paterson <ross@soi.city.ac.uk>**20060510001826
1798 
1799 plus much tweaking of imports to avoid cycles
1800]
1801[add WordPtr and IntPtr types to Foreign.Ptr, with associated conversions
1802Simon Marlow <simonmar@microsoft.com>**20060509092606
1803 
1804 As suggested by John Meacham. 
1805 
1806 I had to move the Show instance for Ptr into GHC.ForeignPtr to avoid
1807 recursive dependencies.
1808]
1809[add CIntPtr, CUIntPtr, CIntMax, CUIntMax types
1810Simon Marlow <simonmar@microsoft.com>**20060509092427]
1811[add GHC.Dynamic
1812Simon Marlow <simonmar@microsoft.com>**20060509082739]
1813[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
1814Don Stewart <dons@cse.unsw.edu.au>**20060509023425]
1815[Make length a good consumer
1816simonpj@microsoft**20060508142726
1817 
1818 Make length into a good consumer.  Fixes Trac bug #707.
1819 
1820 (Before length simply didn't use foldr.)
1821 
1822]
1823[Trim imports
1824simonpj@microsoft**20060508142557]
1825[Make unsafePerformIO lazy
1826simonpj@microsoft**20060508142507
1827 
1828 The stricteness analyser used to have a HACK which ensured that NOINLNE things
1829 were not strictness-analysed.  The reason was unsafePerformIO. Left to itself,
1830 the strictness analyser would discover this strictness for unsafePerformIO:
1831        unsafePerformIO:  C(U(AV))
1832 But then consider this sub-expression
1833        unsafePerformIO (\s -> let r = f x in
1834                               case writeIORef v r s of (# s1, _ #) ->
1835                               (# s1, r #)
1836 The strictness analyser will now find that r is sure to be eval'd,
1837 and may then hoist it out.  This makes tests/lib/should_run/memo002
1838 deadlock.
1839 
1840 Solving this by making all NOINLINE things have no strictness info is overkill.
1841 In particular, it's overkill for runST, which is perfectly respectable.
1842 Consider
1843        f x = runST (return x)
1844 This should be strict in x.
1845 
1846 So the new plan is to define unsafePerformIO using the 'lazy' combinator:
1847 
1848        unsafePerformIO (IO m) = lazy (case m realWorld# of (# _, r #) -> r)
1849 
1850 Remember, 'lazy' is a wired-in identity-function Id, of type a->a, which is
1851 magically NON-STRICT, and is inlined after strictness analysis.  So
1852 unsafePerformIO will look non-strict, and that's what we want.
1853 
1854]
1855[Sync with FPS head.
1856Don Stewart <dons@cse.unsw.edu.au>**20060508122322
1857 
1858 Mon May  8 10:40:14 EST 2006  Don Stewart <dons@cse.unsw.edu.au>
1859   * Fix all uses for Int that should be CInt or CSize in ffi imports.
1860   Spotted by Igloo, dcoutts
1861 
1862 Mon May  8 16:09:41 EST 2006  Don Stewart <dons@cse.unsw.edu.au>
1863   * Import nicer loop/loop fusion rule from ghc-ndp
1864 
1865 Mon May  8 17:36:07 EST 2006  Don Stewart <dons@cse.unsw.edu.au>
1866   * Fix stack leak in split on > 60M strings
1867 
1868 Mon May  8 17:50:13 EST 2006  Don Stewart <dons@cse.unsw.edu.au>
1869   * Try same fix for stack overflow in elemIndices
1870 
1871]
1872[Fix all uses for Int that should be CInt or CSize in ffi imports. Spotted by Duncan and Ian
1873Don Stewart <dons@cse.unsw.edu.au>**20060508010311]
1874[Fixed import list syntax
1875Sven Panne <sven.panne@aedion.de>**20060507155008]
1876[Faster filterF, filterNotByte
1877dons@cse.unsw.edu.au**20060507042301]
1878[Much faster find, findIndex. Hint from sjanssen
1879dons@cse.unsw.edu.au**20060507033048]
1880[Merge "unrecognized long opt" fix from 6.4.2
1881Sven Panne <sven.panne@aedion.de>**20060506110519]
1882[
1883dons@cse.unsw.edu.au**20060506061029
1884 Sat May  6 13:01:34 EST 2006  Don Stewart <dons@cse.unsw.edu.au>
1885   * Do loopU realloc on the Haskell heap. And add a really tough stress test
1886 
1887 Sat May  6 12:28:58 EST 2006  Don Stewart <dons@cse.unsw.edu.au>
1888   * Use simple, 3x faster concat. Plus QC properties. Suggested by sjanssen and dcoutts
1889 
1890 Sat May  6 15:59:31 EST 2006  Don Stewart <dons@cse.unsw.edu.au>
1891   * dcoutt's packByte bug squashed
1892   
1893   With inlinePerformIO, ghc head was compiling:
1894   
1895    packByte 255 `compare` packByte 127
1896   
1897   into roughly
1898   
1899    case mallocByteString 2 of
1900        ForeignPtr f internals ->
1901             case writeWord8OffAddr# f 0 255 of _ ->
1902             case writeWord8OffAddr# f 0 127 of _ ->
1903             case eqAddr# f f of
1904                    False -> case compare (GHC.Prim.plusAddr# f 0)
1905                                          (GHC.Prim.plusAddr# f 0)
1906   
1907   which is rather stunning. unsafePerformIO seems to prevent whatever
1908   magic inlining was leading to this. Only affected the head.
1909   
1910]
1911[Add array fusion versions of map, filter and foldl
1912dons@cse.unsw.edu.au**20060505060858
1913 
1914 This patch adds fusable map, filter and foldl, using the array fusion
1915 code for unlifted, flat arrays, from the Data Parallel Haskell branch,
1916 after kind help from Roman Leshchinskiy,
1917 
1918 Pipelines of maps, filters and folds should now need to walk the
1919 bytestring once only, and intermediate bytestrings won't be constructed.
1920 
1921]
1922[fix for non-GHC
1923Ross Paterson <ross@soi.city.ac.uk>**20060504093044]
1924[use bracket in appendFile (like writeFile)
1925Ross Paterson <ross@soi.city.ac.uk>**20060504091528]
1926[writeFile: close the file on error
1927Simon Marlow <simonmar@microsoft.com>**20060504084505
1928 Suggested by Ross Paterson, via Neil Mitchell
1929 
1930]
1931[Sync with FPS head
1932dons@cse.unsw.edu.au**20060503105259
1933 
1934 This patch brings Data.ByteString into sync with the FPS head.
1935 The most significant of which is the new Haskell counting sort.
1936 
1937 Changes:
1938 
1939 Sun Apr 30 18:16:29 EST 2006  sjanssen@cse.unl.edu
1940   * Fix foldr1 in Data.ByteString and Data.ByteString.Char8
1941 
1942 Mon May  1 11:51:16 EST 2006  Don Stewart <dons@cse.unsw.edu.au>
1943   * Add group and groupBy. Suggested by conversation between sjanssen and petekaz on #haskell
1944 
1945 Mon May  1 16:42:04 EST 2006  sjanssen@cse.unl.edu
1946   * Fix groupBy to match Data.List.groupBy.
1947 
1948 Wed May  3 15:01:07 EST 2006  sjanssen@cse.unl.edu
1949   * Migrate to counting sort.
1950   
1951   Data.ByteString.sort used C's qsort(), which is O(n log n).  The new algorithm
1952   is O(n), and is faster for strings larger than approximately thirty bytes.  We
1953   also reduce our dependency on cbits!
1954 
1955]
1956[improve performance of Integer->String conversion
1957Simon Marlow <simonmar@microsoft.com>**20060503113306
1958 See
1959  http://www.haskell.org//pipermail/libraries/2006-April/005227.html
1960 
1961 Submitted by: bertram.felgenhauer@googlemail.com
1962 
1963 
1964]
1965[inline withMVar, modifyMVar, modifyMVar_
1966Simon Marlow <simonmar@microsoft.com>**20060503111152]
1967[Fix string truncating in hGetLine -- it was a pasto from Simon's code
1968Simon Marlow <simonmar@microsoft.com>**20060503103504
1969 (from Don Stewart)
1970]
1971[Merge in Data.ByteString head. Fixes ByteString+cbits in hugs
1972Don Stewart <dons@cse.unsw.edu.au>**20060429040733]
1973[Import Data.ByteString from fps 0.5.
1974Don Stewart <dons@cse.unsw.edu.au>**20060428130718
1975 Fast, packed byte vectors, providing a better PackedString.
1976 
1977]
1978[fix previous patch
1979Ross Paterson <ross@soi.city.ac.uk>**20060501154847]
1980[fixes for non-GHC
1981Ross Paterson <ross@soi.city.ac.uk>**20060501144322]
1982[fix imports for mingw32 && !GHC
1983Ross Paterson <ross@soi.city.ac.uk>**20060427163248]
1984[RequireOrder: do not collect unrecognised options after a non-opt
1985Simon Marlow <simonmar@microsoft.com>**20060426121110
1986 The documentation for RequireOrder says "no option processing after
1987 first non-option", so it doesn't seem right that we should process the
1988 rest of the arguments to collect the unrecognised ones.  Presumably
1989 the client wants to know about the unrecognised options up to the
1990 first non-option, and will be using a different option parser for the
1991 rest of the command line.
1992 
1993 eg. before:
1994 
1995 Prelude System.Console.GetOpt> getOpt' RequireOrder [] ["bar","--foo"]
1996 ([],["bar","--foo"],["--foo"],[])
1997 
1998 after:
1999 
2000 Prelude System.Console.GetOpt> getOpt' RequireOrder [] ["bar","--foo"]
2001 ([],["bar","--foo"],[],[])
2002]
2003[fix for Haddock 0.7
2004Ashley Yakeley <ashley@semantic.org>**20060426072521]
2005[add Data.Fixed module
2006Ashley Yakeley <ashley@semantic.org>**20060425071853]
2007[add instances
2008Ross Paterson <ross@soi.city.ac.uk>**20060424102146]
2009[add superclasses to Applicative and Traversable
2010Ross Paterson <ross@soi.city.ac.uk>**20060411144734
2011 
2012 Functor is now a superclass of Applicative, and Functor and Foldable
2013 are now superclasses of Traversable.  The new hierarchy makes clear the
2014 inclusions between the classes, but means more work in defining instances.
2015 Default definitions are provided to help.
2016]
2017[add Functor and Monad instances for Prelude types
2018Ross Paterson <ross@soi.city.ac.uk>**20060410111443]
2019[GHC.Base.breakpoint
2020Lemmih <lemmih@gmail.com>**20060407125827]
2021[Track the GHC source tree reorganisation
2022Simon Marlow <simonmar@microsoft.com>**20060407041631]
2023[in the show instance for Exception, print the type of dynamic exceptions
2024Simon Marlow <simonmar@microsoft.com>**20060406112444
2025 Unfortunately this requires some recursve module hackery to get at
2026 the show instance for Typeable.
2027]
2028[implement ForeignEnvPtr, newForeignPtrEnv, addForeignPtrEnv for GHC
2029Simon Marlow <simonmar@microsoft.com>**20060405155448]
2030[add  forkOnIO :: Int -> IO () -> IO ThreadId
2031Simon Marlow <simonmar@microsoft.com>**20060327135018]
2032[Rework previous: not a gcc bug after all
2033Simon Marlow <simonmar@microsoft.com>**20060323161229
2034 It turns out that we were relying on behaviour that is undefined in C,
2035 and undefined behaviour in C means "the compiler can do whatever the
2036 hell it likes with your entire program".  So avoid that.
2037]
2038[work around a gcc 4.1.0 codegen bug in -O2 by forcing -O1 for GHC.Show
2039Simon Marlow <simonmar@microsoft.com>**20060323134514
2040 See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26824
2041]
2042[commit mysteriously missing parts of "runIOFastExit" patch
2043Simon Marlow <simonmar@microsoft.com>**20060321101535]
2044[add runIOFastExit :: IO a -> IO a
2045Simon Marlow <simonmar@microsoft.com>**20060320124333
2046 Similar to runIO, but calls stg_exit() directly to exit, rather than
2047 shutdownHaskellAndExit().  Needed for running GHCi in the test suite.
2048]
2049[Fix a broken invariant
2050Simon Marlow <simonmar@microsoft.com>**20060316134151
2051 Patch from #694,  for the problem "empty is an identity for <> and $$" is
2052 currently broken by eg. isEmpty (empty<>empty)"
2053]
2054[Add unsafeSTToIO :: ST s a -> IO a
2055Simon Marlow <simonmar@microsoft.com>**20060315160232
2056 Implementation for Hugs is missing, but should be easy.  We need this
2057 for the forthcoming nested data parallelism implementation.
2058]
2059[Added 'alter'
2060jeanphilippe.bernardy@gmail.com**20060315143539
2061 Added 'alter :: (Maybe a -> Maybe a) -> k -> Map k a -> Map k a' to IntMap and Map
2062 This addresses ticket #665
2063]
2064[deprecate FunctorM in favour of Foldable and Traversable
2065Ross Paterson <ross@soi.city.ac.uk>**20060315092942
2066 as discussed on the libraries list.
2067]
2068[Simplify Eq, Ord, and Show instances for UArray
2069Simon Marlow <simonmar@microsoft.com>**20060313142701
2070 The Eq, Ord, and Show instances of UArray were written out longhand
2071 with one instance per element type.  It is possible to condense these
2072 into a single instance for each class, at the expense of using more
2073 extensions (non-std context on instance declaration).
2074 
2075 Suggestion by: Frederik Eaton <frederik@ofb.net>
2076 
2077]
2078[Oops typo in intSet notMember
2079jeanphilippe.bernardy@gmail.com**20060311224713]
2080[IntMap lookup now returns monad instead of Maybe.
2081jeanphilippe.bernardy@gmail.com**20060311224502]
2082[Added notMember to Data.IntSet and Data.IntMap
2083jeanphilippe.bernardy@gmail.com**20060311085221]
2084[add Data.Set.notMember and Data.Map.notMember
2085John Meacham <john@repetae.net>**20060309191806]
2086[addToClockTime: handle picoseconds properly
2087Simon Marlow <simonmar@microsoft.com>**20060310114532
2088 fixes #588
2089]
2090[make head/build rule apply to all types, not just Bool.
2091John Meacham <john@repetae.net>**20060303045753]
2092[Avoid overflow when normalising clock times
2093Ian Lynagh <igloo@earth.li>**20060210144638]
2094[Years have 365 days, not 30*365
2095Ian Lynagh <igloo@earth.li>**20060210142853]
2096[declare blkcmp() static
2097Simon Marlow <simonmar@microsoft.com>**20060223134317]
2098[typo in comment in Foldable class
2099Ross Paterson <ross@soi.city.ac.uk>**20060209004901]
2100[simplify fmap
2101Ross Paterson <ross@soi.city.ac.uk>**20060206095048]
2102[update ref in comment
2103Ross Paterson <ross@soi.city.ac.uk>**20060206095139]
2104[Give -foverlapping-instances to Data.Typeable
2105simonpj@microsoft**20060206133439
2106 
2107 For some time, GHC has made -fallow-overlapping-instances "sticky":
2108 any instance in a module compiled with -fallow-overlapping-instances
2109 can overlap when imported, regardless of whether the importing module
2110 allows overlap.  (If there is an overlap, both instances must come from
2111 modules thus compiled.)
2112 
2113 Instances in Data.Typeable might well want to be overlapped, so this
2114 commit adds the flag to Data.Typeable (with an explanatory comment)
2115 
2116 
2117]
2118[Add -fno-bang-patterns to modules using both bang and glasgow-exts
2119simonpj@microsoft.com**20060203175759]
2120[When splitting a bucket, keep the contents in the same order
2121Simon Marlow <simonmar@microsoft.com>**20060201130427
2122 To retain the property that multiple inserts shadow each other
2123 (see ticket #661, test hash001)
2124]
2125[add foldr/build optimisation for take and replicate
2126Simon Marlow <simonmar@microsoft.com>**20060126164603
2127 This allows take to be deforested, and improves performance of
2128 replicate and replicateM/replicateM_.  We have a separate problem that
2129 means expressions involving [n..m] aren't being completely optimised
2130 because eftIntFB isn't being inlined but otherwise the results look
2131 good. 
2132 
2133 Sadly this has invalidated a number of the nofib benchmarks which were
2134 erroneously using take to duplicate work in a misguided attempt to
2135 lengthen their runtimes (ToDo).
2136]
2137[Generate PrimopWrappers.hs with Haddock docs
2138Simon Marlow <simonmar@microsoft.com>**20060124131121
2139 Patch originally from Dinko Tenev <dinko.tenev@gmail.com>, modified
2140 to add log message by me.
2141]
2142[[project @ 2006-01-19 14:47:15 by ross]
2143ross**20060119144715
2144 backport warning avoidance from Haddock
2145]
2146[[project @ 2006-01-18 11:45:47 by malcolm]
2147malcolm**20060118114547
2148 Fix import of Ix for nhc98.
2149]
2150[[project @ 2006-01-17 09:38:38 by ross]
2151ross**20060117093838
2152 add Ix instance for GeneralCategory.
2153]
2154[TAG Initial conversion from CVS complete
2155John Goerzen <jgoerzen@complete.org>**20060112154126]
2156Patch bundle hash:
215733444f6c7b6b80ec9c0b42ceaa27511b1ff8d3e4