Ticket #1034: listDocs.diff

File listDocs.diff, 45.1 KB (added by Andriy, 8 years ago)

New version of the patch - added examples for corner cases.

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