Ticket #3292: void.dpatch

File void.dpatch, 25.4 KB (added by guest, 4 years ago)

amended version; functor, name change, and more laconic documentation

Line 
1Fri Jan  8 16:44:55 EST 2010  gwern0@gmail.com
2  * Control.Monad: +void :: f a -> f ()
3  See http://hackage.haskell.org/trac/ghc/ticket/3292
4  Turns m a -> m (). Lets one call functions for their side-effects without
5  having to get rid of their return values with '>> return ()'. Very useful
6  in many contexts (parsing, IO etc.); particularly good for 'forkIO' and 'forM_',
7  as they demand return types of 'IO ()' though most interesting IO functions
8  return non-().
9-----BEGIN PGP SIGNED MESSAGE-----
10Hash: SHA512
11
12
13New patches:
14
15[Control.Monad: +void :: f a -> f ()
16gwern0@gmail.com**20100108214455
17 Ignore-this: 4dc07452315f2d1b4941903ff42fc45f
18 See http://hackage.haskell.org/trac/ghc/ticket/3292
19 Turns m a -> m (). Lets one call functions for their side-effects without
20 having to get rid of their return values with '>> return ()'. Very useful
21 in many contexts (parsing, IO etc.); particularly good for 'forkIO' and 'forM_',
22 as they demand return types of 'IO ()' though most interesting IO functions
23 return non-().
24] hunk ./Control/Monad.hs 193
25 forever     :: (Monad m) => m a -> m b
26 forever a   = a >> forever a
27 
28+-- | @'void' value@ discards or ignores the result of evaluation, such as the return value of an 'IO' action.
29+void :: Functor f => f a -> f ()
30+void = fmap (const ())
31+
32 -- -----------------------------------------------------------------------------
33 -- Other monad functions
34 
35
36Context:
37
38[Replace the implementation of mergesort with a 2x faster one.
39Malcolm.Wallace@cs.york.ac.uk**20091224152014
40 See ticket http://hackage.haskell.org/trac/ghc/ticket/2143.
41]
42[Restore previous Data.Typeable.typeOf*Default implementations for non-ghc.
43Malcolm.Wallace@cs.york.ac.uk**20091223142625
44 Not all compilers have ScopedTypeVariables.
45]
46[Add comments about double bounds-checking, and fast paths for rectangular arrays
47simonpj@microsoft.com**20091218165655
48 Ignore-this: ea0849419dc00927aba4bd410b1cc58d
49 
50 See Note [Double bounds-checking of index values] for the details.
51 
52 The fast paths omit the doubled checks for cases we know about
53]
54[Fix Trac #3245: memoising typeOf
55simonpj@microsoft.com**20091218155117
56 Ignore-this: 5a178a7f2222293c5ee0c3c43bd1b625
57 
58 The performance bug in #3245 was caused by computing the typeRep
59 once for each call of typeOf, rather than once for each dictionary
60 contruction.  (Computing TypeReps is reasonably expensive, because
61 of the hash-consing machinery.)
62 
63 This is readily fixed by putting the TypeRep construction outside
64 the lambda.  (Arguably GHC might have worked that out itself,
65 but it involves floating something between a type lambda and a
66 value lambda, which GHC doesn't currently do. If it happens a lot
67 we could fix that.)
68]
69[Mark 'index' as INLINE in GHC.Arr
70simonpj@microsoft.com**20091216170441
71 Ignore-this: a4df9d8acf496c8e0e9ce5a520509a2a
72 
73 This makes indexing much faster. See Trac #1216
74]
75[Comment the remaining orphan instance modules
76Ian Lynagh <igloo@earth.li>**20091206125021]
77[De-orphan Eq/Ord Float/Double
78Ian Lynagh <igloo@earth.li>**20091205181238]
79[Add comments to "OPTIONS_GHC -fno-warn-orphans" pragmas
80Ian Lynagh <igloo@earth.li>**20091205165854]
81[Data.Either.partitionEithers was insufficiently lazy.
82Malcolm.Wallace@cs.york.ac.uk**20091202032807
83 Ignore-this: 77e1b3288f66608c71458d8a91bcbe12
84 Spotted by Daniel Fischer.
85]
86[fix the docs regarding finalizer guarantees
87Simon Marlow <marlowsd@gmail.com>**20091130144409
88 Ignore-this: d1ab9532c74a002b8075ff60febcbe2d
89]
90[x86_64 requires more stack
91Malcolm.Wallace@cs.york.ac.uk**20091201033745]
92[check for size < 0 in mallocForeignPtrBytes and friends (#3514)
93Simon Marlow <marlowsd@gmail.com>**20091125143822
94 Ignore-this: 91077d01da2bbe1dfed5155e8b40da9
95]
96[hGetContents: close the handle properly on error
97Simon Marlow <marlowsd@gmail.com>**20091125123435
98 Ignore-this: bc37ff678acc6e547dc390285e056eb9
99 
100 When hGetContents caught an error it was closing the handle and then
101 throwing the exception, without updating the handle with the new
102 closed state.  This lead to a double-closed, which was the cause of
103 
104 *** glibc detected *** ./Setup: double free or corruption
105 
106 when iconv_close was called twice on the decoder.
107 
108 See http://hackage.haskell.org/trac/hackage/ticket/609
109]
110[Fix arities of mapFB and zipFB
111Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091126232219
112 Ignore-this: c4e14cd0a92622549c86e67237a40865
113]
114[Remove an unnecessary -fno-warn-orphans flag
115Ian Lynagh <igloo@earth.li>**20091126123404]
116[Tweak layout to work with alternative layout rule
117Ian Lynagh <igloo@earth.li>**20091125232349]
118[Tweak layout to be accepted by the alternative layout rul
119Ian Lynagh <igloo@earth.li>**20091125194147]
120[Make sure zipWithFB has arity 2
121Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091125010003
122 Ignore-this: 4cf60c55666f03d22a9f5a6e07f52d36
123 
124 It gets 2 arguments in the "zipWith" rule but its arity was higher and the new
125 inliner didn't inline it sometimes, for instance here:
126 
127 mpp ::  [Double] -> [Double] -> [Double] -> [Double] -> [Double]
128 mpp as bs cs ds = zipWith (*) (zipWith (+) as bs) (zipWith (+) cs ds)
129 
130 This was a regression vs. 6.10.
131]
132[Remove an old comment
133Ian Lynagh <igloo@earth.li>**20091124134647]
134[De-orphan the Eq/Ord Integer instances
135Ian Lynagh <igloo@earth.li>**20091124133639]
136[Whitespace only
137Ian Lynagh <igloo@earth.li>**20091124133421]
138[Derive some more instances, rather than writing them by hand
139Ian Lynagh <igloo@earth.li>**20091124011747]
140[We can now derive Ord ()
141Ian Lynagh <igloo@earth.li>**20091124011416]
142[De-orphan tuple Eq/Ord instances
143Ian Lynagh <igloo@earth.li>**20091123233343]
144[Control.Exception.Base no longer has any orphans
145Ian Lynagh <igloo@earth.li>**20091123224905]
146[De-orphan the MonadFix ST instance for GHC
147Ian Lynagh <igloo@earth.li>**20091123223544]
148[Rearrange the contents of Control.Monad.ST; no functionality changes
149Ian Lynagh <igloo@earth.li>**20091123222702]
150[De-orphan the Eq/Ord [a] instances
151Ian Lynagh <igloo@earth.li>**20091123215635]
152[De-orphan the Eq/Ord Char instances
153Ian Lynagh <igloo@earth.li>**20091123202253]
154[De-orphan the Eq/Ord Bool instances
155Ian Lynagh <igloo@earth.li>**20091123201817]
156[Move Eq/Ord Ordering instances to de-orphan them
157Ian Lynagh <igloo@earth.li>**20091123194310]
158[Remove ffi warnings for nhc98.
159Malcolm.Wallace@cs.york.ac.uk**20091123063743]
160[Second attempt to fix #1185 (forkProcess and -threaded)
161Simon Marlow <marlowsd@gmail.com>**20091111151915
162 Ignore-this: fa5f5d5e4e080d4b612a37244f937f9c
163 
164 Patch 2/2: first patch is to ghc
165 
166 This time without dynamic linker hacks, instead I've expanded the
167 existing rts/Globals.c to cache more CAFs, specifically those in
168 GHC.Conc.  We were already using this trick for signal handlers, I
169 should have realised before.
170 
171 It's still quite unsavoury, but we can do away with rts/Globals.c in
172 the future when we switch to a dynamically-linked GHCi.
173]
174[Rollback #1185 fix
175Simon Marlow <marlowsd@gmail.com>**20091106140629
176 Ignore-this: cd5667e8474e37e01ba26a1984274811
177 
178 rolling back:
179 
180 Tue Nov  3 16:05:40 GMT 2009  Simon Marlow <marlowsd@gmail.com>
181   * Fix #1185: restart the IO manager after fork()
182   
183   This is the libraries/base part of the patch; there is a corresponding
184   patch to GHC itself.
185   
186   The main change is that we now keep track of the IO manager's ThreadId
187   in a top-level MVar, and ensureIOManagerIsRunning checks whether a
188   previous IO manager thread is alive before starting one.  In the child
189   of fork(), we can hence call ensureIOManagerIsRunning to restart the
190   IO manager.
191 
192     M ./GHC/Conc.lhs -46 +44
193 
194 Wed Nov  4 17:49:45 GMT 2009  Ian Lynagh <igloo@earth.li>
195   * Fix the build on Windows
196 
197     M ./GHC/Conc.lhs -6 +4
198]
199[Fix the build on Windows
200Ian Lynagh <igloo@earth.li>**20091104174945]
201[Fix #1185: restart the IO manager after fork()
202Simon Marlow <marlowsd@gmail.com>**20091103160540
203 Ignore-this: 6dc05464f1500104554637f4759738cc
204 
205 This is the libraries/base part of the patch; there is a corresponding
206 patch to GHC itself.
207 
208 The main change is that we now keep track of the IO manager's ThreadId
209 in a top-level MVar, and ensureIOManagerIsRunning checks whether a
210 previous IO manager thread is alive before starting one.  In the child
211 of fork(), we can hence call ensureIOManagerIsRunning to restart the
212 IO manager.
213]
214[improve the documentation for throwErrnoIfRetry
215Simon Marlow <marlowsd@gmail.com>**20091016112404
216 Ignore-this: b77275cacf730e15757946027168f63e
217]
218[Don't inline unpackFoldrCString ever
219simonpj@microsoft.com**20091029135350
220 Ignore-this: 85d672649b1b776efc7e97500b05d4f9
221]
222[Inline more default methods
223simonpj@microsoft.com**20091029135330
224 Ignore-this: 289c44b0afd6d5631c2a4e0664275ca9
225 
226 Namely Monad: (>>)
227        Eq:    (==), (/=)
228        Num:   (-), negate
229        Real:  quot, rem, div, mod, recip, (/), truncate
230        Float: (**), logBase, sqrt, tan, tanh
231]
232[Move error messages out of INLINEd default methods
233simonpj@microsoft.com**20091029135118
234 Ignore-this: 9e35dc947f94827a3529eb53a41575fd
235 
236 No need to duplicate the error generation!
237]
238[Exploit now-working default-method INLINE pragmas for Data.Bits
239simonpj@microsoft.com**20091029135041
240 Ignore-this: 8adf225f31ca7a3181ee087e9e4fe535
241 
242 * Add INLINE pragmas to default methods for class Bits
243 
244 * Remove redundant instance methods elsewhere, now that
245   the default method will do the job
246]
247[Tidy up and comment imports
248simonpj@microsoft.com**20091029134414
249 Ignore-this: bf2be31035de975d8995e988933cc940
250]
251[Inline foldr and (.) when applied to two arguments not three
252simonpj@microsoft.com**20091029134335
253 Ignore-this: fccb6f3e90e15f44cb465814be85ede2
254 
255 The new INLINE story is (by design) arity-sensitive, so we must
256 put fewer argument on the LHS for foldr and (.)
257]
258[dirUtils.c no longer available
259Malcolm.Wallace@cs.york.ac.uk**20091013093833]
260[Make hGetContents throw an exception if an error is encountered
261Simon Marlow <marlowsd@gmail.com>**20091012152955
262 Ignore-this: 9f7a7176193eab25c9daaacd9261f2de
263 
264 Strictly speaking this breaks Haskell 98 compatibility, which requires
265 hGetContents to just end the lazy stream silently if an error is
266 encountered.  However, for a few reasons we think it will make
267 everyone's life a bit easier if we make this change
268 
269  1. Errors will be a lot more common in GHC 6.12.1, in the form
270     of Unicode decoding errors.
271 
272  2. When Haskell 98 was designed, we didn't know how to throw
273     exceptions from inside lazy I/O, but now we do.
274 
275  3. If anyone is actually relying on the previous behaviour, their
276     code is arguably broken.
277]
278[Re-instate System.Console.Getopt for nhc98 builds.
279Malcolm.Wallace@cs.york.ac.uk**20091013092843
280 Although it was split out of base a while back, that change was
281 reverted for ghc soon afterwards, but nhc98 never noticed.
282]
283[Roll back "Another instance of nhc98's strange import semantics."
284Ian Lynagh <igloo@earth.li>**20091009185618
285 Fri Oct  9 14:50:51 BST 2009  Malcolm.Wallace@cs.york.ac.uk
286 GHC (correctly) warns about the unused import, which breaks the validate
287 build.
288]
289[Roll back "Cope with nhc98's (occasionally-strange) import semantics"
290Ian Lynagh <igloo@earth.li>**20091009184704
291 Fri Oct  9 14:43:51 BST 2009  Malcolm.Wallace@cs.york.ac.uk
292 GHC (correctly) warns about the unused import, which breaks the validate
293 build.
294]
295[It seems that nhc98 needs defaulting in Data.Fixed.
296Malcolm.Wallace@cs.york.ac.uk**20091009135242]
297[Another instance of nhc98's strange import semantics.
298Malcolm.Wallace@cs.york.ac.uk**20091009135051]
299[Make Data.Functor compatible with non-GHC compilers.
300Malcolm.Wallace@cs.york.ac.uk**20091009134821]
301[Cope with nhc98's (occasionally-strange) import semantics.
302Malcolm.Wallace@cs.york.ac.uk**20091009134351]
303[Fix gratuitous breakage of nhc98 in System.IO.
304Malcolm.Wallace@cs.york.ac.uk**20091009134001]
305[Fix gratuitous breakage of nhc98 in Control.Exception.Base.
306Malcolm.Wallace@cs.york.ac.uk**20091009133615]
307[Fix gratuitous breakage of non-GHC in Data.Fixed.
308Malcolm.Wallace@cs.york.ac.uk**20091009133330]
309[Fix gratuitous breakage for non-GHC in Data.Bits.
310Malcolm.Wallace@cs.york.ac.uk**20091009133257]
311[Use UTF-32LE instead of UTF32LE
312Simon Marlow <marlowsd@gmail.com>**20091006100207
313 Ignore-this: 7f881e36543d250ef848c9f60d67655a
314 The latter is not recognised by some iconv implementations.
315]
316[Strip any Byte Order Mark (BOM) from the front of decoded streams.
317Ben.Lippmeier@anu.edu.au*-20090930084229
318 Ignore-this: d0d0c3ae87b31d71ef1627c8e1786445
319 When decoding to UTF-32, Solaris iconv inserts a BOM at the front
320 of the stream, but Linux iconv doesn't.
321]
322[use UTF32BE/UTF32LE instead of UCS-4/UCS-4LE
323Simon Marlow <marlowsd@gmail.com>**20091005101554
324 Ignore-this: 2aef5e9bec421e714953b7aa1bdfc1b3
325]
326[Strip any Byte Order Mark (BOM) from the front of decoded streams.
327Ben.Lippmeier@anu.edu.au**20090930084229
328 Ignore-this: d0d0c3ae87b31d71ef1627c8e1786445
329 When decoding to UTF-32, Solaris iconv inserts a BOM at the front
330 of the stream, but Linux iconv doesn't.
331]
332[Add traceEvent :: String -> IO ()
333Simon Marlow <marlowsd@gmail.com>**20090925141257
334 Ignore-this: 8b1888bbf9682ffba13f815b6000e4b1
335 For emitting an event via the RTS tracing framework
336]
337[Fix the error message when flushing the read buffer of a non-seekable Handle
338Simon Marlow <marlowsd@gmail.com>**20090923090536
339 Ignore-this: 4342026df93759d99480f4e13f80a492
340]
341[Fix #3534: No need to flush the byte buffer when setting binary mode
342Simon Marlow <marlowsd@gmail.com>**20090923090445
343 Ignore-this: 625817ed7ae2c12291eb993a99dc640a
344]
345[Use let !y = x in .. x .. instead of seq in $! and evaluate (#2273)
346Simon Marlow <marlowsd@gmail.com>**20090916140454]
347[make some Applicative functions into methods, and split off Data.Functor (proposal #3335)
348Ross Paterson <ross@soi.city.ac.uk>**20090915173109
349 Ignore-this: a0cff4de6dfdbcbd56a66101bc4855a9
350 
351 The following functions
352 
353     (<$) :: Functor f => a -> f b -> f a
354     (*>) :: Applicative f => f a -> f b -> f b
355     (<*) :: Applicative f => f a -> f b -> f a
356     some :: Alternative f => f a -> f [a]
357     many :: Alternative f => f a -> f [a]
358 
359 are moved into the corresponding classes, with the existing implementations
360 as default definitions.  This gives people creating instances the option of
361 defining specialized implementations of these functions, though they should
362 be equivalent to the default definitions.
363 
364 Although (<$) is now a method of the Functor class, it is hidden in the
365 re-export by the Prelude, Control.Monad and Monad.  The new module
366 Data.Functor exposes the full class, plus the function (<$>).  These are
367 also re-exported by Control.Applicative.
368]
369[On Windows, use the console code page for text file encoding/decoding.
370Judah Jacobson <judah.jacobson@gmail.com>**20090913022126
371 Ignore-this: 86c2f2db8ef92b751599795d3195187b
372 
373 We keep all of the code page tables in the module
374 GHC.IO.Encoding.CodePage.Table.  That file was generated automatically
375 by running codepages/MakeTable.hs; more details are in the comments at the
376 start of that script.
377 
378 Storing the lookup tables adds about 40KB to each statically linked executable;
379 this only increases the size of a "hello world" program by about 7%.
380 
381 Currently we do not support double-byte encodings (Chinese/Japanese/Korean), since
382 including those codepages would increase the table size to 400KB.  It will be
383 straightforward to implement them once the work on library DLLs is finished.
384]
385[Fix "init" docs: the input list need not be finite. Fixes trac #3465
386Ian Lynagh <igloo@earth.li>**20090911210437]
387[Bump base version to 4.2.0.0
388Ian Lynagh <igloo@earth.li>**20090911153913]
389[Address #3310
390Simon Marlow <marlowsd@gmail.com>**20090830152850
391 Ignore-this: 40c7f7c171ee299a83092fd360a952b7
392 
393  - Rename BlockedOnDeadMVar   -> BlockedIndefinitelyOnMVar
394  - Rename BlockedIndefinitely -> BlockedIndefinitelyOnSTM
395  - instance Show BlockedIndefinitelyOnMVar is now
396      "blocked indefinitely in an MVar operation"
397  - instance Show BlockedIndefinitelyOnSTM is now
398      "blocked indefinitely in an STM transaction"
399 
400 clients using Control.OldException will be unaffected (the new
401 exceptions are mapped to the old names).  However, for base4-compat
402 we'll need to make a version of catch/try that does a similar
403 mapping.
404]
405[Fix unicode conversion for MSB architectures
406Ben.Lippmeier@anu.edu.au**20090830130028
407 This fixes the SPARC/Solaris build.
408]
409[Fix #3441: detect errors in partial sequences
410Simon Marlow <marlowsd@gmail.com>**20090830075909
411 Ignore-this: d12a75d95e0cae5eb1555266810ec281
412]
413[Fix hWaitForInput
414Simon Marlow <marlowsd@gmail.com>**20090827152116
415 Ignore-this: 2550e911f1a4d4357a5aa8d1764238ce
416 It was erroneously waiting when there were bytes to decode waiting in
417 the byte buffer.
418]
419[fix debugging code
420Simon Marlow <marlowsd@gmail.com>**20090827150628
421 Ignore-this: e1c82fdc19a22e247cd69ff6fa11921d
422]
423[Allow for configurable iconv include and library locations.
424Matthias Kilian <kili@outback.escape.de>**20090826154406
425 Ignore-this: be95fab611a5534cf184b508964ed498
426 This should help to fix the build on OpenBSD.
427]
428[typo in comment
429Simon Marlow <marlowsd@gmail.com>**20090826085252
430 Ignore-this: 1903ee0f354157a6ed3871c100f6b1b9
431]
432[un-hide some modules from the Haddock docs
433Simon Marlow <marlowsd@gmail.com>**20090825152457
434 Ignore-this: dce6606f93cf977fb24ebe99082dfa62
435]
436[Apply fix for #1548, from squadette@gmail.com
437Simon Marlow <marlowsd@gmail.com>**20090819120700
438 Ignore-this: 31c237c46a6445f588ed4b8c51bb6231
439]
440[improvements to Data.Fixed: instances for Typeable and Data, more predefined types
441Ashley Yakeley <ashley@semantic.org>**20090812055058
442 Ignore-this: feeece36d5632f02a05d137d2a39ab78
443]
444[Fix "Cabal check" warnings
445Ian Lynagh <igloo@earth.li>**20090811215856]
446[Add a GHC.Constants module; fixes trac #3094
447Ian Lynagh <igloo@earth.li>**20090809183252]
448[Apply proposal #3393
449Ian Lynagh <igloo@earth.li>**20090809134717
450 Add openTempFileWithDefaultPermissions and
451 openBinaryTempFileWithDefaultPermissions.
452]
453[Add some more C wrappers; patch from Krister Walfridsson
454Ian Lynagh <igloo@earth.li>**20090807200631
455 Fixes 21 testsuite errors on NetBSD 5.99.
456]
457[Fixing configure for autoconf 2.64
458Alexander Dunlap <alexander.dunlap@gmail.com>**20090805060748
459 Ignore-this: 992ab91ae3d68c12dbb265776e33e243
460]
461[add INLINE toList
462Ross Paterson <ross@soi.city.ac.uk>**20090806142853
463 Ignore-this: aba16aabb17d5dca44f15d188945680e
464 
465 In anticipation of the fixing of #2353.
466]
467[fix a copyright
468Simon Marlow <marlowsd@gmail.com>**20090805134045
469 Ignore-this: b0ffbdd38fbba121e8bcba37c4082a60
470]
471[Tweak the BufferedIO class to enable a memory-mapped file implementation
472Simon Marlow <marlowsd@gmail.com>**20090805134036
473 Ignore-this: ec67d7a0a6d977438deaa342503f77e0
474 We have to eliminate the assumption that an empty write buffer can be
475 constructed by setting the buffer pointers to zero: this isn't
476 necessarily the case when the buffer corresponds to a memory-mapped
477 file, or other in-memory device implementation.
478]
479[Deprecate Control.OldException
480Ian Lynagh <igloo@earth.li>**20090804143910]
481[Windows build fix, following RTS tidyup
482Simon Marlow <marlowsd@gmail.com>**20090803131121
483 Ignore-this: ce862fb91c2b234211a8757f98690778
484]
485[Updates to follow the RTS tidyup
486Simon Marlow <marlowsd@gmail.com>**20090801220743
487 Ignore-this: 6e92412df93a66c12d75344053d5634
488 C functions like isDoubleNaN moved here (primFloat.c)
489]
490[Add integer-simple as a build option
491Ian Lynagh <igloo@earth.li>**20090722013151]
492[Use shift[LR]Integer in the Bits Integer instance
493Ian Lynagh <igloo@earth.li>**20090721222440]
494[depend directly on integer-gmp, rather than indirecting through integer
495Ian Lynagh <igloo@earth.li>**20090721185228]
496[Move the instances of Functor and Monad IO to GHC.Base, to avoid orphans
497Simon Marlow <marlowsd@gmail.com>**20090722102130
498 Ignore-this: a7d85ac0025d559674249de0108dbcf4
499]
500[move "instance Exception Dynamic" so it isn't an orphan
501Simon Marlow <marlowsd@gmail.com>**20090721093854
502 Ignore-this: 5ede91ecfec2112c91b699d4de87cd02
503]
504[Improve the index checking for array accesses; fixes #2120 #2669
505Ian Lynagh <igloo@earth.li>**20090719153228
506 As well as checking that offset we are reading is actually inside the
507 array, we now also check that it is "in range" as defined by the Ix
508 instance. This fixes confusing behaviour (#2120) and improves some error
509 messages (#2669).
510]
511[Make chr say what its argument was, if it's a bad argument
512Ian Lynagh <igloo@earth.li>**20090718151049]
513[remove unused warning
514Simon Marlow <marlowsd@gmail.com>**20090715124416
515 Ignore-this: 31f613654089d0f4a44363946087b41e
516]
517[warning fix: -fno-implicit-prelude -> -XNoImplicitPrelude
518Simon Marlow <marlowsd@gmail.com>**20090715122839
519 Ignore-this: dc8957249731d5bcb71c01899e5adf2b
520]
521[Add hGetEncoding :: Handle -> IO (Maybe TextEncoding)
522Simon Marlow <marlowsd@gmail.com>**20090715122519
523 Ignore-this: 14c3eff996db062da1199739781e4708
524 as suggested during the discussion on the libraries list
525]
526[Add more documentation to mkTextEncoding
527Simon Marlow <marlowsd@gmail.com>**20090715122414
528 Ignore-this: 97253b2624267df3a246a18121e8ea81
529 noting that "//IGNORE" and "//TRANSLIT" suffixes can be used with GNU
530 iconv.
531]
532[Add the utf8_bom codec
533Simon Marlow <marlowsd@gmail.com>**20090715122257
534 Ignore-this: 1c9396cd805201fe873a39382ced79c7
535 as suggested during the discussion on the libraries list.
536]
537[Export Unicode and newline functionality from System.IO; update Haddock docs
538Simon Marlow <marlowsd@gmail.com>**20090713113104
539 Ignore-this: c3f017a555335aa55d106253393f72e2
540]
541[add a comment about the non-workingness of CHARBUF_UTF16
542Simon Marlow <marlowsd@gmail.com>**20090707124406
543 Ignore-this: 98d00411b68d688b3b4cffc9507b1f35
544]
545[Fix build on Windows
546Ian Lynagh <igloo@earth.li>**20090711004351]
547[Fix some "warn-unused-do-bind" warnings where we want to ignore the value
548Ian Lynagh <igloo@earth.li>**20090710204513]
549[Use throwErrnoIfMinus1_ when calling getrusage
550Ian Lynagh <igloo@earth.li>**20090710204221]
551[Remove an unused import
552Ian Lynagh <igloo@earth.li>**20090710153345]
553[reportStackOverflow now returns IO ()
554Ian Lynagh <igloo@earth.li>**20090710153257
555 It used to do "return undefined" to return IO a.
556]
557[GHC.Conc.reportError now returns IO ()
558Ian Lynagh <igloo@earth.li>**20090710152646
559 It used to return IO a, by "return undefined".
560]
561[Fix some "warn-unused-do-bind" warnings where we want to ignore the value
562Ian Lynagh <igloo@earth.li>**20090710152526]
563[Minor SampleVar refactoring
564Ian Lynagh <igloo@earth.li>**20090710151438]
565[Fix "warn-unused-do-bind" warnings in GHC/IO/Handle/Text.hs
566Ian Lynagh <igloo@earth.li>**20090710122905]
567[Fix some "warn-unused-do-bind" warnings where we just want to ignore the result
568Ian Lynagh <igloo@earth.li>**20090710005638]
569[Use the result of writeCharBuf in GHC/IO/Encoding/Latin1.hs too
570Ian Lynagh <igloo@earth.li>**20090710004032]
571[Minor code tidyups in GHC.Conc
572Ian Lynagh <igloo@earth.li>**20090710003801]
573[Fix "warn-unused-do-bind" warning in GHC.Conc
574Ian Lynagh <igloo@earth.li>**20090710003530
575 If we fail to communicate with the IO manager then we print a warning
576 using debugErrLn from the ghc-prim package.
577]
578[Fix "warn-unused-do-bind" warnings in System.Posix.Internals
579Ian Lynagh <igloo@earth.li>**20090709164546]
580[Fix "warn-unused-do-bind" warnings where we really do want to ignore the result
581Ian Lynagh <igloo@earth.li>**20090709163912]
582[Add back imports needed on Windows
583Ian Lynagh <igloo@earth.li>**20090707181924]
584[Remove unused imports
585Ian Lynagh <igloo@earth.li>**20090707115810]
586[Remove unused imports from base
587simonpj@microsoft.com**20090706111842
588 Ignore-this: f9b5f353e3bb820f787c56d615b28765
589 
590 These unused imports are detected by the new unused-import code
591 
592]
593[Use the result of writeCharBuf
594Simon Marlow <marlowsd@gmail.com>**20090706133303
595 Ignore-this: 52288dd559bf4c4f313df6197091d935
596   
597 This only makes a difference when CHARBUF_UTF16 is in use, which it
598 normally isn't.  I suspect CHARBUF_UTF16 doesn't currently work for
599 other reasons (CHARBUF_UTF16 was an experiment before I wrote the
600 GHC.IO.Encoding.UTF* codecs), but this patch at least makes it
601 slightly closer to working.
602]
603[Remove some cruft from Data.HashTable
604Ian Lynagh <igloo@earth.li>**20090706181630]
605[Add 'eof' to Text.ParserCombinators.ReadP
606simonpj@microsoft.com**20090706111801
607 Ignore-this: 2aea7b848e00c894761bc4011adaa95d
608 
609 Add a ReadP parser that succeeds at the end of input. Very useful!
610 
611]
612[Don't export CLDouble for GHC; fixes trac #2793
613Ian Lynagh <igloo@earth.li>**20090705155120
614 We never really supported CLDouble (it was a plain old double underneath),
615 and pretending that we do does more harm than good.
616]
617[a byte between 0x80 and 0xBF is illegal immediately (#3341)
618Simon Marlow <marlowsd@gmail.com>**20090702081415
619 Ignore-this: dc19ef59a1a21118d5a7dd38aa2f611c
620]
621[avoid a warning
622Simon Marlow <marlowsd@gmail.com>**20090630084134
623 Ignore-this: c92a45ee216faf01327feae9fe06d6e2
624]
625[Add a wrapper for libiconv.
626Matthias Kilian <kili@outback.escape.de>**20090629183634
627 Ignore-this: 23c6047c0d71b745b495cc223574a47f
628]
629[#include <sys/times.h> if we have it (should fix build problems)
630Simon Marlow <marlowsd@gmail.com>**20090629085351
631 Ignore-this: a35e93b37ca9595c73460243180f4b9d
632]
633[set binary mode for existing FDs on Windows (fixes some GHCi test failures)
634Simon Marlow <marlowsd@gmail.com>**20090626120522
635 Ignore-this: 580cf636e9c77d8427aff6861d089481
636]
637[Move directory-related stuff to the unix package
638Simon Marlow <marlowsd@gmail.com>**20090625120325
639 Ignore-this: b997b3cbce0a46ca87ad825bbdc0a411
640 now that it isn't used on Windows any more.
641]
642[TAG 2009-06-25
643Ian Lynagh <igloo@earth.li>**20090625160056]
644Patch bundle hash:
645e934807d5e23dd06c0f5be2a213b0806d2fd4810
646-----BEGIN PGP SIGNATURE-----
647Version: GnuPG v1.4.9 (GNU/Linux)
648
649iEYEAREKAAYFAktHqD4ACgkQvpDo5Pfl1oIpNQCfeoarKNVwLf3Q/TQM9YOc5eun
650Qz8An3z+wwgurnntiZs2/aOM0wODJGBP
651=SrNE
652-----END PGP SIGNATURE-----