# Ticket #1134: views.patch

File views.patch, 47.4 KB (added by jpbernardy, 11 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]
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]
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]
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]
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]
103lennart@augustsson.net**20061221210532]
104[Added examples, more detailed documentation to Data.List Extracting sublists functions
105Andriy Palamarchuk <apa3a@yahoo.com>**20061204164710]
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]
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]
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]
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]
155Ian Lynagh <igloo@earth.li>**20061128204807]
157simonpj@microsoft**20061124164505]
159Ross Paterson <ross@soi.city.ac.uk>**20061124161039]
160[Move instance of Show Ptr to Ptr.hs (fewer orphans)
161simonpj@microsoft.com**20061124100639]
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]
205Malcolm.Wallace@cs.york.ac.uk**20061113113221]
206[Control.Parallel.Strategies: clarified documentation of parListChunk.
207bringert@cs.chalmers.se**20061112232904]
209bringert@cs.chalmers.se**20061112220445
211]
212[Fix broken pragmas; spotted by Bulat Ziganshin
213Ian Lynagh <igloo@earth.li>**20061111205916]
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]
223Malcolm.Wallace@cs.york.ac.uk**20061110142710]
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]
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]
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]
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]
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]
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]
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
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
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]
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]
394Ross Paterson <ross@soi.city.ac.uk>**20060830163521]
395[fix doc typo
396Ross Paterson <ross@soi.city.ac.uk>**20060830134123]
398Ross Paterson <ross@soi.city.ac.uk>**20060830133805
399
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]
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]
432Ross Paterson <ross@soi.city.ac.uk>**20060827170407]
433[expand advice on importing these modules
434Ross Paterson <ross@soi.city.ac.uk>**20060827164044]
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:
448 so substitute (unsigned) long long if we have them, otherwise
449 (unsigned) long.
450
451]
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]
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]
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]
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
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]
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]
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]
641Ross Paterson <ross@soi.city.ac.uk>**20060614114456]
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]
647simonpj@microsoft.com**20060605115814
648
649 This commit adds the 'inline' function described in the
650 related patch in the compiler.
651
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]
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>
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]
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]
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
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]
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)
927
928   which is rather stunning. unsafePerformIO seems to prevent whatever
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]
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
981
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]
1025Ashley Yakeley <ashley@semantic.org>**20060426072521]
1027Ashley Yakeley <ashley@semantic.org>**20060425071853]
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]
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]
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]
1081jeanphilippe.bernardy@gmail.com**20060315143539
1082 Added 'alter :: (Maybe a -> Maybe a) -> k -> Map k a -> Map k a' to IntMap and Map
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]
1102jeanphilippe.bernardy@gmail.com**20060311224502]
1103[Added notMember to Data.IntSet and Data.IntMap
1104jeanphilippe.bernardy@gmail.com**20060311085221]
1106John Meacham <john@repetae.net>**20060309191806]
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]
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