tharris@microsoft.com [Sat, 7 Oct 2006 12:32:53 +0000 (12:32 +0000)]
STM invariants
Samuel Bronson [Mon, 9 Oct 2006 02:09:06 +0000 (02:09 +0000)]
Inline shift in GHC's Bits instances for {Int,Word}{,8,16,32,64}
Ian Lynagh [Wed, 4 Oct 2006 16:53:55 +0000 (16:53 +0000)]
Don't create GHC.Prim when bootstrapping; we can't, and we don't need it
Don Stewart [Thu, 5 Oct 2006 01:17:03 +0000 (01:17 +0000)]
Data.ByteString: fix lazyness of take, drop & splitAt
ByteString.Lazy's take, drop and splitAt were too strict when demanding
a byte string. Spotted by Einar Karttunen. Thanks to him and to Bertram
Felgenhauer for explaining the problem and the fix.
brianlsmith@gmail.com [Sun, 17 Sep 2006 01:35:30 +0000 (01:35 +0000)]
Fix syntax error that prevents building Haddock documentation on Windows
Ross Paterson [Fri, 29 Sep 2006 10:27:43 +0000 (10:27 +0000)]
Hugs only: unbreak typeRepKey
Simon Marlow [Wed, 27 Sep 2006 14:58:11 +0000 (14:58 +0000)]
make hGetBufNonBlocking do something on Windows w/ -threaded
hGetBufNonBlocking will behave the same as hGetBuf on Windows now, which
is better than just crashing (which it did previously).
Simon Marlow [Wed, 27 Sep 2006 10:03:42 +0000 (10:03 +0000)]
add typeRepKey :: TypeRep -> IO Int
See feature request #880
Ross Paterson [Tue, 26 Sep 2006 13:58:43 +0000 (13:58 +0000)]
fix header comment
jeanphilippe.bernardy@gmail.com [Sun, 10 Sep 2006 16:24:43 +0000 (16:24 +0000)]
Add strict versions of insertWith and insertWithKey (Data.Map)
Ross Paterson [Sun, 10 Sep 2006 11:52:59 +0000 (11:52 +0000)]
doc tweaks, including more precise equations for evaluate
Don Stewart [Sat, 9 Sep 2006 05:01:11 +0000 (05:01 +0000)]
Sync Data.ByteString with stable branch
This patch:
* hides the LPS constructor (its in .Base if you need it)
* adds functions to convert between strict and lazy bytestrings
* and adds readInteger
Ross Paterson [Mon, 4 Sep 2006 23:14:25 +0000 (23:14 +0000)]
Typeable1 instances for STM and TVar
Ross Paterson [Mon, 4 Sep 2006 22:39:44 +0000 (22:39 +0000)]
remove obsolete Hugs stuff
John Goerzen [Fri, 1 Sep 2006 14:36:54 +0000 (14:36 +0000)]
Cleaner isInfixOf suggestion from Ross Paterson
John Goerzen [Thu, 31 Aug 2006 15:15:56 +0000 (15:15 +0000)]
New function isInfixOf that searches a list for a given sublist
Example:
isInfixOf "Haskell" "I really like Haskell." -> True
isInfixOf "Ial" "I really like Haskell." -> False
This function was first implemented in MissingH as MissingH.List.contains
jeanphilippe.bernardy@gmail.com [Sun, 3 Sep 2006 13:34:40 +0000 (13:34 +0000)]
Better doc on Data.Map.lookup: explain what the monad is for
Simon Marlow [Fri, 1 Sep 2006 15:00:16 +0000 (15:00 +0000)]
fix hDuplicateTo on Windows
deja vu - I'm sure I remember fixing this before...
Ross Paterson [Thu, 31 Aug 2006 12:52:19 +0000 (12:52 +0000)]
mark nhc98 import hack
Simon Marlow [Thu, 31 Aug 2006 10:42:00 +0000 (10:42 +0000)]
remove some outdated comments
Malcolm.Wallace@cs.york.ac.uk [Thu, 31 Aug 2006 10:11:05 +0000 (10:11 +0000)]
import Control.Arrow.ArrowZero to help nhc98's type checker
Malcolm.Wallace@cs.york.ac.uk [Thu, 31 Aug 2006 10:10:16 +0000 (10:10 +0000)]
remove Text.Regex(.Posix) from nhc98 build
Ross Paterson [Wed, 30 Aug 2006 16:35:21 +0000 (16:35 +0000)]
add Data.Foldable.{msum,asum}, plus tweaks to comments
Ross Paterson [Wed, 30 Aug 2006 13:41:23 +0000 (13:41 +0000)]
fix doc typo
Ross Paterson [Wed, 30 Aug 2006 13:38:05 +0000 (13:38 +0000)]
add Data.Foldable.{for_,forM_} and Data.Traversable.{for,forM}
generalizing Control.Monad.{forM_,forM}
simonpj@microsoft [Mon, 8 May 2006 14:27:26 +0000 (14:27 +0000)]
Make length a good consumer
Make length into a good consumer. Fixes Trac bug #707.
(Before length simply didn't use foldr.)
Don Stewart [Thu, 24 Aug 2006 08:11:18 +0000 (08:11 +0000)]
Add Control.Monad.forM and forM_
flip mapM_ is more and more common, I find. Several suggestions have
been made to add this, as foreach or something similar. This patch
does just that:
forM :: (Monad m) => [a] -> (a -> m b) -> m [b]
forM_ :: (Monad m) => [a] -> (a -> m b) -> m ()
So we can write:
Prelude Control.Monad> forM_ [1..4] $ \x -> print x
1
2
3
4
Don Stewart [Mon, 28 Aug 2006 01:15:15 +0000 (01:15 +0000)]
Hide internal module from haddock in Data.ByteString
Ross Paterson [Sun, 27 Aug 2006 17:04:07 +0000 (17:04 +0000)]
add advice on avoiding import ambiguities
Ross Paterson [Sun, 27 Aug 2006 16:40:44 +0000 (16:40 +0000)]
expand advice on importing these modules
Ross Paterson [Sun, 27 Aug 2006 11:51:40 +0000 (11:51 +0000)]
add Haddock marker
Don Stewart [Sat, 26 Aug 2006 12:43:46 +0000 (12:43 +0000)]
Clarify how one hides Prelude.catch
User feedback indicated that an example was required, of how to hide
Prelude.catch, so add such an example to the docs
Ian Lynagh [Fri, 25 Aug 2006 13:49:36 +0000 (13:49 +0000)]
Workaround for OSes that don't have intmax_t and uintmax_t
OpenBSD (and possibly others) do not have intmax_t and uintmax_t types:
http://www.mail-archive.com/haskell-prime@haskell.org/msg01548.html
so substitute (unsigned) long long if we have them, otherwise
(unsigned) long.
Simon Marlow [Fri, 25 Aug 2006 11:06:10 +0000 (11:06 +0000)]
add docs for par
Ross Paterson [Thu, 24 Aug 2006 14:05:04 +0000 (14:05 +0000)]
document minimal complete definition for Bits
Simon Marlow [Thu, 24 Aug 2006 13:23:11 +0000 (13:23 +0000)]
C regex library bits have moved to the regex-posix package
Esa Ilari Vuokko [Wed, 23 Aug 2006 00:31:26 +0000 (00:31 +0000)]
Add shared Typeable support (ghc only)
Simon Marlow [Thu, 24 Aug 2006 12:12:23 +0000 (12:12 +0000)]
this should have been removed with the previous patch
Simon Marlow [Thu, 24 Aug 2006 09:46:15 +0000 (09:46 +0000)]
remove Text.Regx & Text.Regex.Posix
These are subsumed by the new regex-base, regex-posix and regex-compat
packages.
Don Stewart [Thu, 24 Aug 2006 04:13:26 +0000 (04:13 +0000)]
explicitly tag Data.ByteString rules with the FPS prefix.
Don Stewart [Thu, 24 Aug 2006 01:26:11 +0000 (01:26 +0000)]
Add spec rules for sections in Data.ByteString
Don Stewart [Wed, 23 Aug 2006 14:33:38 +0000 (14:33 +0000)]
Sync Data.ByteString with current stable branch, 0.7
Simon Marlow [Wed, 23 Aug 2006 09:50:59 +0000 (09:50 +0000)]
add notes about why copyFile doesn't remove the target
Simon Marlow [Tue, 22 Aug 2006 12:19:09 +0000 (12:19 +0000)]
copyFile: try removing the target file before opening it for writing
Simon Marlow [Tue, 22 Aug 2006 12:19:09 +0000 (12:19 +0000)]
copyFile: try removing the target file before opening it for writing
Ross Paterson [Mon, 21 Aug 2006 15:21:51 +0000 (15:21 +0000)]
add alternative functors and extra instances
* Alternative class, for functors with a monoid
* instances for Const
* instances for arrows
Simon Marlow [Mon, 21 Aug 2006 13:16:12 +0000 (13:16 +0000)]
generate Haddock docs on all platforms
Ross Paterson [Sat, 19 Aug 2006 17:39:54 +0000 (17:39 +0000)]
remove extra comma from import
Ross Paterson [Fri, 18 Aug 2006 17:03:28 +0000 (17:03 +0000)]
fix docs for withC(A)StringLen
Malcolm.Wallace@cs.york.ac.uk [Fri, 18 Aug 2006 13:08:10 +0000 (13:08 +0000)]
use Haskell'98 compliant indentation in do blocks
Malcolm.Wallace@cs.york.ac.uk [Fri, 18 Aug 2006 13:07:14 +0000 (13:07 +0000)]
use correct names of IOArray operations for nhc98
Ross Paterson [Thu, 17 Aug 2006 23:50:41 +0000 (23:50 +0000)]
add mapMaybe and mapEither, plus WithKey variants
Malcolm.Wallace@cs.york.ac.uk [Thu, 17 Aug 2006 13:55:02 +0000 (13:55 +0000)]
remove Text.Html from nhc98 build
Ross Paterson [Tue, 15 Aug 2006 19:06:09 +0000 (19:06 +0000)]
eliminate more HOST_OS tests
Ross Paterson [Sun, 13 Aug 2006 18:44:35 +0000 (18:44 +0000)]
Hugs only: disable unused process primitives
These were the cause of Hugs bug #30, I think, and weren't used by Hugs anyway.
Ross Paterson [Sat, 12 Aug 2006 10:38:35 +0000 (10:38 +0000)]
markup fix to Data.HashTable
Ross Paterson [Sat, 12 Aug 2006 08:27:02 +0000 (08:27 +0000)]
revert removal of ghcconfig.h from package.conf.in
as it's preprocessed with -undef (pointed out by Esa Ilari Vuokko)
Ross Paterson [Fri, 11 Aug 2006 23:15:21 +0000 (23:15 +0000)]
fix Data.HashTable for non-GHC
Simon Marlow [Fri, 11 Aug 2006 15:23:50 +0000 (15:23 +0000)]
remove deprecated 'withObject'
Simon Marlow [Fri, 11 Aug 2006 15:10:24 +0000 (15:10 +0000)]
Jan-Willem Maessen's improved implementation of Data.HashTable
Rather than incrementally enlarging the hash table, this version
just does it in one go when the table gets too full.
sven.panne@aedion.de [Fri, 11 Aug 2006 14:46:29 +0000 (14:46 +0000)]
Warning police: Make some prototypes from the RTS known
sven.panne@aedion.de [Fri, 11 Aug 2006 14:22:08 +0000 (14:22 +0000)]
Warning police: Removed useless catch-all clause
Ross Paterson [Fri, 11 Aug 2006 12:40:30 +0000 (12:40 +0000)]
reduce dependency on ghcconfig.h
The only remaining use is in cbits/dirUtils.h, which tests solaris2_HOST_OS
(Also System.Info uses ghcplatform.h and several modules import MachDeps.h
to get SIZEOF_* and ALIGNMENT_* from ghcautoconf.h)
Ross Paterson [Thu, 10 Aug 2006 18:29:02 +0000 (18:29 +0000)]
(non-GHC only) track MArray interface change
Simon Marlow [Thu, 10 Aug 2006 11:30:17 +0000 (11:30 +0000)]
move Text.Html to a separate package
Simon Marlow [Thu, 10 Aug 2006 11:28:33 +0000 (11:28 +0000)]
bump version to 2.0
Simon Marlow [Wed, 9 Aug 2006 15:38:10 +0000 (15:38 +0000)]
Remove deprecated Data.FiniteMap and Data.Set interfaces
Ross Paterson [Wed, 9 Aug 2006 12:42:59 +0000 (12:42 +0000)]
move altzone test from ghc to base package
Ross Paterson [Wed, 9 Aug 2006 12:38:12 +0000 (12:38 +0000)]
remove unnecessary #include "ghcconfig.h"
Simon Marlow [Wed, 9 Aug 2006 10:05:48 +0000 (10:05 +0000)]
Change the API of MArray to allow resizable arrays
See #704
The MArray class doesn't currently allow a mutable array to change its
size, because of the pure function
bounds :: (HasBounds a, Ix i) => a i e -> (i,i)
This patch removes the HasBounds class, and adds
getBounds :: (MArray a e m, Ix i) => a i e -> m (i,i)
to the MArray class, and
bounds :: (IArray a e, Ix i) => a i e -> (i,i)
to the IArray class.
The reason that bounds had to be incorporated into the IArray class is
because I couldn't make DiffArray work without doing this. DiffArray
acts as a layer converting an MArray into an IArray, and there was no
way (that I could find) to define an instance of HasBounds for
DiffArray.
Simon Marlow [Tue, 8 Aug 2006 10:07:08 +0000 (10:07 +0000)]
deprecate this module.
Simon Marlow [Mon, 7 Aug 2006 15:55:45 +0000 (15:55 +0000)]
add traceShow (see #474)
Simon Marlow [Mon, 24 Jul 2006 16:02:58 +0000 (16:02 +0000)]
remove spurious 'extern "C" {'
Simon Marlow [Fri, 21 Jul 2006 10:02:25 +0000 (10:02 +0000)]
Fix unsafeIndex for large ranges
simonpj@microsoft [Fri, 14 Jul 2006 12:02:07 +0000 (12:02 +0000)]
Improve documentation of atomically
simonpj@microsoft [Fri, 7 Jul 2006 15:19:01 +0000 (15:19 +0000)]
Add missing method genRange for StdGen (fixes #794)
MERGE TO STABLE
Trac #794 reports (correctly) that the implementation of StdGen
only returns numbers in the range (0..something) rather than
(minBound, maxBound), which is what StdGen's genRange claims.
This commit fixes the problem, by implementing genRange for StdGen
(previously it just used the default method).
Malcolm.Wallace@cs.york.ac.uk [Tue, 11 Jul 2006 16:16:14 +0000 (16:16 +0000)]
disambiguate uses of foldr for nhc98 to compile without errors
Malcolm.Wallace@cs.york.ac.uk [Tue, 11 Jul 2006 16:09:41 +0000 (16:09 +0000)]
make Control.Monad.Instances compilable by nhc98
Lemmih [Sat, 8 Jul 2006 05:55:28 +0000 (05:55 +0000)]
breakpointCond
Simon Marlow [Wed, 5 Jul 2006 14:25:37 +0000 (14:25 +0000)]
UNDO: Merge "unrecognized long opt" fix from 6.4.2
This patch undid the previous patch, "RequireOrder: do not collect
unrecognised options after a non-opt". I asked Sven to revert it, but
didn't get an answer.
See bug #473.
Don Stewart [Mon, 3 Jul 2006 09:18:06 +0000 (09:18 +0000)]
Avoid strictness in accumulator for unpackFoldr
The seq on the accumulator for unpackFoldr will break in the presence of
head/build rewrite rules. The empty list case will be forced, producing
an exception. This is a known issue with seq and rewrite rules that we
just stumbled on to.
Don Stewart [Sun, 2 Jul 2006 08:39:13 +0000 (08:39 +0000)]
Disable unpack/build fusion
unpack/build on bytestrings seems to trigger a bug when interacting with
head/build fusion in GHC.List. The bytestring001 testcase catches it.
I'll investigate further, but best to disable this for now (its not
often used anyway).
Note that with -frules-off or ghc 6.4.2 things are fine. It seems to
have emerged with the recent rules changes.
Don Stewart [Sat, 1 Jul 2006 08:43:45 +0000 (08:43 +0000)]
Import Data.ByteString.Lazy, improve ByteString Fusion, and resync with FPS head
This patch imports the Data.ByteString.Lazy module, and its helpers,
providing a ByteString implemented as a lazy list of strict cache-sized
chunks. This type allows the usual lazy operations to be written on
bytestrings, including lazy IO, with much improved space and time over
the [Char] equivalents.
Don Stewart [Fri, 9 Jun 2006 07:59:24 +0000 (07:59 +0000)]
Wibble in docs for new ForeignPtr functionsn
Ross Paterson [Thu, 22 Jun 2006 17:04:36 +0000 (17:04 +0000)]
comments for Applicative and Traversable
Simon Marlow [Thu, 22 Jun 2006 14:44:46 +0000 (14:44 +0000)]
default to NoBuffering on Windows for a read/write text file
Fixes (works around) #679
Simon Marlow [Thu, 22 Jun 2006 14:44:33 +0000 (14:44 +0000)]
remove dead code
Simon Marlow [Thu, 22 Jun 2006 11:29:11 +0000 (11:29 +0000)]
clarify and expand docs
jeanphilippe.bernardy@gmail.com [Fri, 16 Jun 2006 18:01:21 +0000 (18:01 +0000)]
Add minView and maxView to Map and Set
Ross Paterson [Wed, 14 Jun 2006 11:44:56 +0000 (11:44 +0000)]
add signature for registerDelay
Ross Paterson [Tue, 13 Jun 2006 14:27:04 +0000 (14:27 +0000)]
a few doc comments
Don Stewart [Thu, 8 Jun 2006 01:50:11 +0000 (01:50 +0000)]
Optimised foreign pointer representation, for heap-allocated objects
simonpj@microsoft.com [Mon, 5 Jun 2006 11:58:14 +0000 (11:58 +0000)]
Add the inline function, and many comments
This commit adds the 'inline' function described in the
related patch in the compiler.
I've also added comments about the 'lazy' function.
Ross Paterson [Thu, 25 May 2006 11:16:04 +0000 (11:16 +0000)]
small intro to exceptions
Simon Marlow [Thu, 25 May 2006 09:04:56 +0000 (09:04 +0000)]
export breakpoint
Don Stewart [Thu, 25 May 2006 06:50:12 +0000 (06:50 +0000)]
Merge in changes from fps head. Highlights:
Wed May 24 15:49:38 EST 2006 sjanssen@cse.unl.edu
* instance Monoid ByteString
Wed May 24 15:04:04 EST 2006 Duncan Coutts <duncan.coutts@worc.ox.ac.uk>
* Rearange export lists for the .Char8 modules
Wed May 24 14:59:56 EST 2006 Duncan Coutts <duncan.coutts@worc.ox.ac.uk>
* Implement mapAccumL and reimplement mapIndexed using loopU
Wed May 24 14:47:32 EST 2006 Duncan Coutts <duncan.coutts@worc.ox.ac.uk>
* Change the implementation of the unfoldr(N) functions.
Use a more compact implementation for unfoldrN and change it's behaviour
to only return Just in the case that it actually 'overflowed' the N, so
the boundary case of unfolding exactly N gives Nothing.
Implement unfoldr and Lazy.unfoldr in terms of unfoldrN. Use fibonacci
growth for the chunk size in unfoldr
Wed May 24 08:32:29 EST 2006 sjanssen@cse.unl.edu
* Add unfoldr to ByteString and .Char8
A preliminary implementation of unfoldr.
Wed May 24 01:39:41 EST 2006 Duncan Coutts <duncan.coutts@worc.ox.ac.uk>
* Reorder the export lists to better match the Data.List api
Tue May 23 14:04:32 EST 2006 Don Stewart <dons@cse.unsw.edu.au>
* pack{Byte,Char} -> singleton. As per fptools convention
Tue May 23 14:00:51 EST 2006 Don Stewart <dons@cse.unsw.edu.au>
* elemIndexLast -> elemIndexEnd
Tue May 23 13:57:34 EST 2006 Don Stewart <dons@cse.unsw.edu.au>
* In the search for a more orthogonal api, we kill breakFirst/breakLast,
which were of dubious value
Tue May 23 12:24:09 EST 2006 Don Stewart <dons@cse.unsw.edu.au>
* Abolish elems. It's name implied it was unpack, but its type didn't. it made no sense
Tue May 23 10:42:09 EST 2006 Duncan Coutts <duncan.coutts@worc.ox.ac.uk>
* Minor doc tidyup. Use haddock markup better.
Tue May 23 11:00:31 EST 2006 Don Stewart <dons@cse.unsw.edu.au>
* Simplify the join() implementation. Spotted by Duncan.
Simon Marlow [Wed, 24 May 2006 12:18:23 +0000 (12:18 +0000)]
add a way to ask the IO manager thread to exit
Don Stewart [Sat, 20 May 2006 03:04:36 +0000 (03:04 +0000)]
Sync with FPS head, including the following patches:
Thu May 18 15:45:46 EST 2006 sjanssen@cse.unl.edu
* Export unsafeTake and unsafeDrop
Fri May 19 11:53:08 EST 2006 Don Stewart <dons@cse.unsw.edu.au>
* Add foldl1'
Fri May 19 13:41:24 EST 2006 Don Stewart <dons@cse.unsw.edu.au>
* Add fuseable scanl, scanl1 + properties
Fri May 19 18:20:40 EST 2006 Don Stewart <dons@cse.unsw.edu.au>
* Spotted another chance to use unsafeTake,Drop (in groupBy)
Thu May 18 09:24:25 EST 2006 Duncan Coutts <duncan.coutts@worc.ox.ac.uk>
* More effecient findIndexOrEnd based on the impl of findIndex
Thu May 18 09:22:49 EST 2006 Duncan Coutts <duncan.coutts@worc.ox.ac.uk>
* Eliminate special case in findIndex since it's handled anyway.
Thu May 18 09:19:08 EST 2006 Duncan Coutts <duncan.coutts@worc.ox.ac.uk>
* Add unsafeTake and unsafeDrop
These versions assume the n is in the bounds of the bytestring, saving
two comparison tests. Then use them in varous places where we think this
holds. These cases need double checking (and there are a few remaining
internal uses of take / drop that might be possible to convert).
Not exported for the moment.
Tue May 16 23:15:11 EST 2006 Don Stewart <dons@cse.unsw.edu.au>
* Handle n < 0 in drop and splitAt. Spotted by QC.
Tue May 16 22:46:22 EST 2006 Don Stewart <dons@cse.unsw.edu.au>
* Handle n <= 0 cases for unfoldr and replicate. Spotted by QC
Tue May 16 21:34:11 EST 2006 Don Stewart <dons@cse.unsw.edu.au>
* mapF -> map', filterF -> filter'
Ross Paterson [Thu, 18 May 2006 15:47:23 +0000 (15:47 +0000)]
haddock fix
Ross Paterson [Thu, 18 May 2006 15:43:16 +0000 (15:43 +0000)]
simplify indexing in Data.Sequence