Ticket #4095: either.patch

File either.patch, 31.6 KB (added by ross, 3 years ago)

darcs patch

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