Ticket #2517: pure.patch

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