Ticket #1337: fix_of_wrong_indentation_from_HughesPJ_fill_1337.patch

File fix_of_wrong_indentation_from_HughesPJ_fill_1337.patch, 53.8 KB (added by thorkilnaur, 7 years ago)

Fix of wrong indentation from HughesPJ fill (fcat and fsep)

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