| 1 | Thu Jul 22 14:07:26 PDT 2010 |
|---|
| 2 | * Allow Data.HashTable construction with user-supplied size |
|---|
| 3 | |
|---|
| 4 | This avoids some resizing for users who know they will be inserting a |
|---|
| 5 | lot of data. |
|---|
| 6 | |
|---|
| 7 | http://hackage.haskell.org/trac/ghc/ticket/4193 |
|---|
| 8 | |
|---|
| 9 | New patches: |
|---|
| 10 | |
|---|
| 11 | [Allow Data.HashTable construction with user-supplied size |
|---|
| 12 | **20100722210726 |
|---|
| 13 | Ignore-this: bd54880bb16a106a992f03b040dc4164 |
|---|
| 14 | |
|---|
| 15 | This avoids some resizing for users who know they will be inserting a |
|---|
| 16 | lot of data. |
|---|
| 17 | |
|---|
| 18 | http://hackage.haskell.org/trac/ghc/ticket/4193 |
|---|
| 19 | ] { |
|---|
| 20 | hunk ./Data/HashTable.hs 22 |
|---|
| 21 | |
|---|
| 22 | module Data.HashTable ( |
|---|
| 23 | -- * Basic hash table operations |
|---|
| 24 | - HashTable, new, insert, delete, lookup, update, |
|---|
| 25 | + HashTable, new, newHint, insert, delete, lookup, update, |
|---|
| 26 | -- * Converting to and from lists |
|---|
| 27 | fromList, toList, |
|---|
| 28 | -- * Hash functions |
|---|
| 29 | hunk ./Data/HashTable.hs 286 |
|---|
| 30 | table <- newIORef ht |
|---|
| 31 | return (HashTable { tab=table, hash_fn=hash, cmp=cmpr }) |
|---|
| 32 | |
|---|
| 33 | +{- |
|---|
| 34 | + bitTwiddleSameAs takes as arguments positive Int32s less than maxBound/2 and |
|---|
| 35 | + returns the smallest power of 2 that is greater than or equal to the |
|---|
| 36 | + argument. |
|---|
| 37 | + http://graphics.stanford.edu/~seander/bithacks.html#RoundUpPowerOf2 |
|---|
| 38 | +-} |
|---|
| 39 | +bitTwiddleSameAs :: Int32 -> Int32 |
|---|
| 40 | +bitTwiddleSameAs v0 = |
|---|
| 41 | + let v1 = v0-1 |
|---|
| 42 | + v2 = v1 .|. (v1`shiftR`1) |
|---|
| 43 | + v3 = v2 .|. (v2`shiftR`2) |
|---|
| 44 | + v4 = v3 .|. (v3`shiftR`4) |
|---|
| 45 | + v5 = v4 .|. (v4`shiftR`8) |
|---|
| 46 | + v6 = v5 .|. (v5`shiftR`16) |
|---|
| 47 | + in v6+1 |
|---|
| 48 | + |
|---|
| 49 | +{- |
|---|
| 50 | + powerOver takes as arguments Int32s and returns the smallest power of 2 |
|---|
| 51 | + that is greater than or equal to the argument if that power of 2 is |
|---|
| 52 | + within [tABLE_MIN,tABLE_MAX] |
|---|
| 53 | +-} |
|---|
| 54 | +powerOver :: Int32 -> Int32 |
|---|
| 55 | +powerOver n = |
|---|
| 56 | + if n <= tABLE_MIN |
|---|
| 57 | + then tABLE_MIN |
|---|
| 58 | + else if n >= tABLE_MAX |
|---|
| 59 | + then tABLE_MAX |
|---|
| 60 | + else bitTwiddleSameAs n |
|---|
| 61 | + |
|---|
| 62 | +-- | Creates a new hash table with the given minimum size. |
|---|
| 63 | +newHint |
|---|
| 64 | + :: (key -> key -> Bool) -- ^ @eq@: An equality comparison on keys |
|---|
| 65 | + -> (key -> Int32) -- ^ @hash@: A hash function on keys |
|---|
| 66 | + -> Int -- ^ @minSize@: initial table size |
|---|
| 67 | + -> IO (HashTable key val) -- ^ Returns: an empty hash table |
|---|
| 68 | + |
|---|
| 69 | +newHint cmpr hash minSize = do |
|---|
| 70 | + recordNew |
|---|
| 71 | + -- make a new hash table with a single, empty, segment |
|---|
| 72 | + let mask = powerOver $ fromIntegral minSize |
|---|
| 73 | + bkts <- newMutArray (0,mask) [] |
|---|
| 74 | + |
|---|
| 75 | + let |
|---|
| 76 | + kcnt = 0 |
|---|
| 77 | + ht = HT { buckets=bkts, kcount=kcnt, bmask=mask } |
|---|
| 78 | + |
|---|
| 79 | + table <- newIORef ht |
|---|
| 80 | + return (HashTable { tab=table, hash_fn=hash, cmp=cmpr }) |
|---|
| 81 | + |
|---|
| 82 | -- ----------------------------------------------------------------------------- |
|---|
| 83 | -- Inserting a key\/value pair into the hash table |
|---|
| 84 | |
|---|
| 85 | } |
|---|
| 86 | |
|---|
| 87 | Context: |
|---|
| 88 | |
|---|
| 89 | [add module intro from Haskell 2010 |
|---|
| 90 | Simon Marlow <marlowsd@gmail.com>**20100714115853 |
|---|
| 91 | Ignore-this: 59b5a07507a059ccccdff2dfb6490a27 |
|---|
| 92 | ] |
|---|
| 93 | [document exception-overriding behaviour in withFile |
|---|
| 94 | Simon Marlow <marlowsd@gmail.com>**20100714104107 |
|---|
| 95 | Ignore-this: f99e641ea2f46d872cb7420a62fa50dc |
|---|
| 96 | ] |
|---|
| 97 | [doc: use "finalizer" consistently |
|---|
| 98 | Simon Marlow <marlowsd@gmail.com>**20100714103649 |
|---|
| 99 | Ignore-this: bdfea40f31dc5045fdbc6e12266dda93 |
|---|
| 100 | ] |
|---|
| 101 | [clarify meaning of bit |
|---|
| 102 | Simon Marlow <marlowsd@gmail.com>**20100714103310 |
|---|
| 103 | Ignore-this: 521b031f1e83ef34ca03d9aa9273df8a |
|---|
| 104 | ] |
|---|
| 105 | [note shortcutting behaviour of any/all/elem |
|---|
| 106 | Simon Marlow <marlowsd@gmail.com>**20100714103304 |
|---|
| 107 | Ignore-this: 1605f362ba0712ad1cea1309636f3ea1 |
|---|
| 108 | ] |
|---|
| 109 | [add cast{C,U}CharToChar and castCharTo{C,U}Char, from Haskell 2010 |
|---|
| 110 | Simon Marlow <marlowsd@gmail.com>**20100713132515 |
|---|
| 111 | Ignore-this: 9b1da827016c7b08668078b45964e9de |
|---|
| 112 | ] |
|---|
| 113 | [mention that IntPtr and WordPtr can be marshalled to/from intptr_t and uintptr_t |
|---|
| 114 | Simon Marlow <marlowsd@gmail.com>**20100713132403 |
|---|
| 115 | Ignore-this: dcc112a72746ba117a84fa29e71b6800 |
|---|
| 116 | ] |
|---|
| 117 | [Partial fix for Trac #4136 |
|---|
| 118 | simonpj@microsoft.com**20100707135725 |
|---|
| 119 | Ignore-this: 9548eeb3187d9779d4e5c858a0f35354 |
|---|
| 120 | |
|---|
| 121 | In 'choose' (which is a library function designed specifically |
|---|
| 122 | to support derived instances of Read), we must match Symbol |
|---|
| 123 | as well as Ident, for nullary constructors that (wierdly) are |
|---|
| 124 | symbols. |
|---|
| 125 | ] |
|---|
| 126 | [Fix typo in documentation |
|---|
| 127 | Simon Hengel <simon.hengel@wiktory.org>**20100711141648 |
|---|
| 128 | Ignore-this: c052dd8a681832ef598a323ad55eae3a |
|---|
| 129 | ] |
|---|
| 130 | [Remove duplicated word in documentation |
|---|
| 131 | Simon Hengel <simon.hengel@wiktory.org>**20100711072703 |
|---|
| 132 | Ignore-this: fb3732dc57be55f14168792f923433 |
|---|
| 133 | ] |
|---|
| 134 | [Allow nhc98 to cope with recent changes to Control.Exception. |
|---|
| 135 | Malcolm.Wallace@me.com**20100710170940] |
|---|
| 136 | [ New asynchronous exception control API (base parts) |
|---|
| 137 | Simon Marlow <marlowsd@gmail.com>**20100708152735 |
|---|
| 138 | Ignore-this: 71a4811804f04259f1fe739f8863beaf |
|---|
| 139 | |
|---|
| 140 | As discussed on the libraries/haskell-cafe mailing lists |
|---|
| 141 | http://www.haskell.org/pipermail/libraries/2010-April/013420.html |
|---|
| 142 | |
|---|
| 143 | This is a replacement for block/unblock in the asychronous exceptions |
|---|
| 144 | API to fix a problem whereby a function could unblock asynchronous |
|---|
| 145 | exceptions even if called within a blocked context. |
|---|
| 146 | |
|---|
| 147 | The new terminology is "mask" rather than "block" (to avoid confusion |
|---|
| 148 | due to overloaded meanings of the latter). |
|---|
| 149 | |
|---|
| 150 | The following is the new API; the old API is deprecated but still |
|---|
| 151 | available for the time being. |
|---|
| 152 | |
|---|
| 153 | Control.Exception |
|---|
| 154 | ----------------- |
|---|
| 155 | |
|---|
| 156 | mask :: ((forall a. IO a -> IO a) -> IO b) -> IO b |
|---|
| 157 | mask_ :: IO a -> IO a |
|---|
| 158 | |
|---|
| 159 | uninterruptibleMask :: ((forall a. IO a -> IO a) -> IO b) -> IO b |
|---|
| 160 | uninterruptibleMask_ :: IO a -> IO |
|---|
| 161 | |
|---|
| 162 | getMaskingState :: IO MaskingState |
|---|
| 163 | |
|---|
| 164 | data MaskingState |
|---|
| 165 | = Unmasked |
|---|
| 166 | | MaskedInterruptible |
|---|
| 167 | | MaskedUninterruptible |
|---|
| 168 | |
|---|
| 169 | |
|---|
| 170 | Control.Concurrent |
|---|
| 171 | ------------------ |
|---|
| 172 | |
|---|
| 173 | forkIOUnmasked :: IO () -> IO ThreadId |
|---|
| 174 | ] |
|---|
| 175 | [Async-exception safety, and avoid space leaks |
|---|
| 176 | Simon Marlow <marlowsd@gmail.com>**20100708145819 |
|---|
| 177 | Ignore-this: dbfd0e61551e9e7b4fc1c6fe9b9a83de |
|---|
| 178 | Patch submitted by: Bas van Dijk <v.dijk.bas@gmail.com> |
|---|
| 179 | Modified slightly by me to remove non-functional changes. |
|---|
| 180 | ] |
|---|
| 181 | [Async-exception safety, and avoid space leaks |
|---|
| 182 | Simon Marlow <marlowsd@gmail.com>**20100708103154 |
|---|
| 183 | Ignore-this: 190c3ac8f6633231624da8cf1316588 |
|---|
| 184 | Patch submitted by: Bas van Dijk <v.dijk.bas@gmail.com> |
|---|
| 185 | Modified slightly by me to remove non-functional changes. |
|---|
| 186 | ] |
|---|
| 187 | [Fix a few places where we forgot to close the text codecs (#4029) |
|---|
| 188 | Simon Marlow <marlowsd@gmail.com>**20100702130210 |
|---|
| 189 | Ignore-this: 2e81a4b4cb343181cef34b0f9e2ded47 |
|---|
| 190 | Each time you invoke :load in GHCi it resets the CAFs, including |
|---|
| 191 | stdin/stdout/stderr, and each of these was allocating a new iconv_t. |
|---|
| 192 | ] |
|---|
| 193 | [remove docs from Monad that belonged on the instance for MonadPlus IO |
|---|
| 194 | Simon Marlow <marlowsd@gmail.com>**20100701154203 |
|---|
| 195 | Ignore-this: 59df02542a7ac9421552a2155d848d27 |
|---|
| 196 | ] |
|---|
| 197 | [docs: unqualify Prelude.IO |
|---|
| 198 | Simon Marlow <marlowsd@gmail.com>**20100701153817 |
|---|
| 199 | Ignore-this: 73b0202876c827e7a5b4a5ce74e724c4 |
|---|
| 200 | ] |
|---|
| 201 | [unqualify Float and Double |
|---|
| 202 | Simon Marlow <marlowsd@gmail.com>**20100701142727 |
|---|
| 203 | Ignore-this: cbe89d31a00bf49996a33933324fca17 |
|---|
| 204 | ] |
|---|
| 205 | [extract information about Data.Time from docs for CTime |
|---|
| 206 | Simon Marlow <marlowsd@gmail.com>**20100701142415 |
|---|
| 207 | Ignore-this: c48c9609b8d36e43e033a7bea81d6f17 |
|---|
| 208 | ] |
|---|
| 209 | [doc typo |
|---|
| 210 | Simon Marlow <marlowsd@gmail.com>**20100701142354 |
|---|
| 211 | Ignore-this: 17a1fd703831c888975ff63fbfa3a9b2 |
|---|
| 212 | ] |
|---|
| 213 | [peekArray docs: remove mentions of "this version" and "previous version" |
|---|
| 214 | Simon Marlow <marlowsd@gmail.com>**20100701125333 |
|---|
| 215 | Ignore-this: 39a744874258670bd935ba9e38390939 |
|---|
| 216 | ] |
|---|
| 217 | [doc typo |
|---|
| 218 | Simon Marlow <marlowsd@gmail.com>**20100701124154 |
|---|
| 219 | Ignore-this: 98f5c286e38c2c34c96b05d5e8bc5ad9 |
|---|
| 220 | ] |
|---|
| 221 | [doc typo |
|---|
| 222 | Simon Marlow <marlowsd@gmail.com>**20100701124128 |
|---|
| 223 | Ignore-this: 10a4314ec7aed336701fc616fb574ebc |
|---|
| 224 | ] |
|---|
| 225 | [doc typo |
|---|
| 226 | Simon Marlow <marlowsd@gmail.com>**20100701123715 |
|---|
| 227 | Ignore-this: c4909a7bf7163460ee5d32f58812041e |
|---|
| 228 | ] |
|---|
| 229 | [doc wibble: Haskell 98 I/O Error -> 'IOError' |
|---|
| 230 | Simon Marlow <marlowsd@gmail.com>**20100701123612 |
|---|
| 231 | Ignore-this: bf373df781acbc575e4ffe3b7e6059ae |
|---|
| 232 | ] |
|---|
| 233 | [doc typo |
|---|
| 234 | Simon Marlow <marlowsd@gmail.com>**20100701123014 |
|---|
| 235 | Ignore-this: 16aaccae48ef3101adf78ea5b0d5a8fd |
|---|
| 236 | ] |
|---|
| 237 | [Haddock hacks to fix whitespace consistency |
|---|
| 238 | Simon Marlow <marlowsd@gmail.com>**20100701121631 |
|---|
| 239 | Ignore-this: 61c58dec52a31fd2d3f331a87d2f903f |
|---|
| 240 | ] |
|---|
| 241 | [use '==' consistently rather than '->' in examples |
|---|
| 242 | Simon Marlow <marlowsd@gmail.com>**20100701121616 |
|---|
| 243 | Ignore-this: 472b0a05a85d34d9712186040e1636d9 |
|---|
| 244 | ] |
|---|
| 245 | [doc wibble: remove confusing mention of "Prelude" |
|---|
| 246 | Simon Marlow <marlowsd@gmail.com>**20100701113308 |
|---|
| 247 | Ignore-this: 232283d0096d01cd45e9b3c5c1e63a6d |
|---|
| 248 | ] |
|---|
| 249 | [doc wibble: nonstrict -> non-strict |
|---|
| 250 | Simon Marlow <marlowsd@gmail.com>**20100701113253 |
|---|
| 251 | Ignore-this: 4264f0ab23a0835fc13c6e8601d6b743 |
|---|
| 252 | ] |
|---|
| 253 | [doc whitespace |
|---|
| 254 | Simon Marlow <marlowsd@gmail.com>**20100701112242 |
|---|
| 255 | Ignore-this: 777a95b1d1140c61d3ab95d5eb5809e7 |
|---|
| 256 | ] |
|---|
| 257 | [move the doc for 'Char' to its new home in ghc-prim:GHC.Types |
|---|
| 258 | Simon Marlow <marlowsd@gmail.com>**20100629134150 |
|---|
| 259 | Ignore-this: 7687db0077a29498349bfb4b44983985 |
|---|
| 260 | ] |
|---|
| 261 | [doc wibble |
|---|
| 262 | Simon Marlow <marlowsd@gmail.com>**20100629122608 |
|---|
| 263 | Ignore-this: 9a909e5d015332dc445bd9592e6e386d |
|---|
| 264 | ] |
|---|
| 265 | [doc updates in System.IO |
|---|
| 266 | Simon Marlow <marlowsd@gmail.com>**20100629122118 |
|---|
| 267 | Ignore-this: 2257ec1cc4cdb8b7804cfa1f3cf32753 |
|---|
| 268 | ] |
|---|
| 269 | [doc wibble |
|---|
| 270 | Simon Marlow <marlowsd@gmail.com>**20100625134858 |
|---|
| 271 | Ignore-this: 64c50f29df6c389273b818918fe7033a |
|---|
| 272 | ] |
|---|
| 273 | [doc wibbles |
|---|
| 274 | Simon Marlow <marlowsd@gmail.com>**20100624154614 |
|---|
| 275 | Ignore-this: b364aad53beea6e741fee2824459b6e8 |
|---|
| 276 | ] |
|---|
| 277 | [Fix haddock formatting |
|---|
| 278 | Ian Lynagh <igloo@earth.li>**20100625222623] |
|---|
| 279 | [Give nub's complexity in the haddock docs; fixes #4086 |
|---|
| 280 | Ian Lynagh <igloo@earth.li>**20100625222059] |
|---|
| 281 | [correct docs for exitWith: only stdout/stderr are flushed, not all Handles |
|---|
| 282 | Simon Marlow <marlowsd@gmail.com>**20100624130506 |
|---|
| 283 | Ignore-this: 33a938dad8f0bc061572e2ec571cacc7 |
|---|
| 284 | ] |
|---|
| 285 | [fix docs for isSpace |
|---|
| 286 | Simon Marlow <marlowsd@gmail.com>**20100624130444 |
|---|
| 287 | Ignore-this: b35ff080dbb9833176f08e39dbd9ff6d |
|---|
| 288 | ] |
|---|
| 289 | [make the hGetBuf/hPutBuf family work with non-FD Handles (#4144) |
|---|
| 290 | Simon Marlow <marlowsd@gmail.com>**20100624130425 |
|---|
| 291 | Ignore-this: 8200f0208a9b1b1cf4824f343d75819a |
|---|
| 292 | ] |
|---|
| 293 | [nit in docs for accumArray |
|---|
| 294 | Simon Marlow <marlowsd@gmail.com>**20100622121131 |
|---|
| 295 | Ignore-this: c066a456c40907e767df10c3990f35ff |
|---|
| 296 | ] |
|---|
| 297 | [add doc for the ExitCode type |
|---|
| 298 | Simon Marlow <marlowsd@gmail.com>**20100622120930 |
|---|
| 299 | Ignore-this: 99c34332be7f3565da844528b470054a |
|---|
| 300 | ] |
|---|
| 301 | [remove extraneous info from docs for Array |
|---|
| 302 | Simon Marlow <marlowsd@gmail.com>**20100622120921 |
|---|
| 303 | Ignore-this: e2a3f5e84fc23eb7bae911f0680e805e |
|---|
| 304 | ] |
|---|
| 305 | [add an INLINE to the list version of traverse, to enable fusion |
|---|
| 306 | Simon Marlow <marlowsd@gmail.com>**20100608082531 |
|---|
| 307 | Ignore-this: ea98cdc3308b406bb04c0f7a38c4424b |
|---|
| 308 | ] |
|---|
| 309 | [Don't define the C localeEncoding on Windows |
|---|
| 310 | Ian Lynagh <igloo@earth.li>**20100620202342 |
|---|
| 311 | Ignore-this: c4992f6832a391b0cccc5a9b7d643976 |
|---|
| 312 | (it causes warnings, and isn't used) |
|---|
| 313 | ] |
|---|
| 314 | [add Applicative instance for Either (proposal #4095) |
|---|
| 315 | Ross Paterson <ross@soi.city.ac.uk>**20100617225110 |
|---|
| 316 | Ignore-this: 50262ec4700dc16efec5755be5b308c5 |
|---|
| 317 | |
|---|
| 318 | This is not the only possible instance for Either, but this one is |
|---|
| 319 | compatible with the usual Monad instance. |
|---|
| 320 | ] |
|---|
| 321 | [Use libcharset instead of nl_langinfo(CODESET) if possible. |
|---|
| 322 | pho@cielonegro.org**20100519013112 |
|---|
| 323 | Ignore-this: 4c1e278e022a3d276848afc1dcba4425 |
|---|
| 324 | |
|---|
| 325 | nl_langinfo(CODESET) doesn't always return standardized variations of the encoding names. Use libcharset if possible, which is shipped together with GNU libiconv. |
|---|
| 326 | ] |
|---|
| 327 | [Add a note about the interruptibility of throwTo. |
|---|
| 328 | Simon Marlow <marlowsd@gmail.com>**20100615112720 |
|---|
| 329 | Ignore-this: ae9fabe95310d7c364e95f7784793485 |
|---|
| 330 | ] |
|---|
| 331 | [docs: note that hGetBufNonBlocking isn't non-blocking on Windows |
|---|
| 332 | Simon Marlow <marlowsd@gmail.com>**20100615112547 |
|---|
| 333 | Ignore-this: 4f3e5213e142149affe08c5123d6efea |
|---|
| 334 | ] |
|---|
| 335 | [don't depend on Prelude (#4122) |
|---|
| 336 | Simon Marlow <marlowsd@gmail.com>**20100615105631 |
|---|
| 337 | Ignore-this: 1a3fd49b103fe31cbb453f302c18767f |
|---|
| 338 | ] |
|---|
| 339 | [Don't depend on Prelude (#4123) |
|---|
| 340 | Simon Marlow <marlowsd@gmail.com>**20100615105401 |
|---|
| 341 | Ignore-this: cc7616d85a1637bc7621b4f2bc181c0e |
|---|
| 342 | ] |
|---|
| 343 | [bump version to 4.3.0.0, added instance MonadPlus STM |
|---|
| 344 | Simon Marlow <marlowsd@gmail.com>**20100601144831 |
|---|
| 345 | Ignore-this: 7c3cf7574499c4267372493f2636dc0 |
|---|
| 346 | ] |
|---|
| 347 | [Moved MonadPlus instance for STM from Control.Monad.STM to GHC.Conc to avoid an orphaned instance |
|---|
| 348 | Bas van Dijk <v.dijk.bas@gmail.com>**20100516160651 |
|---|
| 349 | Ignore-this: 651b852942b2fae2b93f996e39239b8f |
|---|
| 350 | ] |
|---|
| 351 | [Added Applicative and Alternative instances for STM |
|---|
| 352 | Bas van Dijk <v.dijk.bas@gmail.com>**20100516171756 |
|---|
| 353 | Ignore-this: 567003bc4040bc97105cda4d31ebf04a |
|---|
| 354 | ] |
|---|
| 355 | [expand Foldable instance for Array |
|---|
| 356 | Ross Paterson <ross@soi.city.ac.uk>**20100602212154 |
|---|
| 357 | Ignore-this: 9bd9e9666a9400431eb92352244fe7e7 |
|---|
| 358 | ] |
|---|
| 359 | [doc comment illustrating Foldable(foldr) |
|---|
| 360 | Ross Paterson <ross@soi.city.ac.uk>**20100527150833 |
|---|
| 361 | Ignore-this: 8f27d889379803f3ba86d6e928428f3c |
|---|
| 362 | ] |
|---|
| 363 | [fix syntax in doc comments |
|---|
| 364 | Ross Paterson <ross@soi.city.ac.uk>**20100527150757 |
|---|
| 365 | Ignore-this: cb78da51d60ff6863dc395f1a892c103 |
|---|
| 366 | ] |
|---|
| 367 | [export hGetBufSome (#4046) |
|---|
| 368 | Simon Marlow <marlowsd@gmail.com>**20100520093538 |
|---|
| 369 | Ignore-this: f467fad9722e27edfad6b3dd75290e7b |
|---|
| 370 | ] |
|---|
| 371 | [hWaitForInput: don't try to read from the device (#4078) |
|---|
| 372 | Simon Marlow <marlowsd@gmail.com>**20100517133741 |
|---|
| 373 | Ignore-this: 55ec33b03397380259b91e4ca62207a6 |
|---|
| 374 | readTextDeviceNonBlocking is not non-blocking on Windows |
|---|
| 375 | ] |
|---|
| 376 | [hSetEncoding: change the encoding on both read and write sides (#4066) |
|---|
| 377 | Simon Marlow <marlowsd@gmail.com>**20100514124628 |
|---|
| 378 | Ignore-this: 5b9e9caef06356d0296c584159709ebb |
|---|
| 379 | ] |
|---|
| 380 | [Correct haddock formatting. |
|---|
| 381 | Adam Vogt <vogt.adam@gmail.com>**20100423022103 |
|---|
| 382 | Ignore-this: d2622339302048fda48080f7d5ce4a2f |
|---|
| 383 | ] |
|---|
| 384 | [Fix for hGetBufSome |
|---|
| 385 | Simon Marlow <marlowsd@gmail.com>**20100505135637 |
|---|
| 386 | Ignore-this: 2019680f8fb223956cacfcf0d046f133 |
|---|
| 387 | ] |
|---|
| 388 | [improve the documentation for throwTo and killThread (#3884) |
|---|
| 389 | Simon Marlow <marlowsd@gmail.com>**20100505135600 |
|---|
| 390 | Ignore-this: ce881d96ddb729acb6ca09c779975e7d |
|---|
| 391 | ] |
|---|
| 392 | [elaborate the docs for unsafePerformIO a bit |
|---|
| 393 | Simon Marlow <marlowsd@gmail.com>**20100505101249 |
|---|
| 394 | Ignore-this: 1cec3f67560b672c64c5a0dcf9a79eb7 |
|---|
| 395 | ] |
|---|
| 396 | [add Typeable instance |
|---|
| 397 | Simon Marlow <marlowsd@gmail.com>**20100504152815 |
|---|
| 398 | Ignore-this: 6d9cf9d62f0ef17fa459bf213a04098 |
|---|
| 399 | ] |
|---|
| 400 | [Add hGetBufSome, like hGetBuf but can return short reads |
|---|
| 401 | Simon Marlow <marlowsd@gmail.com>**20100504152759 |
|---|
| 402 | Ignore-this: 195c905b43f8d9505029364e2c5b18e |
|---|
| 403 | ] |
|---|
| 404 | [Add swap (#3298) |
|---|
| 405 | Simon Marlow <marlowsd@gmail.com>**20100504095339 |
|---|
| 406 | Ignore-this: 13b007dc4594ce252997ec6fa0bbd976 |
|---|
| 407 | ] |
|---|
| 408 | [inline allocaArray0, to fix withCString benchmark |
|---|
| 409 | Simon Marlow <marlowsd@gmail.com>**20100423124729 |
|---|
| 410 | Ignore-this: 35c96816acc2f3aaf9dd29f7995fa6f0 |
|---|
| 411 | ] |
|---|
| 412 | [raise asynchronous exceptions asynchronously (#3997) |
|---|
| 413 | Simon Marlow <marlowsd@gmail.com>**20100421094932 |
|---|
| 414 | Ignore-this: 6d987d93d382c0f69c68c326312abd6b |
|---|
| 415 | ] |
|---|
| 416 | [add NOINLINE pragmas for stdin/stdout/stderr |
|---|
| 417 | Simon Marlow <marlowsd@gmail.com>**20100421082041 |
|---|
| 418 | Ignore-this: 3fc130268ec786f28d945858d6690986 |
|---|
| 419 | ] |
|---|
| 420 | [INLINE alloca and malloc |
|---|
| 421 | Simon Marlow <marlowsd@gmail.com>**20100419135333 |
|---|
| 422 | Ignore-this: b218bd611f18721b1505a8c0b9e6a16a |
|---|
| 423 | See discussion on glasgow-haskell-users: |
|---|
| 424 | http://www.haskell.org/pipermail/glasgow-haskell-users/2010-April/018740.html |
|---|
| 425 | ] |
|---|
| 426 | [Move comment closer to the offending line |
|---|
| 427 | Matthias Kilian <kili@outback.escape.de>**20100419155421 |
|---|
| 428 | Ignore-this: b34a1d7affd66f67d210df2377b585d9 |
|---|
| 429 | ] |
|---|
| 430 | [Ignore the return code of c_fcntl_write again |
|---|
| 431 | Matthias Kilian <kili@outback.escape.de>**20100415140452 |
|---|
| 432 | Ignore-this: 266d8ba02cc3cb79c85629b3528261c9 |
|---|
| 433 | |
|---|
| 434 | The return code has been ignored in the past on purpose, because |
|---|
| 435 | O_NONBLOCK will fail on BSDs for some special files. This fixes the |
|---|
| 436 | problem mentioned in |
|---|
| 437 | http://www.haskell.org/pipermail/glasgow-haskell-users/2010-April/018698.html |
|---|
| 438 | |
|---|
| 439 | ] |
|---|
| 440 | [Fix bitrot in IO debugging code |
|---|
| 441 | Ian Lynagh <igloo@earth.li>**20100413134339 |
|---|
| 442 | Also switched to using Haskell Bools (rather than CPP) to en/disable it, |
|---|
| 443 | so it shouldn't break again in the future. |
|---|
| 444 | ] |
|---|
| 445 | [Tiny code tidy-up |
|---|
| 446 | Ian Lynagh <igloo@earth.li>**20100413011147] |
|---|
| 447 | [remove old/wrong comment |
|---|
| 448 | Simon Marlow <marlowsd@gmail.com>**20100325161403 |
|---|
| 449 | Ignore-this: e6e377d44af48c4162d17d55bdf3f821 |
|---|
| 450 | ] |
|---|
| 451 | [withThread: block asynchronous exceptions before installing exception handler. |
|---|
| 452 | Bas van Dijk <v.dijk.bas@gmail.com>**20100329131624 |
|---|
| 453 | Ignore-this: be5aeb47dbd73807b5f94df11afbb81c |
|---|
| 454 | Note that I don't unblock the given io computation. Because AFAICS |
|---|
| 455 | withThread is only called with 'waitFd' which only performs an FFI |
|---|
| 456 | call which can't receive asynchronous exceptions anyway. |
|---|
| 457 | ] |
|---|
| 458 | [runInUnboundThread: block asynchronous exceptions before installing exception handler |
|---|
| 459 | Bas van Dijk <v.dijk.bas@gmail.com>**20100329131549 |
|---|
| 460 | Ignore-this: a00c5e32fe3981ff87bedd367a69051e |
|---|
| 461 | ] |
|---|
| 462 | [fix the deprecation message (GHC.IO.Handle.Base -> GHC.IO.Handle) |
|---|
| 463 | Simon Marlow <marlowsd@gmail.com>**20100330121137 |
|---|
| 464 | Ignore-this: 4ca8500a01ac93454507aa8f9dd001f9 |
|---|
| 465 | ] |
|---|
| 466 | [Make SampleVar an abstract newtype |
|---|
| 467 | Bas van Dijk <v.dijk.bas@gmail.com>**20100318200349 |
|---|
| 468 | Ignore-this: 27939e2a064b75e71cb146117346be30 |
|---|
| 469 | ] |
|---|
| 470 | [Fix bugs regarding asynchronous exceptions and laziness in Control.Concurrent.SampleVar |
|---|
| 471 | Bas van Dijk <v.dijk.bas@gmail.com>**20100318200104 |
|---|
| 472 | Ignore-this: 7376b2a3afe155daf233a8f1ddc0a7a |
|---|
| 473 | - Block asynchronous exceptions at the right places |
|---|
| 474 | - Force thunks before putting them in a MVar |
|---|
| 475 | ] |
|---|
| 476 | [Write the thunk 'next' to the MVar |
|---|
| 477 | Bas van Dijk <v.dijk.bas@gmail.com>**20100319125951 |
|---|
| 478 | Ignore-this: dd25636cf220131385ff2fd32493d456 |
|---|
| 479 | ] |
|---|
| 480 | [change to use STM, fixing 4 things |
|---|
| 481 | Simon Marlow <marlowsd@gmail.com>**20100318104436 |
|---|
| 482 | Ignore-this: 551d30280a7941c08f5c3b14576bdd70 |
|---|
| 483 | 1. there was no async exception protection |
|---|
| 484 | 2. there was a space leak (now new value is strict) |
|---|
| 485 | 3. using atomicModifyIORef would be slightly quicker, but can |
|---|
| 486 | suffer from adverse scheduling issues (see #3838) |
|---|
| 487 | 4. also, the STM version is faster. |
|---|
| 488 | ] |
|---|
| 489 | [Tweak docs |
|---|
| 490 | Ian Lynagh <igloo@earth.li>**20100312214129] |
|---|
| 491 | [Fixed dead links in documentation of forkIO |
|---|
| 492 | Bas van Dijk <v.dijk.bas@gmail.com>**20100308222415 |
|---|
| 493 | Ignore-this: 7deb8fd064c867fbede2a6b2e9da4f15 |
|---|
| 494 | ] |
|---|
| 495 | [Documentation fixes in Control.Exception |
|---|
| 496 | Bas van Dijk <v.dijk.bas@gmail.com>**20100301220442 |
|---|
| 497 | Ignore-this: 761fcba401cbd1f47276ddfc9b5b80f2 |
|---|
| 498 | ] |
|---|
| 499 | [Plug two race conditions that could lead to deadlocks in the IO manager |
|---|
| 500 | Simon Marlow <marlowsd@gmail.com>**20100225120255 |
|---|
| 501 | Ignore-this: e6983d6b953104d370278ab3e4617e8b |
|---|
| 502 | ] |
|---|
| 503 | [FIX #3866: improve documentation of Data.Data.Constr |
|---|
| 504 | jpm@cs.uu.nl**20100224125506 |
|---|
| 505 | Ignore-this: 3818c5d8fee012a3cf322fb455b6e5dc |
|---|
| 506 | ] |
|---|
| 507 | [UNDO: Handle NaN, -Infinity and Infinity in the toRational for Float/Double (#3676) |
|---|
| 508 | Simon Marlow <marlowsd@gmail.com>**20100223101603 |
|---|
| 509 | Ignore-this: 78becb2d39b3cd9a1a473a5811ca7d92 |
|---|
| 510 | ] |
|---|
| 511 | [Put the complexity in the length docs. Fixes trac #3680 |
|---|
| 512 | Ian Lynagh <igloo@earth.li>**20100221191425] |
|---|
| 513 | [nhc98 should build Data.Functor. |
|---|
| 514 | Malcolm.Wallace@cs.york.ac.uk**20100221163218] |
|---|
| 515 | [Update the exitWith docs |
|---|
| 516 | Ian Lynagh <igloo@earth.li>**20100213140004 |
|---|
| 517 | Error pointed out by Volker Wysk <vw@volker-wysk.de> |
|---|
| 518 | ] |
|---|
| 519 | [Handle NaN, -Infinity and Infinity in the toRational for Float/Double (#3676) |
|---|
| 520 | Simon Marlow <marlowsd@gmail.com>**20100211101955 |
|---|
| 521 | Ignore-this: 261415363303efca265e80290eac5f28 |
|---|
| 522 | ] |
|---|
| 523 | [For nhc98, import unsafeInterleaveIO rather than defining it here. |
|---|
| 524 | Malcolm.Wallace@cs.york.ac.uk**20100204171021] |
|---|
| 525 | [Stifle warning about unused return value |
|---|
| 526 | benl@cse.unsw.edu.au**20100203025537] |
|---|
| 527 | [fix #3832: use the locale encoding in openTempFile |
|---|
| 528 | Simon Marlow <marlowsd@gmail.com>**20100120211830 |
|---|
| 529 | Ignore-this: df4f778cc5fefb32290c798db722632c |
|---|
| 530 | Also while I was here fix an XXX: the Handle contained an |
|---|
| 531 | uninformative string like <fd: 4> for error messages rather than the |
|---|
| 532 | real file path. |
|---|
| 533 | ] |
|---|
| 534 | [Fix the build: export void, so it doesn't give an unused binding warning |
|---|
| 535 | Ian Lynagh <igloo@earth.li>**20100116174451] |
|---|
| 536 | [hIsEOF: don't do any decoding (#3808) |
|---|
| 537 | Simon Marlow <marlowsd@gmail.com>**20100112230317 |
|---|
| 538 | Ignore-this: 6a384dd2d547ffe3ad3762920e5c1671 |
|---|
| 539 | ] |
|---|
| 540 | [Control.Monad: +void :: f a -> f () |
|---|
| 541 | gwern0@gmail.com**20100108214455 |
|---|
| 542 | Ignore-this: 4dc07452315f2d1b4941903ff42fc45f |
|---|
| 543 | See http://hackage.haskell.org/trac/ghc/ticket/3292 |
|---|
| 544 | Turns m a -> m (). Lets one call functions for their side-effects without |
|---|
| 545 | having to get rid of their return values with '>> return ()'. Very useful |
|---|
| 546 | in many contexts (parsing, IO etc.); particularly good for 'forkIO' and 'forM_', |
|---|
| 547 | as they demand return types of 'IO ()' though most interesting IO functions |
|---|
| 548 | return non-(). |
|---|
| 549 | ] |
|---|
| 550 | [Replace the implementation of mergesort with a 2x faster one. |
|---|
| 551 | Malcolm.Wallace@cs.york.ac.uk**20091224152014 |
|---|
| 552 | See ticket http://hackage.haskell.org/trac/ghc/ticket/2143. |
|---|
| 553 | ] |
|---|
| 554 | [Restore previous Data.Typeable.typeOf*Default implementations for non-ghc. |
|---|
| 555 | Malcolm.Wallace@cs.york.ac.uk**20091223142625 |
|---|
| 556 | Not all compilers have ScopedTypeVariables. |
|---|
| 557 | ] |
|---|
| 558 | [Add comments about double bounds-checking, and fast paths for rectangular arrays |
|---|
| 559 | simonpj@microsoft.com**20091218165655 |
|---|
| 560 | Ignore-this: ea0849419dc00927aba4bd410b1cc58d |
|---|
| 561 | |
|---|
| 562 | See Note [Double bounds-checking of index values] for the details. |
|---|
| 563 | |
|---|
| 564 | The fast paths omit the doubled checks for cases we know about |
|---|
| 565 | ] |
|---|
| 566 | [Fix Trac #3245: memoising typeOf |
|---|
| 567 | simonpj@microsoft.com**20091218155117 |
|---|
| 568 | Ignore-this: 5a178a7f2222293c5ee0c3c43bd1b625 |
|---|
| 569 | |
|---|
| 570 | The performance bug in #3245 was caused by computing the typeRep |
|---|
| 571 | once for each call of typeOf, rather than once for each dictionary |
|---|
| 572 | contruction. (Computing TypeReps is reasonably expensive, because |
|---|
| 573 | of the hash-consing machinery.) |
|---|
| 574 | |
|---|
| 575 | This is readily fixed by putting the TypeRep construction outside |
|---|
| 576 | the lambda. (Arguably GHC might have worked that out itself, |
|---|
| 577 | but it involves floating something between a type lambda and a |
|---|
| 578 | value lambda, which GHC doesn't currently do. If it happens a lot |
|---|
| 579 | we could fix that.) |
|---|
| 580 | ] |
|---|
| 581 | [Mark 'index' as INLINE in GHC.Arr |
|---|
| 582 | simonpj@microsoft.com**20091216170441 |
|---|
| 583 | Ignore-this: a4df9d8acf496c8e0e9ce5a520509a2a |
|---|
| 584 | |
|---|
| 585 | This makes indexing much faster. See Trac #1216 |
|---|
| 586 | ] |
|---|
| 587 | [Comment the remaining orphan instance modules |
|---|
| 588 | Ian Lynagh <igloo@earth.li>**20091206125021] |
|---|
| 589 | [De-orphan Eq/Ord Float/Double |
|---|
| 590 | Ian Lynagh <igloo@earth.li>**20091205181238] |
|---|
| 591 | [Add comments to "OPTIONS_GHC -fno-warn-orphans" pragmas |
|---|
| 592 | Ian Lynagh <igloo@earth.li>**20091205165854] |
|---|
| 593 | [Data.Either.partitionEithers was insufficiently lazy. |
|---|
| 594 | Malcolm.Wallace@cs.york.ac.uk**20091202032807 |
|---|
| 595 | Ignore-this: 77e1b3288f66608c71458d8a91bcbe12 |
|---|
| 596 | Spotted by Daniel Fischer. |
|---|
| 597 | ] |
|---|
| 598 | [fix the docs regarding finalizer guarantees |
|---|
| 599 | Simon Marlow <marlowsd@gmail.com>**20091130144409 |
|---|
| 600 | Ignore-this: d1ab9532c74a002b8075ff60febcbe2d |
|---|
| 601 | ] |
|---|
| 602 | [x86_64 requires more stack |
|---|
| 603 | Malcolm.Wallace@cs.york.ac.uk**20091201033745] |
|---|
| 604 | [check for size < 0 in mallocForeignPtrBytes and friends (#3514) |
|---|
| 605 | Simon Marlow <marlowsd@gmail.com>**20091125143822 |
|---|
| 606 | Ignore-this: 91077d01da2bbe1dfed5155e8b40da9 |
|---|
| 607 | ] |
|---|
| 608 | [hGetContents: close the handle properly on error |
|---|
| 609 | Simon Marlow <marlowsd@gmail.com>**20091125123435 |
|---|
| 610 | Ignore-this: bc37ff678acc6e547dc390285e056eb9 |
|---|
| 611 | |
|---|
| 612 | When hGetContents caught an error it was closing the handle and then |
|---|
| 613 | throwing the exception, without updating the handle with the new |
|---|
| 614 | closed state. This lead to a double-closed, which was the cause of |
|---|
| 615 | |
|---|
| 616 | *** glibc detected *** ./Setup: double free or corruption |
|---|
| 617 | |
|---|
| 618 | when iconv_close was called twice on the decoder. |
|---|
| 619 | |
|---|
| 620 | See http://hackage.haskell.org/trac/hackage/ticket/609 |
|---|
| 621 | ] |
|---|
| 622 | [Fix arities of mapFB and zipFB |
|---|
| 623 | Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091126232219 |
|---|
| 624 | Ignore-this: c4e14cd0a92622549c86e67237a40865 |
|---|
| 625 | ] |
|---|
| 626 | [Remove an unnecessary -fno-warn-orphans flag |
|---|
| 627 | Ian Lynagh <igloo@earth.li>**20091126123404] |
|---|
| 628 | [Tweak layout to work with alternative layout rule |
|---|
| 629 | Ian Lynagh <igloo@earth.li>**20091125232349] |
|---|
| 630 | [Tweak layout to be accepted by the alternative layout rul |
|---|
| 631 | Ian Lynagh <igloo@earth.li>**20091125194147] |
|---|
| 632 | [Make sure zipWithFB has arity 2 |
|---|
| 633 | Roman Leshchinskiy <rl@cse.unsw.edu.au>**20091125010003 |
|---|
| 634 | Ignore-this: 4cf60c55666f03d22a9f5a6e07f52d36 |
|---|
| 635 | |
|---|
| 636 | It gets 2 arguments in the "zipWith" rule but its arity was higher and the new |
|---|
| 637 | inliner didn't inline it sometimes, for instance here: |
|---|
| 638 | |
|---|
| 639 | mpp :: [Double] -> [Double] -> [Double] -> [Double] -> [Double] |
|---|
| 640 | mpp as bs cs ds = zipWith (*) (zipWith (+) as bs) (zipWith (+) cs ds) |
|---|
| 641 | |
|---|
| 642 | This was a regression vs. 6.10. |
|---|
| 643 | ] |
|---|
| 644 | [Remove an old comment |
|---|
| 645 | Ian Lynagh <igloo@earth.li>**20091124134647] |
|---|
| 646 | [De-orphan the Eq/Ord Integer instances |
|---|
| 647 | Ian Lynagh <igloo@earth.li>**20091124133639] |
|---|
| 648 | [Whitespace only |
|---|
| 649 | Ian Lynagh <igloo@earth.li>**20091124133421] |
|---|
| 650 | [Derive some more instances, rather than writing them by hand |
|---|
| 651 | Ian Lynagh <igloo@earth.li>**20091124011747] |
|---|
| 652 | [We can now derive Ord () |
|---|
| 653 | Ian Lynagh <igloo@earth.li>**20091124011416] |
|---|
| 654 | [De-orphan tuple Eq/Ord instances |
|---|
| 655 | Ian Lynagh <igloo@earth.li>**20091123233343] |
|---|
| 656 | [Control.Exception.Base no longer has any orphans |
|---|
| 657 | Ian Lynagh <igloo@earth.li>**20091123224905] |
|---|
| 658 | [De-orphan the MonadFix ST instance for GHC |
|---|
| 659 | Ian Lynagh <igloo@earth.li>**20091123223544] |
|---|
| 660 | [Rearrange the contents of Control.Monad.ST; no functionality changes |
|---|
| 661 | Ian Lynagh <igloo@earth.li>**20091123222702] |
|---|
| 662 | [De-orphan the Eq/Ord [a] instances |
|---|
| 663 | Ian Lynagh <igloo@earth.li>**20091123215635] |
|---|
| 664 | [De-orphan the Eq/Ord Char instances |
|---|
| 665 | Ian Lynagh <igloo@earth.li>**20091123202253] |
|---|
| 666 | [De-orphan the Eq/Ord Bool instances |
|---|
| 667 | Ian Lynagh <igloo@earth.li>**20091123201817] |
|---|
| 668 | [Move Eq/Ord Ordering instances to de-orphan them |
|---|
| 669 | Ian Lynagh <igloo@earth.li>**20091123194310] |
|---|
| 670 | [Remove ffi warnings for nhc98. |
|---|
| 671 | Malcolm.Wallace@cs.york.ac.uk**20091123063743] |
|---|
| 672 | [Second attempt to fix #1185 (forkProcess and -threaded) |
|---|
| 673 | Simon Marlow <marlowsd@gmail.com>**20091111151915 |
|---|
| 674 | Ignore-this: fa5f5d5e4e080d4b612a37244f937f9c |
|---|
| 675 | |
|---|
| 676 | Patch 2/2: first patch is to ghc |
|---|
| 677 | |
|---|
| 678 | This time without dynamic linker hacks, instead I've expanded the |
|---|
| 679 | existing rts/Globals.c to cache more CAFs, specifically those in |
|---|
| 680 | GHC.Conc. We were already using this trick for signal handlers, I |
|---|
| 681 | should have realised before. |
|---|
| 682 | |
|---|
| 683 | It's still quite unsavoury, but we can do away with rts/Globals.c in |
|---|
| 684 | the future when we switch to a dynamically-linked GHCi. |
|---|
| 685 | ] |
|---|
| 686 | [Rollback #1185 fix |
|---|
| 687 | Simon Marlow <marlowsd@gmail.com>**20091106140629 |
|---|
| 688 | Ignore-this: cd5667e8474e37e01ba26a1984274811 |
|---|
| 689 | |
|---|
| 690 | rolling back: |
|---|
| 691 | |
|---|
| 692 | Tue Nov 3 16:05:40 GMT 2009 Simon Marlow <marlowsd@gmail.com> |
|---|
| 693 | * Fix #1185: restart the IO manager after fork() |
|---|
| 694 | |
|---|
| 695 | This is the libraries/base part of the patch; there is a corresponding |
|---|
| 696 | patch to GHC itself. |
|---|
| 697 | |
|---|
| 698 | The main change is that we now keep track of the IO manager's ThreadId |
|---|
| 699 | in a top-level MVar, and ensureIOManagerIsRunning checks whether a |
|---|
| 700 | previous IO manager thread is alive before starting one. In the child |
|---|
| 701 | of fork(), we can hence call ensureIOManagerIsRunning to restart the |
|---|
| 702 | IO manager. |
|---|
| 703 | |
|---|
| 704 | M ./GHC/Conc.lhs -46 +44 |
|---|
| 705 | |
|---|
| 706 | Wed Nov 4 17:49:45 GMT 2009 Ian Lynagh <igloo@earth.li> |
|---|
| 707 | * Fix the build on Windows |
|---|
| 708 | |
|---|
| 709 | M ./GHC/Conc.lhs -6 +4 |
|---|
| 710 | ] |
|---|
| 711 | [Fix the build on Windows |
|---|
| 712 | Ian Lynagh <igloo@earth.li>**20091104174945] |
|---|
| 713 | [Fix #1185: restart the IO manager after fork() |
|---|
| 714 | Simon Marlow <marlowsd@gmail.com>**20091103160540 |
|---|
| 715 | Ignore-this: 6dc05464f1500104554637f4759738cc |
|---|
| 716 | |
|---|
| 717 | This is the libraries/base part of the patch; there is a corresponding |
|---|
| 718 | patch to GHC itself. |
|---|
| 719 | |
|---|
| 720 | The main change is that we now keep track of the IO manager's ThreadId |
|---|
| 721 | in a top-level MVar, and ensureIOManagerIsRunning checks whether a |
|---|
| 722 | previous IO manager thread is alive before starting one. In the child |
|---|
| 723 | of fork(), we can hence call ensureIOManagerIsRunning to restart the |
|---|
| 724 | IO manager. |
|---|
| 725 | ] |
|---|
| 726 | [improve the documentation for throwErrnoIfRetry |
|---|
| 727 | Simon Marlow <marlowsd@gmail.com>**20091016112404 |
|---|
| 728 | Ignore-this: b77275cacf730e15757946027168f63e |
|---|
| 729 | ] |
|---|
| 730 | [Don't inline unpackFoldrCString ever |
|---|
| 731 | simonpj@microsoft.com**20091029135350 |
|---|
| 732 | Ignore-this: 85d672649b1b776efc7e97500b05d4f9 |
|---|
| 733 | ] |
|---|
| 734 | [Inline more default methods |
|---|
| 735 | simonpj@microsoft.com**20091029135330 |
|---|
| 736 | Ignore-this: 289c44b0afd6d5631c2a4e0664275ca9 |
|---|
| 737 | |
|---|
| 738 | Namely Monad: (>>) |
|---|
| 739 | Eq: (==), (/=) |
|---|
| 740 | Num: (-), negate |
|---|
| 741 | Real: quot, rem, div, mod, recip, (/), truncate |
|---|
| 742 | Float: (**), logBase, sqrt, tan, tanh |
|---|
| 743 | ] |
|---|
| 744 | [Move error messages out of INLINEd default methods |
|---|
| 745 | simonpj@microsoft.com**20091029135118 |
|---|
| 746 | Ignore-this: 9e35dc947f94827a3529eb53a41575fd |
|---|
| 747 | |
|---|
| 748 | No need to duplicate the error generation! |
|---|
| 749 | ] |
|---|
| 750 | [Exploit now-working default-method INLINE pragmas for Data.Bits |
|---|
| 751 | simonpj@microsoft.com**20091029135041 |
|---|
| 752 | Ignore-this: 8adf225f31ca7a3181ee087e9e4fe535 |
|---|
| 753 | |
|---|
| 754 | * Add INLINE pragmas to default methods for class Bits |
|---|
| 755 | |
|---|
| 756 | * Remove redundant instance methods elsewhere, now that |
|---|
| 757 | the default method will do the job |
|---|
| 758 | ] |
|---|
| 759 | [Tidy up and comment imports |
|---|
| 760 | simonpj@microsoft.com**20091029134414 |
|---|
| 761 | Ignore-this: bf2be31035de975d8995e988933cc940 |
|---|
| 762 | ] |
|---|
| 763 | [Inline foldr and (.) when applied to two arguments not three |
|---|
| 764 | simonpj@microsoft.com**20091029134335 |
|---|
| 765 | Ignore-this: fccb6f3e90e15f44cb465814be85ede2 |
|---|
| 766 | |
|---|
| 767 | The new INLINE story is (by design) arity-sensitive, so we must |
|---|
| 768 | put fewer argument on the LHS for foldr and (.) |
|---|
| 769 | ] |
|---|
| 770 | [dirUtils.c no longer available |
|---|
| 771 | Malcolm.Wallace@cs.york.ac.uk**20091013093833] |
|---|
| 772 | [Make hGetContents throw an exception if an error is encountered |
|---|
| 773 | Simon Marlow <marlowsd@gmail.com>**20091012152955 |
|---|
| 774 | Ignore-this: 9f7a7176193eab25c9daaacd9261f2de |
|---|
| 775 | |
|---|
| 776 | Strictly speaking this breaks Haskell 98 compatibility, which requires |
|---|
| 777 | hGetContents to just end the lazy stream silently if an error is |
|---|
| 778 | encountered. However, for a few reasons we think it will make |
|---|
| 779 | everyone's life a bit easier if we make this change |
|---|
| 780 | |
|---|
| 781 | 1. Errors will be a lot more common in GHC 6.12.1, in the form |
|---|
| 782 | of Unicode decoding errors. |
|---|
| 783 | |
|---|
| 784 | 2. When Haskell 98 was designed, we didn't know how to throw |
|---|
| 785 | exceptions from inside lazy I/O, but now we do. |
|---|
| 786 | |
|---|
| 787 | 3. If anyone is actually relying on the previous behaviour, their |
|---|
| 788 | code is arguably broken. |
|---|
| 789 | ] |
|---|
| 790 | [Re-instate System.Console.Getopt for nhc98 builds. |
|---|
| 791 | Malcolm.Wallace@cs.york.ac.uk**20091013092843 |
|---|
| 792 | Although it was split out of base a while back, that change was |
|---|
| 793 | reverted for ghc soon afterwards, but nhc98 never noticed. |
|---|
| 794 | ] |
|---|
| 795 | [Roll back "Another instance of nhc98's strange import semantics." |
|---|
| 796 | Ian Lynagh <igloo@earth.li>**20091009185618 |
|---|
| 797 | Fri Oct 9 14:50:51 BST 2009 Malcolm.Wallace@cs.york.ac.uk |
|---|
| 798 | GHC (correctly) warns about the unused import, which breaks the validate |
|---|
| 799 | build. |
|---|
| 800 | ] |
|---|
| 801 | [Roll back "Cope with nhc98's (occasionally-strange) import semantics" |
|---|
| 802 | Ian Lynagh <igloo@earth.li>**20091009184704 |
|---|
| 803 | Fri Oct 9 14:43:51 BST 2009 Malcolm.Wallace@cs.york.ac.uk |
|---|
| 804 | GHC (correctly) warns about the unused import, which breaks the validate |
|---|
| 805 | build. |
|---|
| 806 | ] |
|---|
| 807 | [It seems that nhc98 needs defaulting in Data.Fixed. |
|---|
| 808 | Malcolm.Wallace@cs.york.ac.uk**20091009135242] |
|---|
| 809 | [Another instance of nhc98's strange import semantics. |
|---|
| 810 | Malcolm.Wallace@cs.york.ac.uk**20091009135051] |
|---|
| 811 | [Make Data.Functor compatible with non-GHC compilers. |
|---|
| 812 | Malcolm.Wallace@cs.york.ac.uk**20091009134821] |
|---|
| 813 | [Cope with nhc98's (occasionally-strange) import semantics. |
|---|
| 814 | Malcolm.Wallace@cs.york.ac.uk**20091009134351] |
|---|
| 815 | [Fix gratuitous breakage of nhc98 in System.IO. |
|---|
| 816 | Malcolm.Wallace@cs.york.ac.uk**20091009134001] |
|---|
| 817 | [Fix gratuitous breakage of nhc98 in Control.Exception.Base. |
|---|
| 818 | Malcolm.Wallace@cs.york.ac.uk**20091009133615] |
|---|
| 819 | [Fix gratuitous breakage of non-GHC in Data.Fixed. |
|---|
| 820 | Malcolm.Wallace@cs.york.ac.uk**20091009133330] |
|---|
| 821 | [Fix gratuitous breakage for non-GHC in Data.Bits. |
|---|
| 822 | Malcolm.Wallace@cs.york.ac.uk**20091009133257] |
|---|
| 823 | [Use UTF-32LE instead of UTF32LE |
|---|
| 824 | Simon Marlow <marlowsd@gmail.com>**20091006100207 |
|---|
| 825 | Ignore-this: 7f881e36543d250ef848c9f60d67655a |
|---|
| 826 | The latter is not recognised by some iconv implementations. |
|---|
| 827 | ] |
|---|
| 828 | [Strip any Byte Order Mark (BOM) from the front of decoded streams. |
|---|
| 829 | Ben.Lippmeier@anu.edu.au*-20090930084229 |
|---|
| 830 | Ignore-this: d0d0c3ae87b31d71ef1627c8e1786445 |
|---|
| 831 | When decoding to UTF-32, Solaris iconv inserts a BOM at the front |
|---|
| 832 | of the stream, but Linux iconv doesn't. |
|---|
| 833 | ] |
|---|
| 834 | [use UTF32BE/UTF32LE instead of UCS-4/UCS-4LE |
|---|
| 835 | Simon Marlow <marlowsd@gmail.com>**20091005101554 |
|---|
| 836 | Ignore-this: 2aef5e9bec421e714953b7aa1bdfc1b3 |
|---|
| 837 | ] |
|---|
| 838 | [Strip any Byte Order Mark (BOM) from the front of decoded streams. |
|---|
| 839 | Ben.Lippmeier@anu.edu.au**20090930084229 |
|---|
| 840 | Ignore-this: d0d0c3ae87b31d71ef1627c8e1786445 |
|---|
| 841 | When decoding to UTF-32, Solaris iconv inserts a BOM at the front |
|---|
| 842 | of the stream, but Linux iconv doesn't. |
|---|
| 843 | ] |
|---|
| 844 | [Add traceEvent :: String -> IO () |
|---|
| 845 | Simon Marlow <marlowsd@gmail.com>**20090925141257 |
|---|
| 846 | Ignore-this: 8b1888bbf9682ffba13f815b6000e4b1 |
|---|
| 847 | For emitting an event via the RTS tracing framework |
|---|
| 848 | ] |
|---|
| 849 | [Fix the error message when flushing the read buffer of a non-seekable Handle |
|---|
| 850 | Simon Marlow <marlowsd@gmail.com>**20090923090536 |
|---|
| 851 | Ignore-this: 4342026df93759d99480f4e13f80a492 |
|---|
| 852 | ] |
|---|
| 853 | [Fix #3534: No need to flush the byte buffer when setting binary mode |
|---|
| 854 | Simon Marlow <marlowsd@gmail.com>**20090923090445 |
|---|
| 855 | Ignore-this: 625817ed7ae2c12291eb993a99dc640a |
|---|
| 856 | ] |
|---|
| 857 | [Use let !y = x in .. x .. instead of seq in $! and evaluate (#2273) |
|---|
| 858 | Simon Marlow <marlowsd@gmail.com>**20090916140454] |
|---|
| 859 | [make some Applicative functions into methods, and split off Data.Functor (proposal #3335) |
|---|
| 860 | Ross Paterson <ross@soi.city.ac.uk>**20090915173109 |
|---|
| 861 | Ignore-this: a0cff4de6dfdbcbd56a66101bc4855a9 |
|---|
| 862 | |
|---|
| 863 | The following functions |
|---|
| 864 | |
|---|
| 865 | (<$) :: Functor f => a -> f b -> f a |
|---|
| 866 | (*>) :: Applicative f => f a -> f b -> f b |
|---|
| 867 | (<*) :: Applicative f => f a -> f b -> f a |
|---|
| 868 | some :: Alternative f => f a -> f [a] |
|---|
| 869 | many :: Alternative f => f a -> f [a] |
|---|
| 870 | |
|---|
| 871 | are moved into the corresponding classes, with the existing implementations |
|---|
| 872 | as default definitions. This gives people creating instances the option of |
|---|
| 873 | defining specialized implementations of these functions, though they should |
|---|
| 874 | be equivalent to the default definitions. |
|---|
| 875 | |
|---|
| 876 | Although (<$) is now a method of the Functor class, it is hidden in the |
|---|
| 877 | re-export by the Prelude, Control.Monad and Monad. The new module |
|---|
| 878 | Data.Functor exposes the full class, plus the function (<$>). These are |
|---|
| 879 | also re-exported by Control.Applicative. |
|---|
| 880 | ] |
|---|
| 881 | [On Windows, use the console code page for text file encoding/decoding. |
|---|
| 882 | Judah Jacobson <judah.jacobson@gmail.com>**20090913022126 |
|---|
| 883 | Ignore-this: 86c2f2db8ef92b751599795d3195187b |
|---|
| 884 | |
|---|
| 885 | We keep all of the code page tables in the module |
|---|
| 886 | GHC.IO.Encoding.CodePage.Table. That file was generated automatically |
|---|
| 887 | by running codepages/MakeTable.hs; more details are in the comments at the |
|---|
| 888 | start of that script. |
|---|
| 889 | |
|---|
| 890 | Storing the lookup tables adds about 40KB to each statically linked executable; |
|---|
| 891 | this only increases the size of a "hello world" program by about 7%. |
|---|
| 892 | |
|---|
| 893 | Currently we do not support double-byte encodings (Chinese/Japanese/Korean), since |
|---|
| 894 | including those codepages would increase the table size to 400KB. It will be |
|---|
| 895 | straightforward to implement them once the work on library DLLs is finished. |
|---|
| 896 | ] |
|---|
| 897 | [Fix "init" docs: the input list need not be finite. Fixes trac #3465 |
|---|
| 898 | Ian Lynagh <igloo@earth.li>**20090911210437] |
|---|
| 899 | [Bump base version to 4.2.0.0 |
|---|
| 900 | Ian Lynagh <igloo@earth.li>**20090911153913] |
|---|
| 901 | [Address #3310 |
|---|
| 902 | Simon Marlow <marlowsd@gmail.com>**20090830152850 |
|---|
| 903 | Ignore-this: 40c7f7c171ee299a83092fd360a952b7 |
|---|
| 904 | |
|---|
| 905 | - Rename BlockedOnDeadMVar -> BlockedIndefinitelyOnMVar |
|---|
| 906 | - Rename BlockedIndefinitely -> BlockedIndefinitelyOnSTM |
|---|
| 907 | - instance Show BlockedIndefinitelyOnMVar is now |
|---|
| 908 | "blocked indefinitely in an MVar operation" |
|---|
| 909 | - instance Show BlockedIndefinitelyOnSTM is now |
|---|
| 910 | "blocked indefinitely in an STM transaction" |
|---|
| 911 | |
|---|
| 912 | clients using Control.OldException will be unaffected (the new |
|---|
| 913 | exceptions are mapped to the old names). However, for base4-compat |
|---|
| 914 | we'll need to make a version of catch/try that does a similar |
|---|
| 915 | mapping. |
|---|
| 916 | ] |
|---|
| 917 | [Fix unicode conversion for MSB architectures |
|---|
| 918 | Ben.Lippmeier@anu.edu.au**20090830130028 |
|---|
| 919 | This fixes the SPARC/Solaris build. |
|---|
| 920 | ] |
|---|
| 921 | [Fix #3441: detect errors in partial sequences |
|---|
| 922 | Simon Marlow <marlowsd@gmail.com>**20090830075909 |
|---|
| 923 | Ignore-this: d12a75d95e0cae5eb1555266810ec281 |
|---|
| 924 | ] |
|---|
| 925 | [Fix hWaitForInput |
|---|
| 926 | Simon Marlow <marlowsd@gmail.com>**20090827152116 |
|---|
| 927 | Ignore-this: 2550e911f1a4d4357a5aa8d1764238ce |
|---|
| 928 | It was erroneously waiting when there were bytes to decode waiting in |
|---|
| 929 | the byte buffer. |
|---|
| 930 | ] |
|---|
| 931 | [fix debugging code |
|---|
| 932 | Simon Marlow <marlowsd@gmail.com>**20090827150628 |
|---|
| 933 | Ignore-this: e1c82fdc19a22e247cd69ff6fa11921d |
|---|
| 934 | ] |
|---|
| 935 | [Allow for configurable iconv include and library locations. |
|---|
| 936 | Matthias Kilian <kili@outback.escape.de>**20090826154406 |
|---|
| 937 | Ignore-this: be95fab611a5534cf184b508964ed498 |
|---|
| 938 | This should help to fix the build on OpenBSD. |
|---|
| 939 | ] |
|---|
| 940 | [typo in comment |
|---|
| 941 | Simon Marlow <marlowsd@gmail.com>**20090826085252 |
|---|
| 942 | Ignore-this: 1903ee0f354157a6ed3871c100f6b1b9 |
|---|
| 943 | ] |
|---|
| 944 | [un-hide some modules from the Haddock docs |
|---|
| 945 | Simon Marlow <marlowsd@gmail.com>**20090825152457 |
|---|
| 946 | Ignore-this: dce6606f93cf977fb24ebe99082dfa62 |
|---|
| 947 | ] |
|---|
| 948 | [Apply fix for #1548, from squadette@gmail.com |
|---|
| 949 | Simon Marlow <marlowsd@gmail.com>**20090819120700 |
|---|
| 950 | Ignore-this: 31c237c46a6445f588ed4b8c51bb6231 |
|---|
| 951 | ] |
|---|
| 952 | [improvements to Data.Fixed: instances for Typeable and Data, more predefined types |
|---|
| 953 | Ashley Yakeley <ashley@semantic.org>**20090812055058 |
|---|
| 954 | Ignore-this: feeece36d5632f02a05d137d2a39ab78 |
|---|
| 955 | ] |
|---|
| 956 | [Fix "Cabal check" warnings |
|---|
| 957 | Ian Lynagh <igloo@earth.li>**20090811215856] |
|---|
| 958 | [Add a GHC.Constants module; fixes trac #3094 |
|---|
| 959 | Ian Lynagh <igloo@earth.li>**20090809183252] |
|---|
| 960 | [Apply proposal #3393 |
|---|
| 961 | Ian Lynagh <igloo@earth.li>**20090809134717 |
|---|
| 962 | Add openTempFileWithDefaultPermissions and |
|---|
| 963 | openBinaryTempFileWithDefaultPermissions. |
|---|
| 964 | ] |
|---|
| 965 | [Add some more C wrappers; patch from Krister Walfridsson |
|---|
| 966 | Ian Lynagh <igloo@earth.li>**20090807200631 |
|---|
| 967 | Fixes 21 testsuite errors on NetBSD 5.99. |
|---|
| 968 | ] |
|---|
| 969 | [Fixing configure for autoconf 2.64 |
|---|
| 970 | Alexander Dunlap <alexander.dunlap@gmail.com>**20090805060748 |
|---|
| 971 | Ignore-this: 992ab91ae3d68c12dbb265776e33e243 |
|---|
| 972 | ] |
|---|
| 973 | [add INLINE toList |
|---|
| 974 | Ross Paterson <ross@soi.city.ac.uk>**20090806142853 |
|---|
| 975 | Ignore-this: aba16aabb17d5dca44f15d188945680e |
|---|
| 976 | |
|---|
| 977 | In anticipation of the fixing of #2353. |
|---|
| 978 | ] |
|---|
| 979 | [fix a copyright |
|---|
| 980 | Simon Marlow <marlowsd@gmail.com>**20090805134045 |
|---|
| 981 | Ignore-this: b0ffbdd38fbba121e8bcba37c4082a60 |
|---|
| 982 | ] |
|---|
| 983 | [Tweak the BufferedIO class to enable a memory-mapped file implementation |
|---|
| 984 | Simon Marlow <marlowsd@gmail.com>**20090805134036 |
|---|
| 985 | Ignore-this: ec67d7a0a6d977438deaa342503f77e0 |
|---|
| 986 | We have to eliminate the assumption that an empty write buffer can be |
|---|
| 987 | constructed by setting the buffer pointers to zero: this isn't |
|---|
| 988 | necessarily the case when the buffer corresponds to a memory-mapped |
|---|
| 989 | file, or other in-memory device implementation. |
|---|
| 990 | ] |
|---|
| 991 | [Deprecate Control.OldException |
|---|
| 992 | Ian Lynagh <igloo@earth.li>**20090804143910] |
|---|
| 993 | [Windows build fix, following RTS tidyup |
|---|
| 994 | Simon Marlow <marlowsd@gmail.com>**20090803131121 |
|---|
| 995 | Ignore-this: ce862fb91c2b234211a8757f98690778 |
|---|
| 996 | ] |
|---|
| 997 | [Updates to follow the RTS tidyup |
|---|
| 998 | Simon Marlow <marlowsd@gmail.com>**20090801220743 |
|---|
| 999 | Ignore-this: 6e92412df93a66c12d75344053d5634 |
|---|
| 1000 | C functions like isDoubleNaN moved here (primFloat.c) |
|---|
| 1001 | ] |
|---|
| 1002 | [Add integer-simple as a build option |
|---|
| 1003 | Ian Lynagh <igloo@earth.li>**20090722013151] |
|---|
| 1004 | [Use shift[LR]Integer in the Bits Integer instance |
|---|
| 1005 | Ian Lynagh <igloo@earth.li>**20090721222440] |
|---|
| 1006 | [depend directly on integer-gmp, rather than indirecting through integer |
|---|
| 1007 | Ian Lynagh <igloo@earth.li>**20090721185228] |
|---|
| 1008 | [Move the instances of Functor and Monad IO to GHC.Base, to avoid orphans |
|---|
| 1009 | Simon Marlow <marlowsd@gmail.com>**20090722102130 |
|---|
| 1010 | Ignore-this: a7d85ac0025d559674249de0108dbcf4 |
|---|
| 1011 | ] |
|---|
| 1012 | [move "instance Exception Dynamic" so it isn't an orphan |
|---|
| 1013 | Simon Marlow <marlowsd@gmail.com>**20090721093854 |
|---|
| 1014 | Ignore-this: 5ede91ecfec2112c91b699d4de87cd02 |
|---|
| 1015 | ] |
|---|
| 1016 | [Improve the index checking for array accesses; fixes #2120 #2669 |
|---|
| 1017 | Ian Lynagh <igloo@earth.li>**20090719153228 |
|---|
| 1018 | As well as checking that offset we are reading is actually inside the |
|---|
| 1019 | array, we now also check that it is "in range" as defined by the Ix |
|---|
| 1020 | instance. This fixes confusing behaviour (#2120) and improves some error |
|---|
| 1021 | messages (#2669). |
|---|
| 1022 | ] |
|---|
| 1023 | [Make chr say what its argument was, if it's a bad argument |
|---|
| 1024 | Ian Lynagh <igloo@earth.li>**20090718151049] |
|---|
| 1025 | [remove unused warning |
|---|
| 1026 | Simon Marlow <marlowsd@gmail.com>**20090715124416 |
|---|
| 1027 | Ignore-this: 31f613654089d0f4a44363946087b41e |
|---|
| 1028 | ] |
|---|
| 1029 | [warning fix: -fno-implicit-prelude -> -XNoImplicitPrelude |
|---|
| 1030 | Simon Marlow <marlowsd@gmail.com>**20090715122839 |
|---|
| 1031 | Ignore-this: dc8957249731d5bcb71c01899e5adf2b |
|---|
| 1032 | ] |
|---|
| 1033 | [Add hGetEncoding :: Handle -> IO (Maybe TextEncoding) |
|---|
| 1034 | Simon Marlow <marlowsd@gmail.com>**20090715122519 |
|---|
| 1035 | Ignore-this: 14c3eff996db062da1199739781e4708 |
|---|
| 1036 | as suggested during the discussion on the libraries list |
|---|
| 1037 | ] |
|---|
| 1038 | [Add more documentation to mkTextEncoding |
|---|
| 1039 | Simon Marlow <marlowsd@gmail.com>**20090715122414 |
|---|
| 1040 | Ignore-this: 97253b2624267df3a246a18121e8ea81 |
|---|
| 1041 | noting that "//IGNORE" and "//TRANSLIT" suffixes can be used with GNU |
|---|
| 1042 | iconv. |
|---|
| 1043 | ] |
|---|
| 1044 | [Add the utf8_bom codec |
|---|
| 1045 | Simon Marlow <marlowsd@gmail.com>**20090715122257 |
|---|
| 1046 | Ignore-this: 1c9396cd805201fe873a39382ced79c7 |
|---|
| 1047 | as suggested during the discussion on the libraries list. |
|---|
| 1048 | ] |
|---|
| 1049 | [Export Unicode and newline functionality from System.IO; update Haddock docs |
|---|
| 1050 | Simon Marlow <marlowsd@gmail.com>**20090713113104 |
|---|
| 1051 | Ignore-this: c3f017a555335aa55d106253393f72e2 |
|---|
| 1052 | ] |
|---|
| 1053 | [add a comment about the non-workingness of CHARBUF_UTF16 |
|---|
| 1054 | Simon Marlow <marlowsd@gmail.com>**20090707124406 |
|---|
| 1055 | Ignore-this: 98d00411b68d688b3b4cffc9507b1f35 |
|---|
| 1056 | ] |
|---|
| 1057 | [Fix build on Windows |
|---|
| 1058 | Ian Lynagh <igloo@earth.li>**20090711004351] |
|---|
| 1059 | [Fix some "warn-unused-do-bind" warnings where we want to ignore the value |
|---|
| 1060 | Ian Lynagh <igloo@earth.li>**20090710204513] |
|---|
| 1061 | [Use throwErrnoIfMinus1_ when calling getrusage |
|---|
| 1062 | Ian Lynagh <igloo@earth.li>**20090710204221] |
|---|
| 1063 | [Remove an unused import |
|---|
| 1064 | Ian Lynagh <igloo@earth.li>**20090710153345] |
|---|
| 1065 | [reportStackOverflow now returns IO () |
|---|
| 1066 | Ian Lynagh <igloo@earth.li>**20090710153257 |
|---|
| 1067 | It used to do "return undefined" to return IO a. |
|---|
| 1068 | ] |
|---|
| 1069 | [GHC.Conc.reportError now returns IO () |
|---|
| 1070 | Ian Lynagh <igloo@earth.li>**20090710152646 |
|---|
| 1071 | It used to return IO a, by "return undefined". |
|---|
| 1072 | ] |
|---|
| 1073 | [Fix some "warn-unused-do-bind" warnings where we want to ignore the value |
|---|
| 1074 | Ian Lynagh <igloo@earth.li>**20090710152526] |
|---|
| 1075 | [Minor SampleVar refactoring |
|---|
| 1076 | Ian Lynagh <igloo@earth.li>**20090710151438] |
|---|
| 1077 | [Fix "warn-unused-do-bind" warnings in GHC/IO/Handle/Text.hs |
|---|
| 1078 | Ian Lynagh <igloo@earth.li>**20090710122905] |
|---|
| 1079 | [Fix some "warn-unused-do-bind" warnings where we just want to ignore the result |
|---|
| 1080 | Ian Lynagh <igloo@earth.li>**20090710005638] |
|---|
| 1081 | [Use the result of writeCharBuf in GHC/IO/Encoding/Latin1.hs too |
|---|
| 1082 | Ian Lynagh <igloo@earth.li>**20090710004032] |
|---|
| 1083 | [Minor code tidyups in GHC.Conc |
|---|
| 1084 | Ian Lynagh <igloo@earth.li>**20090710003801] |
|---|
| 1085 | [Fix "warn-unused-do-bind" warning in GHC.Conc |
|---|
| 1086 | Ian Lynagh <igloo@earth.li>**20090710003530 |
|---|
| 1087 | If we fail to communicate with the IO manager then we print a warning |
|---|
| 1088 | using debugErrLn from the ghc-prim package. |
|---|
| 1089 | ] |
|---|
| 1090 | [Fix "warn-unused-do-bind" warnings in System.Posix.Internals |
|---|
| 1091 | Ian Lynagh <igloo@earth.li>**20090709164546] |
|---|
| 1092 | [Fix "warn-unused-do-bind" warnings where we really do want to ignore the result |
|---|
| 1093 | Ian Lynagh <igloo@earth.li>**20090709163912] |
|---|
| 1094 | [Add back imports needed on Windows |
|---|
| 1095 | Ian Lynagh <igloo@earth.li>**20090707181924] |
|---|
| 1096 | [Remove unused imports |
|---|
| 1097 | Ian Lynagh <igloo@earth.li>**20090707115810] |
|---|
| 1098 | [Remove unused imports from base |
|---|
| 1099 | simonpj@microsoft.com**20090706111842 |
|---|
| 1100 | Ignore-this: f9b5f353e3bb820f787c56d615b28765 |
|---|
| 1101 | |
|---|
| 1102 | These unused imports are detected by the new unused-import code |
|---|
| 1103 | |
|---|
| 1104 | ] |
|---|
| 1105 | [Use the result of writeCharBuf |
|---|
| 1106 | Simon Marlow <marlowsd@gmail.com>**20090706133303 |
|---|
| 1107 | Ignore-this: 52288dd559bf4c4f313df6197091d935 |
|---|
| 1108 | |
|---|
| 1109 | This only makes a difference when CHARBUF_UTF16 is in use, which it |
|---|
| 1110 | normally isn't. I suspect CHARBUF_UTF16 doesn't currently work for |
|---|
| 1111 | other reasons (CHARBUF_UTF16 was an experiment before I wrote the |
|---|
| 1112 | GHC.IO.Encoding.UTF* codecs), but this patch at least makes it |
|---|
| 1113 | slightly closer to working. |
|---|
| 1114 | ] |
|---|
| 1115 | [Remove some cruft from Data.HashTable |
|---|
| 1116 | Ian Lynagh <igloo@earth.li>**20090706181630] |
|---|
| 1117 | [Add 'eof' to Text.ParserCombinators.ReadP |
|---|
| 1118 | simonpj@microsoft.com**20090706111801 |
|---|
| 1119 | Ignore-this: 2aea7b848e00c894761bc4011adaa95d |
|---|
| 1120 | |
|---|
| 1121 | Add a ReadP parser that succeeds at the end of input. Very useful! |
|---|
| 1122 | |
|---|
| 1123 | ] |
|---|
| 1124 | [Don't export CLDouble for GHC; fixes trac #2793 |
|---|
| 1125 | Ian Lynagh <igloo@earth.li>**20090705155120 |
|---|
| 1126 | We never really supported CLDouble (it was a plain old double underneath), |
|---|
| 1127 | and pretending that we do does more harm than good. |
|---|
| 1128 | ] |
|---|
| 1129 | [a byte between 0x80 and 0xBF is illegal immediately (#3341) |
|---|
| 1130 | Simon Marlow <marlowsd@gmail.com>**20090702081415 |
|---|
| 1131 | Ignore-this: dc19ef59a1a21118d5a7dd38aa2f611c |
|---|
| 1132 | ] |
|---|
| 1133 | [avoid a warning |
|---|
| 1134 | Simon Marlow <marlowsd@gmail.com>**20090630084134 |
|---|
| 1135 | Ignore-this: c92a45ee216faf01327feae9fe06d6e2 |
|---|
| 1136 | ] |
|---|
| 1137 | [Add a wrapper for libiconv. |
|---|
| 1138 | Matthias Kilian <kili@outback.escape.de>**20090629183634 |
|---|
| 1139 | Ignore-this: 23c6047c0d71b745b495cc223574a47f |
|---|
| 1140 | ] |
|---|
| 1141 | [#include <sys/times.h> if we have it (should fix build problems) |
|---|
| 1142 | Simon Marlow <marlowsd@gmail.com>**20090629085351 |
|---|
| 1143 | Ignore-this: a35e93b37ca9595c73460243180f4b9d |
|---|
| 1144 | ] |
|---|
| 1145 | [set binary mode for existing FDs on Windows (fixes some GHCi test failures) |
|---|
| 1146 | Simon Marlow <marlowsd@gmail.com>**20090626120522 |
|---|
| 1147 | Ignore-this: 580cf636e9c77d8427aff6861d089481 |
|---|
| 1148 | ] |
|---|
| 1149 | [Move directory-related stuff to the unix package |
|---|
| 1150 | Simon Marlow <marlowsd@gmail.com>**20090625120325 |
|---|
| 1151 | Ignore-this: b997b3cbce0a46ca87ad825bbdc0a411 |
|---|
| 1152 | now that it isn't used on Windows any more. |
|---|
| 1153 | ] |
|---|
| 1154 | [TAG 2009-06-25 |
|---|
| 1155 | Ian Lynagh <igloo@earth.li>**20090625160056] |
|---|
| 1156 | Patch bundle hash: |
|---|
| 1157 | 52d6402612e0fec9e5b204bc1a959e25d316ac43 |
|---|