Ticket #4077: base_moved_instance_MonadPlus_STM_to_GHC.Conc.dpatch

File base_moved_instance_MonadPlus_STM_to_GHC.Conc.dpatch, 31.4 KB (added by basvandijk, 3 years ago)
Line 
11 patch for repository http://darcs.haskell.org/packages/base:
2
3Sun May 16 18:06:51 CEST 2010  Bas van Dijk <v.dijk.bas@gmail.com>
4  * Moved MonadPlus instance for STM from Control.Monad.STM to GHC.Conc to avoid an orphaned instance
5
6New patches:
7
8[Moved MonadPlus instance for STM from Control.Monad.STM to GHC.Conc to avoid an orphaned instance
9Bas van Dijk <v.dijk.bas@gmail.com>**20100516160651
10 Ignore-this: 651b852942b2fae2b93f996e39239b8f
11] hunk ./GHC/Conc.lhs 479
12 returnSTM :: a -> STM a
13 returnSTM x = STM (\s -> (# s, x #))
14 
15+instance MonadPlus STM where
16+  mzero = retry
17+  mplus = orElse
18+
19 -- | Unsafely performs IO in the STM monad.  Beware: this is a highly
20 -- dangerous thing to do. 
21 --
22
23Context:
24
25[hSetEncoding: change the encoding on both read and write sides (#4066)
26Simon Marlow <marlowsd@gmail.com>**20100514124628
27 Ignore-this: 5b9e9caef06356d0296c584159709ebb
28]
29[Correct haddock formatting.
30Adam Vogt <vogt.adam@gmail.com>**20100423022103
31 Ignore-this: d2622339302048fda48080f7d5ce4a2f
32]
33[Fix for hGetBufSome
34Simon Marlow <marlowsd@gmail.com>**20100505135637
35 Ignore-this: 2019680f8fb223956cacfcf0d046f133
36]
37[improve the documentation for throwTo and killThread (#3884)
38Simon Marlow <marlowsd@gmail.com>**20100505135600
39 Ignore-this: ce881d96ddb729acb6ca09c779975e7d
40]
41[elaborate the docs for unsafePerformIO a bit
42Simon Marlow <marlowsd@gmail.com>**20100505101249
43 Ignore-this: 1cec3f67560b672c64c5a0dcf9a79eb7
44]
45[add Typeable instance
46Simon Marlow <marlowsd@gmail.com>**20100504152815
47 Ignore-this: 6d9cf9d62f0ef17fa459bf213a04098
48]
49[Add hGetBufSome, like hGetBuf but can return short reads
50Simon Marlow <marlowsd@gmail.com>**20100504152759
51 Ignore-this: 195c905b43f8d9505029364e2c5b18e
52]
53[Add swap (#3298)
54Simon Marlow <marlowsd@gmail.com>**20100504095339
55 Ignore-this: 13b007dc4594ce252997ec6fa0bbd976
56]
57[inline allocaArray0, to fix withCString benchmark
58Simon Marlow <marlowsd@gmail.com>**20100423124729
59 Ignore-this: 35c96816acc2f3aaf9dd29f7995fa6f0
60]
61[raise asynchronous exceptions asynchronously (#3997)
62Simon Marlow <marlowsd@gmail.com>**20100421094932
63 Ignore-this: 6d987d93d382c0f69c68c326312abd6b
64]
65[add NOINLINE pragmas for stdin/stdout/stderr
66Simon Marlow <marlowsd@gmail.com>**20100421082041
67 Ignore-this: 3fc130268ec786f28d945858d6690986
68]
69[INLINE alloca and malloc
70Simon Marlow <marlowsd@gmail.com>**20100419135333
71 Ignore-this: b218bd611f18721b1505a8c0b9e6a16a
72 See discussion on glasgow-haskell-users:
73   http://www.haskell.org/pipermail/glasgow-haskell-users/2010-April/018740.html
74]
75[Move comment closer to the offending line
76Matthias Kilian <kili@outback.escape.de>**20100419155421
77 Ignore-this: b34a1d7affd66f67d210df2377b585d9
78]
79[Ignore the return code of c_fcntl_write again
80Matthias Kilian <kili@outback.escape.de>**20100415140452
81 Ignore-this: 266d8ba02cc3cb79c85629b3528261c9
82 
83 The return code has been ignored in the past on purpose, because
84 O_NONBLOCK will fail on BSDs for some special files. This fixes the
85 problem mentioned in
86 http://www.haskell.org/pipermail/glasgow-haskell-users/2010-April/018698.html
87 
88]
89[Fix bitrot in IO debugging code
90Ian Lynagh <igloo@earth.li>**20100413134339
91 Also switched to using Haskell Bools (rather than CPP) to en/disable it,
92 so it shouldn't break again in the future.
93]
94[Tiny code tidy-up
95Ian Lynagh <igloo@earth.li>**20100413011147]
96[remove old/wrong comment
97Simon Marlow <marlowsd@gmail.com>**20100325161403
98 Ignore-this: e6e377d44af48c4162d17d55bdf3f821
99]
100[withThread: block asynchronous exceptions before installing exception handler.
101Bas van Dijk <v.dijk.bas@gmail.com>**20100329131624
102 Ignore-this: be5aeb47dbd73807b5f94df11afbb81c
103 Note that I don't unblock the given io computation. Because AFAICS
104 withThread is only called with 'waitFd' which only performs an FFI
105 call which can't receive asynchronous exceptions anyway.
106]
107[runInUnboundThread: block asynchronous exceptions before installing exception handler
108Bas van Dijk <v.dijk.bas@gmail.com>**20100329131549
109 Ignore-this: a00c5e32fe3981ff87bedd367a69051e
110]
111[fix the deprecation message (GHC.IO.Handle.Base -> GHC.IO.Handle)
112Simon Marlow <marlowsd@gmail.com>**20100330121137
113 Ignore-this: 4ca8500a01ac93454507aa8f9dd001f9
114]
115[Make SampleVar an abstract newtype
116Bas van Dijk <v.dijk.bas@gmail.com>**20100318200349
117 Ignore-this: 27939e2a064b75e71cb146117346be30
118]
119[Fix bugs regarding asynchronous exceptions and laziness in Control.Concurrent.SampleVar
120Bas van Dijk <v.dijk.bas@gmail.com>**20100318200104
121 Ignore-this: 7376b2a3afe155daf233a8f1ddc0a7a
122  - Block asynchronous exceptions at the right places
123  - Force thunks before putting them in a MVar
124]
125[Write the thunk 'next' to the MVar
126Bas van Dijk <v.dijk.bas@gmail.com>**20100319125951
127 Ignore-this: dd25636cf220131385ff2fd32493d456
128]
129[change to use STM, fixing 4 things
130Simon Marlow <marlowsd@gmail.com>**20100318104436
131 Ignore-this: 551d30280a7941c08f5c3b14576bdd70
132   1. there was no async exception protection
133   2. there was a space leak (now new value is strict)
134   3. using atomicModifyIORef would be slightly quicker, but can
135      suffer from adverse scheduling issues (see #3838)
136   4. also, the STM version is faster.
137]
138[Tweak docs
139Ian Lynagh <igloo@earth.li>**20100312214129]
140[Fixed dead links in documentation of forkIO
141Bas van Dijk <v.dijk.bas@gmail.com>**20100308222415
142 Ignore-this: 7deb8fd064c867fbede2a6b2e9da4f15
143]
144[Documentation fixes in Control.Exception
145Bas van Dijk <v.dijk.bas@gmail.com>**20100301220442
146 Ignore-this: 761fcba401cbd1f47276ddfc9b5b80f2
147]
148[Plug two race conditions that could lead to deadlocks in the IO manager
149Simon Marlow <marlowsd@gmail.com>**20100225120255
150 Ignore-this: e6983d6b953104d370278ab3e4617e8b
151]
152[FIX #3866: improve documentation of Data.Data.Constr
153jpm@cs.uu.nl**20100224125506
154 Ignore-this: 3818c5d8fee012a3cf322fb455b6e5dc
155]
156[UNDO: Handle NaN, -Infinity and Infinity in the toRational for Float/Double (#3676)
157Simon Marlow <marlowsd@gmail.com>**20100223101603
158 Ignore-this: 78becb2d39b3cd9a1a473a5811ca7d92
159]
160[Put the complexity in the length docs. Fixes trac #3680
161Ian Lynagh <igloo@earth.li>**20100221191425]
162[nhc98 should build Data.Functor.
163Malcolm.Wallace@cs.york.ac.uk**20100221163218]
164[Update the exitWith docs
165Ian Lynagh <igloo@earth.li>**20100213140004
166 Error pointed out by Volker Wysk <vw@volker-wysk.de>
167]
168[Handle NaN, -Infinity and Infinity in the toRational for Float/Double (#3676)
169Simon Marlow <marlowsd@gmail.com>**20100211101955
170 Ignore-this: 261415363303efca265e80290eac5f28
171]
172[For nhc98, import unsafeInterleaveIO rather than defining it here.
173Malcolm.Wallace@cs.york.ac.uk**20100204171021]
174[Stifle warning about unused return value
175benl@cse.unsw.edu.au**20100203025537]
176[fix #3832: use the locale encoding in openTempFile
177Simon Marlow <marlowsd@gmail.com>**20100120211830
178 Ignore-this: df4f778cc5fefb32290c798db722632c
179 Also while I was here fix an XXX: the Handle contained an
180 uninformative string like <fd: 4> for error messages rather than the
181 real file path.
182]
183[Fix the build: export void, so it doesn't give an unused binding warning
184Ian Lynagh <igloo@earth.li>**20100116174451]
185[hIsEOF: don't do any decoding (#3808)
186Simon Marlow <marlowsd@gmail.com>**20100112230317
187 Ignore-this: 6a384dd2d547ffe3ad3762920e5c1671
188]
189[Control.Monad: +void :: f a -> f ()
190gwern0@gmail.com**20100108214455
191 Ignore-this: 4dc07452315f2d1b4941903ff42fc45f
192 See http://hackage.haskell.org/trac/ghc/ticket/3292
193 Turns m a -> m (). Lets one call functions for their side-effects without
194 having to get rid of their return values with '>> return ()'. Very useful
195 in many contexts (parsing, IO etc.); particularly good for 'forkIO' and 'forM_',
196 as they demand return types of 'IO ()' though most interesting IO functions
197 return non-().
198]
199[Replace the implementation of mergesort with a 2x faster one.
200Malcolm.Wallace@cs.york.ac.uk**20091224152014
201 See ticket http://hackage.haskell.org/trac/ghc/ticket/2143.
202]
203[Restore previous Data.Typeable.typeOf*Default implementations for non-ghc.
204Malcolm.Wallace@cs.york.ac.uk**20091223142625
205 Not all compilers have ScopedTypeVariables.
206]
207[Add comments about double bounds-checking, and fast paths for rectangular arrays
208simonpj@microsoft.com**20091218165655
209 Ignore-this: ea0849419dc00927aba4bd410b1cc58d
210 
211 See Note [Double bounds-checking of index values] for the details.
212 
213 The fast paths omit the doubled checks for cases we know about
214]
215[Fix Trac #3245: memoising typeOf
216simonpj@microsoft.com**20091218155117
217 Ignore-this: 5a178a7f2222293c5ee0c3c43bd1b625
218 
219 The performance bug in #3245 was caused by computing the typeRep
220 once for each call of typeOf, rather than once for each dictionary
221 contruction.  (Computing TypeReps is reasonably expensive, because
222 of the hash-consing machinery.)
223 
224 This is readily fixed by putting the TypeRep construction outside
225 the lambda.  (Arguably GHC might have worked that out itself,
226 but it involves floating something between a type lambda and a
227 value lambda, which GHC doesn't currently do. If it happens a lot
228 we could fix that.)
229]
230[Mark 'index' as INLINE in GHC.Arr
231simonpj@microsoft.com**20091216170441
232 Ignore-this: a4df9d8acf496c8e0e9ce5a520509a2a
233 
234 This makes indexing much faster. See Trac #1216
235]
236[Comment the remaining orphan instance modules
237Ian Lynagh <igloo@earth.li>**20091206125021]
238[De-orphan Eq/Ord Float/Double
239Ian Lynagh <igloo@earth.li>**20091205181238]
240[Add comments to "OPTIONS_GHC -fno-warn-orphans" pragmas
241Ian Lynagh <igloo@earth.li>**20091205165854]
242[Data.Either.partitionEithers was insufficiently lazy.
243Malcolm.Wallace@cs.york.ac.uk**20091202032807
244 Ignore-this: 77e1b3288f66608c71458d8a91bcbe12
245 Spotted by Daniel Fischer.
246]
247[fix the docs regarding finalizer guarantees
248Simon Marlow <marlowsd@gmail.com>**20091130144409
249 Ignore-this: d1ab9532c74a002b8075ff60febcbe2d
250]
251[x86_64 requires more stack
252Malcolm.Wallace@cs.york.ac.uk**20091201033745]
253[check for size < 0 in mallocForeignPtrBytes and friends (#3514)
254Simon Marlow <marlowsd@gmail.com>**20091125143822
255 Ignore-this: 91077d01da2bbe1dfed5155e8b40da9
256]
257[hGetContents: close the handle properly on error
258Simon Marlow <marlowsd@gmail.com>**20091125123435
259 Ignore-this: bc37ff678acc6e547dc390285e056eb9
260 
261 When hGetContents caught an error it was closing the handle and then
262 throwing the exception, without updating the handle with the new
263 closed state.  This lead to a double-closed, which was the cause of
264 
265 *** glibc detected *** ./Setup: double free or corruption
266 
267 when iconv_close was called twice on the decoder.
268 
269 See http://hackage.haskell.org/trac/hackage/ticket/609
270]
271[Fix arities of mapFB and zipFB
272Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091126232219
273 Ignore-this: c4e14cd0a92622549c86e67237a40865
274]
275[Remove an unnecessary -fno-warn-orphans flag
276Ian Lynagh <igloo@earth.li>**20091126123404]
277[Tweak layout to work with alternative layout rule
278Ian Lynagh <igloo@earth.li>**20091125232349]
279[Tweak layout to be accepted by the alternative layout rul
280Ian Lynagh <igloo@earth.li>**20091125194147]
281[Make sure zipWithFB has arity 2
282Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091125010003
283 Ignore-this: 4cf60c55666f03d22a9f5a6e07f52d36
284 
285 It gets 2 arguments in the "zipWith" rule but its arity was higher and the new
286 inliner didn't inline it sometimes, for instance here:
287 
288 mpp ::  [Double] -> [Double] -> [Double] -> [Double] -> [Double]
289 mpp as bs cs ds = zipWith (*) (zipWith (+) as bs) (zipWith (+) cs ds)
290 
291 This was a regression vs. 6.10.
292]
293[Remove an old comment
294Ian Lynagh <igloo@earth.li>**20091124134647]
295[De-orphan the Eq/Ord Integer instances
296Ian Lynagh <igloo@earth.li>**20091124133639]
297[Whitespace only
298Ian Lynagh <igloo@earth.li>**20091124133421]
299[Derive some more instances, rather than writing them by hand
300Ian Lynagh <igloo@earth.li>**20091124011747]
301[We can now derive Ord ()
302Ian Lynagh <igloo@earth.li>**20091124011416]
303[De-orphan tuple Eq/Ord instances
304Ian Lynagh <igloo@earth.li>**20091123233343]
305[Control.Exception.Base no longer has any orphans
306Ian Lynagh <igloo@earth.li>**20091123224905]
307[De-orphan the MonadFix ST instance for GHC
308Ian Lynagh <igloo@earth.li>**20091123223544]
309[Rearrange the contents of Control.Monad.ST; no functionality changes
310Ian Lynagh <igloo@earth.li>**20091123222702]
311[De-orphan the Eq/Ord [a] instances
312Ian Lynagh <igloo@earth.li>**20091123215635]
313[De-orphan the Eq/Ord Char instances
314Ian Lynagh <igloo@earth.li>**20091123202253]
315[De-orphan the Eq/Ord Bool instances
316Ian Lynagh <igloo@earth.li>**20091123201817]
317[Move Eq/Ord Ordering instances to de-orphan them
318Ian Lynagh <igloo@earth.li>**20091123194310]
319[Remove ffi warnings for nhc98.
320Malcolm.Wallace@cs.york.ac.uk**20091123063743]
321[Second attempt to fix #1185 (forkProcess and -threaded)
322Simon Marlow <marlowsd@gmail.com>**20091111151915
323 Ignore-this: fa5f5d5e4e080d4b612a37244f937f9c
324 
325 Patch 2/2: first patch is to ghc
326 
327 This time without dynamic linker hacks, instead I've expanded the
328 existing rts/Globals.c to cache more CAFs, specifically those in
329 GHC.Conc.  We were already using this trick for signal handlers, I
330 should have realised before.
331 
332 It's still quite unsavoury, but we can do away with rts/Globals.c in
333 the future when we switch to a dynamically-linked GHCi.
334]
335[Rollback #1185 fix
336Simon Marlow <marlowsd@gmail.com>**20091106140629
337 Ignore-this: cd5667e8474e37e01ba26a1984274811
338 
339 rolling back:
340 
341 Tue Nov  3 16:05:40 GMT 2009  Simon Marlow <marlowsd@gmail.com>
342   * Fix #1185: restart the IO manager after fork()
343   
344   This is the libraries/base part of the patch; there is a corresponding
345   patch to GHC itself.
346   
347   The main change is that we now keep track of the IO manager's ThreadId
348   in a top-level MVar, and ensureIOManagerIsRunning checks whether a
349   previous IO manager thread is alive before starting one.  In the child
350   of fork(), we can hence call ensureIOManagerIsRunning to restart the
351   IO manager.
352 
353     M ./GHC/Conc.lhs -46 +44
354 
355 Wed Nov  4 17:49:45 GMT 2009  Ian Lynagh <igloo@earth.li>
356   * Fix the build on Windows
357 
358     M ./GHC/Conc.lhs -6 +4
359]
360[Fix the build on Windows
361Ian Lynagh <igloo@earth.li>**20091104174945]
362[Fix #1185: restart the IO manager after fork()
363Simon Marlow <marlowsd@gmail.com>**20091103160540
364 Ignore-this: 6dc05464f1500104554637f4759738cc
365 
366 This is the libraries/base part of the patch; there is a corresponding
367 patch to GHC itself.
368 
369 The main change is that we now keep track of the IO manager's ThreadId
370 in a top-level MVar, and ensureIOManagerIsRunning checks whether a
371 previous IO manager thread is alive before starting one.  In the child
372 of fork(), we can hence call ensureIOManagerIsRunning to restart the
373 IO manager.
374]
375[improve the documentation for throwErrnoIfRetry
376Simon Marlow <marlowsd@gmail.com>**20091016112404
377 Ignore-this: b77275cacf730e15757946027168f63e
378]
379[Don't inline unpackFoldrCString ever
380simonpj@microsoft.com**20091029135350
381 Ignore-this: 85d672649b1b776efc7e97500b05d4f9
382]
383[Inline more default methods
384simonpj@microsoft.com**20091029135330
385 Ignore-this: 289c44b0afd6d5631c2a4e0664275ca9
386 
387 Namely Monad: (>>)
388        Eq:    (==), (/=)
389        Num:   (-), negate
390        Real:  quot, rem, div, mod, recip, (/), truncate
391        Float: (**), logBase, sqrt, tan, tanh
392]
393[Move error messages out of INLINEd default methods
394simonpj@microsoft.com**20091029135118
395 Ignore-this: 9e35dc947f94827a3529eb53a41575fd
396 
397 No need to duplicate the error generation!
398]
399[Exploit now-working default-method INLINE pragmas for Data.Bits
400simonpj@microsoft.com**20091029135041
401 Ignore-this: 8adf225f31ca7a3181ee087e9e4fe535
402 
403 * Add INLINE pragmas to default methods for class Bits
404 
405 * Remove redundant instance methods elsewhere, now that
406   the default method will do the job
407]
408[Tidy up and comment imports
409simonpj@microsoft.com**20091029134414
410 Ignore-this: bf2be31035de975d8995e988933cc940
411]
412[Inline foldr and (.) when applied to two arguments not three
413simonpj@microsoft.com**20091029134335
414 Ignore-this: fccb6f3e90e15f44cb465814be85ede2
415 
416 The new INLINE story is (by design) arity-sensitive, so we must
417 put fewer argument on the LHS for foldr and (.)
418]
419[dirUtils.c no longer available
420Malcolm.Wallace@cs.york.ac.uk**20091013093833]
421[Make hGetContents throw an exception if an error is encountered
422Simon Marlow <marlowsd@gmail.com>**20091012152955
423 Ignore-this: 9f7a7176193eab25c9daaacd9261f2de
424 
425 Strictly speaking this breaks Haskell 98 compatibility, which requires
426 hGetContents to just end the lazy stream silently if an error is
427 encountered.  However, for a few reasons we think it will make
428 everyone's life a bit easier if we make this change
429 
430  1. Errors will be a lot more common in GHC 6.12.1, in the form
431     of Unicode decoding errors.
432 
433  2. When Haskell 98 was designed, we didn't know how to throw
434     exceptions from inside lazy I/O, but now we do.
435 
436  3. If anyone is actually relying on the previous behaviour, their
437     code is arguably broken.
438]
439[Re-instate System.Console.Getopt for nhc98 builds.
440Malcolm.Wallace@cs.york.ac.uk**20091013092843
441 Although it was split out of base a while back, that change was
442 reverted for ghc soon afterwards, but nhc98 never noticed.
443]
444[Roll back "Another instance of nhc98's strange import semantics."
445Ian Lynagh <igloo@earth.li>**20091009185618
446 Fri Oct  9 14:50:51 BST 2009  Malcolm.Wallace@cs.york.ac.uk
447 GHC (correctly) warns about the unused import, which breaks the validate
448 build.
449]
450[Roll back "Cope with nhc98's (occasionally-strange) import semantics"
451Ian Lynagh <igloo@earth.li>**20091009184704
452 Fri Oct  9 14:43:51 BST 2009  Malcolm.Wallace@cs.york.ac.uk
453 GHC (correctly) warns about the unused import, which breaks the validate
454 build.
455]
456[It seems that nhc98 needs defaulting in Data.Fixed.
457Malcolm.Wallace@cs.york.ac.uk**20091009135242]
458[Another instance of nhc98's strange import semantics.
459Malcolm.Wallace@cs.york.ac.uk**20091009135051]
460[Make Data.Functor compatible with non-GHC compilers.
461Malcolm.Wallace@cs.york.ac.uk**20091009134821]
462[Cope with nhc98's (occasionally-strange) import semantics.
463Malcolm.Wallace@cs.york.ac.uk**20091009134351]
464[Fix gratuitous breakage of nhc98 in System.IO.
465Malcolm.Wallace@cs.york.ac.uk**20091009134001]
466[Fix gratuitous breakage of nhc98 in Control.Exception.Base.
467Malcolm.Wallace@cs.york.ac.uk**20091009133615]
468[Fix gratuitous breakage of non-GHC in Data.Fixed.
469Malcolm.Wallace@cs.york.ac.uk**20091009133330]
470[Fix gratuitous breakage for non-GHC in Data.Bits.
471Malcolm.Wallace@cs.york.ac.uk**20091009133257]
472[Use UTF-32LE instead of UTF32LE
473Simon Marlow <marlowsd@gmail.com>**20091006100207
474 Ignore-this: 7f881e36543d250ef848c9f60d67655a
475 The latter is not recognised by some iconv implementations.
476]
477[Strip any Byte Order Mark (BOM) from the front of decoded streams.
478Ben.Lippmeier@anu.edu.au*-20090930084229
479 Ignore-this: d0d0c3ae87b31d71ef1627c8e1786445
480 When decoding to UTF-32, Solaris iconv inserts a BOM at the front
481 of the stream, but Linux iconv doesn't.
482]
483[use UTF32BE/UTF32LE instead of UCS-4/UCS-4LE
484Simon Marlow <marlowsd@gmail.com>**20091005101554
485 Ignore-this: 2aef5e9bec421e714953b7aa1bdfc1b3
486]
487[Strip any Byte Order Mark (BOM) from the front of decoded streams.
488Ben.Lippmeier@anu.edu.au**20090930084229
489 Ignore-this: d0d0c3ae87b31d71ef1627c8e1786445
490 When decoding to UTF-32, Solaris iconv inserts a BOM at the front
491 of the stream, but Linux iconv doesn't.
492]
493[Add traceEvent :: String -> IO ()
494Simon Marlow <marlowsd@gmail.com>**20090925141257
495 Ignore-this: 8b1888bbf9682ffba13f815b6000e4b1
496 For emitting an event via the RTS tracing framework
497]
498[Fix the error message when flushing the read buffer of a non-seekable Handle
499Simon Marlow <marlowsd@gmail.com>**20090923090536
500 Ignore-this: 4342026df93759d99480f4e13f80a492
501]
502[Fix #3534: No need to flush the byte buffer when setting binary mode
503Simon Marlow <marlowsd@gmail.com>**20090923090445
504 Ignore-this: 625817ed7ae2c12291eb993a99dc640a
505]
506[Use let !y = x in .. x .. instead of seq in $! and evaluate (#2273)
507Simon Marlow <marlowsd@gmail.com>**20090916140454]
508[make some Applicative functions into methods, and split off Data.Functor (proposal #3335)
509Ross Paterson <ross@soi.city.ac.uk>**20090915173109
510 Ignore-this: a0cff4de6dfdbcbd56a66101bc4855a9
511 
512 The following functions
513 
514     (<$) :: Functor f => a -> f b -> f a
515     (*>) :: Applicative f => f a -> f b -> f b
516     (<*) :: Applicative f => f a -> f b -> f a
517     some :: Alternative f => f a -> f [a]
518     many :: Alternative f => f a -> f [a]
519 
520 are moved into the corresponding classes, with the existing implementations
521 as default definitions.  This gives people creating instances the option of
522 defining specialized implementations of these functions, though they should
523 be equivalent to the default definitions.
524 
525 Although (<$) is now a method of the Functor class, it is hidden in the
526 re-export by the Prelude, Control.Monad and Monad.  The new module
527 Data.Functor exposes the full class, plus the function (<$>).  These are
528 also re-exported by Control.Applicative.
529]
530[On Windows, use the console code page for text file encoding/decoding.
531Judah Jacobson <judah.jacobson@gmail.com>**20090913022126
532 Ignore-this: 86c2f2db8ef92b751599795d3195187b
533 
534 We keep all of the code page tables in the module
535 GHC.IO.Encoding.CodePage.Table.  That file was generated automatically
536 by running codepages/MakeTable.hs; more details are in the comments at the
537 start of that script.
538 
539 Storing the lookup tables adds about 40KB to each statically linked executable;
540 this only increases the size of a "hello world" program by about 7%.
541 
542 Currently we do not support double-byte encodings (Chinese/Japanese/Korean), since
543 including those codepages would increase the table size to 400KB.  It will be
544 straightforward to implement them once the work on library DLLs is finished.
545]
546[Fix "init" docs: the input list need not be finite. Fixes trac #3465
547Ian Lynagh <igloo@earth.li>**20090911210437]
548[Bump base version to 4.2.0.0
549Ian Lynagh <igloo@earth.li>**20090911153913]
550[Address #3310
551Simon Marlow <marlowsd@gmail.com>**20090830152850
552 Ignore-this: 40c7f7c171ee299a83092fd360a952b7
553 
554  - Rename BlockedOnDeadMVar   -> BlockedIndefinitelyOnMVar
555  - Rename BlockedIndefinitely -> BlockedIndefinitelyOnSTM
556  - instance Show BlockedIndefinitelyOnMVar is now
557      "blocked indefinitely in an MVar operation"
558  - instance Show BlockedIndefinitelyOnSTM is now
559      "blocked indefinitely in an STM transaction"
560 
561 clients using Control.OldException will be unaffected (the new
562 exceptions are mapped to the old names).  However, for base4-compat
563 we'll need to make a version of catch/try that does a similar
564 mapping.
565]
566[Fix unicode conversion for MSB architectures
567Ben.Lippmeier@anu.edu.au**20090830130028
568 This fixes the SPARC/Solaris build.
569]
570[Fix #3441: detect errors in partial sequences
571Simon Marlow <marlowsd@gmail.com>**20090830075909
572 Ignore-this: d12a75d95e0cae5eb1555266810ec281
573]
574[Fix hWaitForInput
575Simon Marlow <marlowsd@gmail.com>**20090827152116
576 Ignore-this: 2550e911f1a4d4357a5aa8d1764238ce
577 It was erroneously waiting when there were bytes to decode waiting in
578 the byte buffer.
579]
580[fix debugging code
581Simon Marlow <marlowsd@gmail.com>**20090827150628
582 Ignore-this: e1c82fdc19a22e247cd69ff6fa11921d
583]
584[Allow for configurable iconv include and library locations.
585Matthias Kilian <kili@outback.escape.de>**20090826154406
586 Ignore-this: be95fab611a5534cf184b508964ed498
587 This should help to fix the build on OpenBSD.
588]
589[typo in comment
590Simon Marlow <marlowsd@gmail.com>**20090826085252
591 Ignore-this: 1903ee0f354157a6ed3871c100f6b1b9
592]
593[un-hide some modules from the Haddock docs
594Simon Marlow <marlowsd@gmail.com>**20090825152457
595 Ignore-this: dce6606f93cf977fb24ebe99082dfa62
596]
597[Apply fix for #1548, from squadette@gmail.com
598Simon Marlow <marlowsd@gmail.com>**20090819120700
599 Ignore-this: 31c237c46a6445f588ed4b8c51bb6231
600]
601[improvements to Data.Fixed: instances for Typeable and Data, more predefined types
602Ashley Yakeley <ashley@semantic.org>**20090812055058
603 Ignore-this: feeece36d5632f02a05d137d2a39ab78
604]
605[Fix "Cabal check" warnings
606Ian Lynagh <igloo@earth.li>**20090811215856]
607[Add a GHC.Constants module; fixes trac #3094
608Ian Lynagh <igloo@earth.li>**20090809183252]
609[Apply proposal #3393
610Ian Lynagh <igloo@earth.li>**20090809134717
611 Add openTempFileWithDefaultPermissions and
612 openBinaryTempFileWithDefaultPermissions.
613]
614[Add some more C wrappers; patch from Krister Walfridsson
615Ian Lynagh <igloo@earth.li>**20090807200631
616 Fixes 21 testsuite errors on NetBSD 5.99.
617]
618[Fixing configure for autoconf 2.64
619Alexander Dunlap <alexander.dunlap@gmail.com>**20090805060748
620 Ignore-this: 992ab91ae3d68c12dbb265776e33e243
621]
622[add INLINE toList
623Ross Paterson <ross@soi.city.ac.uk>**20090806142853
624 Ignore-this: aba16aabb17d5dca44f15d188945680e
625 
626 In anticipation of the fixing of #2353.
627]
628[fix a copyright
629Simon Marlow <marlowsd@gmail.com>**20090805134045
630 Ignore-this: b0ffbdd38fbba121e8bcba37c4082a60
631]
632[Tweak the BufferedIO class to enable a memory-mapped file implementation
633Simon Marlow <marlowsd@gmail.com>**20090805134036
634 Ignore-this: ec67d7a0a6d977438deaa342503f77e0
635 We have to eliminate the assumption that an empty write buffer can be
636 constructed by setting the buffer pointers to zero: this isn't
637 necessarily the case when the buffer corresponds to a memory-mapped
638 file, or other in-memory device implementation.
639]
640[Deprecate Control.OldException
641Ian Lynagh <igloo@earth.li>**20090804143910]
642[Windows build fix, following RTS tidyup
643Simon Marlow <marlowsd@gmail.com>**20090803131121
644 Ignore-this: ce862fb91c2b234211a8757f98690778
645]
646[Updates to follow the RTS tidyup
647Simon Marlow <marlowsd@gmail.com>**20090801220743
648 Ignore-this: 6e92412df93a66c12d75344053d5634
649 C functions like isDoubleNaN moved here (primFloat.c)
650]
651[Add integer-simple as a build option
652Ian Lynagh <igloo@earth.li>**20090722013151]
653[Use shift[LR]Integer in the Bits Integer instance
654Ian Lynagh <igloo@earth.li>**20090721222440]
655[depend directly on integer-gmp, rather than indirecting through integer
656Ian Lynagh <igloo@earth.li>**20090721185228]
657[Move the instances of Functor and Monad IO to GHC.Base, to avoid orphans
658Simon Marlow <marlowsd@gmail.com>**20090722102130
659 Ignore-this: a7d85ac0025d559674249de0108dbcf4
660]
661[move "instance Exception Dynamic" so it isn't an orphan
662Simon Marlow <marlowsd@gmail.com>**20090721093854
663 Ignore-this: 5ede91ecfec2112c91b699d4de87cd02
664]
665[Improve the index checking for array accesses; fixes #2120 #2669
666Ian Lynagh <igloo@earth.li>**20090719153228
667 As well as checking that offset we are reading is actually inside the
668 array, we now also check that it is "in range" as defined by the Ix
669 instance. This fixes confusing behaviour (#2120) and improves some error
670 messages (#2669).
671]
672[Make chr say what its argument was, if it's a bad argument
673Ian Lynagh <igloo@earth.li>**20090718151049]
674[remove unused warning
675Simon Marlow <marlowsd@gmail.com>**20090715124416
676 Ignore-this: 31f613654089d0f4a44363946087b41e
677]
678[warning fix: -fno-implicit-prelude -> -XNoImplicitPrelude
679Simon Marlow <marlowsd@gmail.com>**20090715122839
680 Ignore-this: dc8957249731d5bcb71c01899e5adf2b
681]
682[Add hGetEncoding :: Handle -> IO (Maybe TextEncoding)
683Simon Marlow <marlowsd@gmail.com>**20090715122519
684 Ignore-this: 14c3eff996db062da1199739781e4708
685 as suggested during the discussion on the libraries list
686]
687[Add more documentation to mkTextEncoding
688Simon Marlow <marlowsd@gmail.com>**20090715122414
689 Ignore-this: 97253b2624267df3a246a18121e8ea81
690 noting that "//IGNORE" and "//TRANSLIT" suffixes can be used with GNU
691 iconv.
692]
693[Add the utf8_bom codec
694Simon Marlow <marlowsd@gmail.com>**20090715122257
695 Ignore-this: 1c9396cd805201fe873a39382ced79c7
696 as suggested during the discussion on the libraries list.
697]
698[Export Unicode and newline functionality from System.IO; update Haddock docs
699Simon Marlow <marlowsd@gmail.com>**20090713113104
700 Ignore-this: c3f017a555335aa55d106253393f72e2
701]
702[add a comment about the non-workingness of CHARBUF_UTF16
703Simon Marlow <marlowsd@gmail.com>**20090707124406
704 Ignore-this: 98d00411b68d688b3b4cffc9507b1f35
705]
706[Fix build on Windows
707Ian Lynagh <igloo@earth.li>**20090711004351]
708[Fix some "warn-unused-do-bind" warnings where we want to ignore the value
709Ian Lynagh <igloo@earth.li>**20090710204513]
710[Use throwErrnoIfMinus1_ when calling getrusage
711Ian Lynagh <igloo@earth.li>**20090710204221]
712[Remove an unused import
713Ian Lynagh <igloo@earth.li>**20090710153345]
714[reportStackOverflow now returns IO ()
715Ian Lynagh <igloo@earth.li>**20090710153257
716 It used to do "return undefined" to return IO a.
717]
718[GHC.Conc.reportError now returns IO ()
719Ian Lynagh <igloo@earth.li>**20090710152646
720 It used to return IO a, by "return undefined".
721]
722[Fix some "warn-unused-do-bind" warnings where we want to ignore the value
723Ian Lynagh <igloo@earth.li>**20090710152526]
724[Minor SampleVar refactoring
725Ian Lynagh <igloo@earth.li>**20090710151438]
726[Fix "warn-unused-do-bind" warnings in GHC/IO/Handle/Text.hs
727Ian Lynagh <igloo@earth.li>**20090710122905]
728[Fix some "warn-unused-do-bind" warnings where we just want to ignore the result
729Ian Lynagh <igloo@earth.li>**20090710005638]
730[Use the result of writeCharBuf in GHC/IO/Encoding/Latin1.hs too
731Ian Lynagh <igloo@earth.li>**20090710004032]
732[Minor code tidyups in GHC.Conc
733Ian Lynagh <igloo@earth.li>**20090710003801]
734[Fix "warn-unused-do-bind" warning in GHC.Conc
735Ian Lynagh <igloo@earth.li>**20090710003530
736 If we fail to communicate with the IO manager then we print a warning
737 using debugErrLn from the ghc-prim package.
738]
739[Fix "warn-unused-do-bind" warnings in System.Posix.Internals
740Ian Lynagh <igloo@earth.li>**20090709164546]
741[Fix "warn-unused-do-bind" warnings where we really do want to ignore the result
742Ian Lynagh <igloo@earth.li>**20090709163912]
743[Add back imports needed on Windows
744Ian Lynagh <igloo@earth.li>**20090707181924]
745[Remove unused imports
746Ian Lynagh <igloo@earth.li>**20090707115810]
747[Remove unused imports from base
748simonpj@microsoft.com**20090706111842
749 Ignore-this: f9b5f353e3bb820f787c56d615b28765
750 
751 These unused imports are detected by the new unused-import code
752 
753]
754[Use the result of writeCharBuf
755Simon Marlow <marlowsd@gmail.com>**20090706133303
756 Ignore-this: 52288dd559bf4c4f313df6197091d935
757   
758 This only makes a difference when CHARBUF_UTF16 is in use, which it
759 normally isn't.  I suspect CHARBUF_UTF16 doesn't currently work for
760 other reasons (CHARBUF_UTF16 was an experiment before I wrote the
761 GHC.IO.Encoding.UTF* codecs), but this patch at least makes it
762 slightly closer to working.
763]
764[Remove some cruft from Data.HashTable
765Ian Lynagh <igloo@earth.li>**20090706181630]
766[Add 'eof' to Text.ParserCombinators.ReadP
767simonpj@microsoft.com**20090706111801
768 Ignore-this: 2aea7b848e00c894761bc4011adaa95d
769 
770 Add a ReadP parser that succeeds at the end of input. Very useful!
771 
772]
773[Don't export CLDouble for GHC; fixes trac #2793
774Ian Lynagh <igloo@earth.li>**20090705155120
775 We never really supported CLDouble (it was a plain old double underneath),
776 and pretending that we do does more harm than good.
777]
778[a byte between 0x80 and 0xBF is illegal immediately (#3341)
779Simon Marlow <marlowsd@gmail.com>**20090702081415
780 Ignore-this: dc19ef59a1a21118d5a7dd38aa2f611c
781]
782[avoid a warning
783Simon Marlow <marlowsd@gmail.com>**20090630084134
784 Ignore-this: c92a45ee216faf01327feae9fe06d6e2
785]
786[Add a wrapper for libiconv.
787Matthias Kilian <kili@outback.escape.de>**20090629183634
788 Ignore-this: 23c6047c0d71b745b495cc223574a47f
789]
790[#include <sys/times.h> if we have it (should fix build problems)
791Simon Marlow <marlowsd@gmail.com>**20090629085351
792 Ignore-this: a35e93b37ca9595c73460243180f4b9d
793]
794[set binary mode for existing FDs on Windows (fixes some GHCi test failures)
795Simon Marlow <marlowsd@gmail.com>**20090626120522
796 Ignore-this: 580cf636e9c77d8427aff6861d089481
797]
798[Move directory-related stuff to the unix package
799Simon Marlow <marlowsd@gmail.com>**20090625120325
800 Ignore-this: b997b3cbce0a46ca87ad825bbdc0a411
801 now that it isn't used on Windows any more.
802]
803[TAG 2009-06-25
804Ian Lynagh <igloo@earth.li>**20090625160056]
805Patch bundle hash:
8061f26f4b5ba6d0f9445046e2c0a5b2607bf6522ab