Ticket #1464: 1464.1.dpatch

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