Ticket #1134: views.patch

File views.patch, 47.4 KB (added by jpbernardy, 7 years ago)

darcs patch implementing the proposal

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