packages/stm.git
10 months agoPrepare 2.4.5.1 release 2.4.x v2.4.5.1
Herbert Valerio Riedel [Sat, 8 Sep 2018 09:24:16 +0000 (11:24 +0200)] 
Prepare 2.4.5.1 release

10 months agoFix size bookkeeping bug in flushTBQueue
Mitchell Rosen [Sun, 22 Apr 2018 20:19:30 +0000 (16:19 -0400)] 
Fix size bookkeeping bug in flushTBQueue

(partly cherry picked from commit 4f63bbc36f399ab4740d7a92f536067f42f7463b)

10 months agoflushTQueue: only perform writeTVar when necessary
Bas van Dijk [Tue, 20 Mar 2018 21:31:36 +0000 (22:31 +0100)] 
flushTQueue: only perform writeTVar when necessary

To prevent unnecessarily invalidating other transactions writeTVar
must only be called when its contents should actually be changed.

(cherry picked from commit a77aae736a98a605dedc4669d8a4cc55fb2d160e)

17 months agoAdd more `@since` annotations v2.4.5.0
Herbert Valerio Riedel [Sat, 3 Feb 2018 20:54:44 +0000 (21:54 +0100)] 
Add more `@since` annotations

17 months agoAdd docstring to `check`
Herbert Valerio Riedel [Sat, 3 Feb 2018 20:44:15 +0000 (21:44 +0100)] 
Add docstring to `check`

17 months agoFill in 2.4.5 for TBD placeholers
Herbert Valerio Riedel [Sat, 3 Feb 2018 20:35:46 +0000 (21:35 +0100)] 
Fill in 2.4.5 for TBD placeholers

17 months agoUpdate broken paper links and flesh out description field
Herbert Valerio Riedel [Sat, 3 Feb 2018 20:30:13 +0000 (21:30 +0100)] 
Update broken paper links and flesh out description field

17 months agoMerge pull request #5 from hvr/pr/TSem-multi-ops
Herbert Valerio Riedel [Sat, 3 Feb 2018 18:56:32 +0000 (19:56 +0100)] 
Merge pull request #5 from hvr/pr/TSem-multi-ops

Implement `signalTSemN` ~~& `waitTSemN`~~ operations

17 months agoRemove unfair `waitTSemN` operation again
Herbert Valerio Riedel [Sat, 3 Feb 2018 17:57:22 +0000 (18:57 +0100)] 
Remove unfair `waitTSemN` operation again

Better not offer an API entry point that's questionable as it's
tricky to use correctly.

17 months agoImplement `signalTSemN` & `waitTSemN` operations
Herbert Valerio Riedel [Thu, 28 Dec 2017 09:26:16 +0000 (10:26 +0100)] 
Implement `signalTSemN` & `waitTSemN` operations

These new operations allow to acquire/release a non-negative amount of
units to the semaphore.

18 months agoMerge pull request #4 from hvr/pr/TSem-improvements
Simon Marlow [Fri, 5 Jan 2018 21:20:30 +0000 (21:20 +0000)] 
Merge pull request #4 from hvr/pr/TSem-improvements

Make `signalTSem` resilient against `Int` overflows

18 months agoMake `signalTSem` resilient against `Int` overflows
Herbert Valerio Riedel [Thu, 28 Dec 2017 09:19:07 +0000 (10:19 +0100)] 
Make `signalTSem` resilient against `Int` overflows

This is accomplished by switching the internal implementation to using
an 'Integer' value for the internal counter value which can never
overflow; the small computational overhead is assumed be neglectable
in the context of STM transaction overheads.

`waitTSem` was never affected as it already blocks when the counter
becomes non-positive.

18 months agoAugment documentation of `Control.Concurrent.STM.TSem`
Herbert Valerio Riedel [Thu, 28 Dec 2017 09:15:35 +0000 (10:15 +0100)] 
Augment documentation of `Control.Concurrent.STM.TSem`

18 months agoupdate changelog and bump version
Herbert Valerio Riedel [Thu, 28 Dec 2017 09:11:44 +0000 (10:11 +0100)] 
update changelog and bump version

at the very least, this requires a minor ver bump

TODO: figure out if a minor or major ver bump is needed

18 months agoAdd flushTQueue, flushTBQueue
Mitchell Rosen [Mon, 20 Nov 2017 21:53:09 +0000 (16:53 -0500)] 
Add flushTQueue, flushTBQueue

19 months agoT14171: Make AMP-compatible
Ben Gamari [Wed, 22 Nov 2017 03:04:54 +0000 (22:04 -0500)] 
T14171: Make AMP-compatible

19 months agoMerge pull request #3 from arybczak/tqueue-contention-fix
Ben Gamari [Wed, 22 Nov 2017 03:02:25 +0000 (22:02 -0500)] 
Merge pull request #3 from arybczak/tqueue-contention-fix

Make definition of readTQueue consistent with readTBQueue (#9539)

19 months agoMerge pull request #2 from arybczak/tbqueue-leak-fix
Ben Gamari [Wed, 22 Nov 2017 02:54:07 +0000 (21:54 -0500)] 
Merge pull request #2 from arybczak/tbqueue-leak-fix

Fix space leak in TBQueue (#14494)

19 months agoUpdate Travis badge
Herbert Valerio Riedel [Mon, 20 Nov 2017 23:47:24 +0000 (00:47 +0100)] 
Update Travis badge

19 months agoMake definition of readTQueue consistent with readTBQueue (#9539)
Andrzej Rybczak [Mon, 20 Nov 2017 17:22:54 +0000 (18:22 +0100)] 
Make definition of readTQueue consistent with readTBQueue (#9539)

19 months agoUpdate URLs to point to github.com/haskell/stm
Herbert Valerio Riedel [Mon, 20 Nov 2017 20:19:59 +0000 (21:19 +0100)] 
Update URLs to point to github.com/haskell/stm

19 months agoFix space leak in TBQueue (#14494)
Andrzej Rybczak [Mon, 20 Nov 2017 16:52:58 +0000 (17:52 +0100)] 
Fix space leak in TBQueue (#14494)

21 months agoRelax base constraint to allow base-4.11
Herbert Valerio Riedel [Fri, 15 Sep 2017 16:48:38 +0000 (18:48 +0200)] 
Relax base constraint to allow base-4.11

22 months agoAdd testcase for #14171
Ben Gamari [Thu, 31 Aug 2017 20:03:28 +0000 (16:03 -0400)] 
Add testcase for #14171

2 years agoBump upper bound on base
Ben Gamari [Tue, 15 Nov 2016 19:38:10 +0000 (14:38 -0500)] 
Bump upper bound on base

3 years agoTestsuite: only ignore stdout of T2411
Thomas Miedema [Fri, 24 Jun 2016 22:38:09 +0000 (00:38 +0200)] 
Testsuite: only ignore stdout of T2411

3 years agostm047 and stm048 seem to work fine with WAY=ghci
Thomas Miedema [Tue, 16 Feb 2016 12:10:02 +0000 (13:10 +0100)] 
stm047 and stm048 seem to work fine with WAY=ghci

Also delete compiler_lt.

3 years agoDon't use only_compiler_types, assume ghc
Thomas Miedema [Tue, 16 Feb 2016 08:26:57 +0000 (09:26 +0100)] 
Don't use only_compiler_types, assume ghc

3 years agoDo not run tests when stm is not installed
Thomas Miedema [Wed, 20 Jan 2016 15:25:35 +0000 (16:25 +0100)] 
Do not run tests when stm is not installed

3 years agoUpdate tests for frozen callstacks
Ben Gamari [Wed, 23 Dec 2015 10:22:05 +0000 (05:22 -0500)] 
Update tests for frozen callstacks

3 years agoBump to version 2.4.4.1 and prepare for release v2.4.4.1
Herbert Valerio Riedel [Tue, 22 Dec 2015 12:49:22 +0000 (13:49 +0100)] 
Bump to version 2.4.4.1 and prepare for release

3 years agoUpdate output D1426
Simon Marlow [Wed, 4 Nov 2015 23:44:01 +0000 (23:44 +0000)] 
Update output

3 years agoRelax upper bound on `base` to allow GHC8/base-4.9
Herbert Valerio Riedel [Wed, 28 Oct 2015 20:54:22 +0000 (21:54 +0100)] 
Relax upper bound on `base` to allow GHC8/base-4.9

3 years agoAnother rework of Weak interface
Ben Gamari [Thu, 24 Sep 2015 15:40:15 +0000 (17:40 +0200)] 
Another rework of Weak interface

3 years agomkWeak# now expects raw State# function
Ben Gamari [Tue, 22 Sep 2015 23:26:31 +0000 (01:26 +0200)] 
mkWeak# now expects raw State# function

Fallout from GHC Trac #10867.

3 years agostm: Fix test case
Ben Gamari [Wed, 2 Sep 2015 13:34:00 +0000 (09:34 -0400)] 
stm: Fix test case

4 years agoBump to 2.4.4 and update changelog stm-2.4.4-release
Herbert Valerio Riedel [Wed, 17 Dec 2014 10:41:23 +0000 (11:41 +0100)] 
Bump to 2.4.4 and update changelog

4 years agoAvoid AMP-caused redundant import warning
Herbert Valerio Riedel [Wed, 17 Dec 2014 10:48:04 +0000 (11:48 +0100)] 
Avoid AMP-caused redundant import warning

4 years agoAdd `@since` annotations
Herbert Valerio Riedel [Wed, 17 Dec 2014 10:40:36 +0000 (11:40 +0100)] 
Add `@since` annotations

4 years agoFix build breakage bogons, due to bad patch application
Austin Seipp [Mon, 15 Dec 2014 17:51:18 +0000 (11:51 -0600)] 
Fix build breakage bogons, due to bad patch application

Signed-off-by: Austin Seipp <austin@well-typed.com>
4 years agoAdd mkWeakTMVar to Control.Concurrent.STM.TMVar
Bas van Dijk [Mon, 15 Dec 2014 15:33:17 +0000 (09:33 -0600)] 
Add mkWeakTMVar to Control.Concurrent.STM.TMVar

4 years agoTighten Safe Haskell bounds.
David Terei [Thu, 13 Nov 2014 01:35:21 +0000 (17:35 -0800)] 
Tighten Safe Haskell bounds.

4 years agoM-x untabify & M-x delete-trailing-whitespace
Herbert Valerio Riedel [Tue, 11 Nov 2014 21:23:30 +0000 (22:23 +0100)] 
M-x untabify & M-x delete-trailing-whitespace

4 years agoUpdate Travis CI job
Herbert Valerio Riedel [Tue, 11 Nov 2014 21:13:55 +0000 (22:13 +0100)] 
Update Travis CI job

4 years agoBump `base` constraint for AMP
Herbert Valerio Riedel [Tue, 9 Sep 2014 15:34:28 +0000 (17:34 +0200)] 
Bump `base` constraint for AMP

4 years agoIgnore GHC test suite generated files.
Edward Z. Yang [Fri, 22 Aug 2014 13:21:21 +0000 (14:21 +0100)] 
Ignore GHC test suite generated files.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
5 years agoadd testsuite-related gitignore entries
Herbert Valerio Riedel [Thu, 26 Jun 2014 21:28:37 +0000 (23:28 +0200)] 
add testsuite-related gitignore entries

5 years agoAdd .gitignore file.
Edward Z. Yang [Thu, 26 Jun 2014 16:19:02 +0000 (09:19 -0700)] 
Add .gitignore file.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
5 years agoReplace deprecated pragmas by current LANGUAGE pragmas
Herbert Valerio Riedel [Tue, 25 Mar 2014 21:28:17 +0000 (22:28 +0100)] 
Replace deprecated pragmas by current LANGUAGE pragmas

This reduces the amount of compile warnings for the stm test-cases

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
5 years agostm064 was only fixed in GHC 7.6.2 ghc-7.8 ghc-7.8.1-release ghc-7.8.2-release stm-2.4.3-release
Herbert Valerio Riedel [Tue, 25 Mar 2014 20:35:35 +0000 (21:35 +0100)] 
stm064 was only fixed in GHC 7.6.2

This should fix the Travis-CI job for good

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
5 years agoTweak tests/runtests.sh to make it pass for older GHCs
Herbert Valerio Riedel [Tue, 25 Mar 2014 19:11:08 +0000 (20:11 +0100)] 
Tweak tests/runtests.sh to make it pass for older GHCs

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
5 years agoFix-up travis-CI script
Herbert Valerio Riedel [Tue, 25 Mar 2014 13:13:34 +0000 (14:13 +0100)] 
Fix-up travis-CI script

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
5 years agoIntegrate tests with TravisCI job
Herbert Valerio Riedel [Tue, 25 Mar 2014 13:05:47 +0000 (14:05 +0100)] 
Integrate tests with TravisCI job

A simple bash runner-script is included as the GHC testsuite runner
isn't available for the Travis-CI job

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
5 years agoBump to version 2.4.3 and convert changelog to markdown
Herbert Valerio Riedel [Sat, 22 Mar 2014 21:19:34 +0000 (22:19 +0100)] 
Bump to version 2.4.3 and convert changelog to markdown

The minor version bump is needed because new function were added since
last released version 2.4.2.

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
5 years agoAdd Travis-CI script & README
Herbert Valerio Riedel [Sun, 3 Nov 2013 12:09:44 +0000 (13:09 +0100)] 
Add Travis-CI script & README

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
5 years agoRefactor & update `stm.cabal` to `cabal-version>=1.10`
Herbert Valerio Riedel [Mon, 14 Oct 2013 20:02:35 +0000 (22:02 +0200)] 
Refactor & update `stm.cabal` to `cabal-version>=1.10`

As the current code fails to build with GHC 6.10, I've updated the Cabal
meta-data to declare support for GHC>=6.12 and dropped support for
base3. This also moves the changelog from the Cabal description field
into a separate `changelog` file and adds a few entries.

The code compiles warning-free for all tested GHC versions.

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
5 years agoadd mkWeakTVar (#7991)
Simon Marlow [Fri, 27 Sep 2013 01:09:25 +0000 (02:09 +0100)] 
add mkWeakTVar (#7991)

5 years agobump to 2.4.2.1
Simon Marlow [Mon, 27 May 2013 19:11:16 +0000 (20:11 +0100)] 
bump to 2.4.2.1

5 years agosync newBroadcastTChanIO with newBroadcastTChan
Simon Marlow [Mon, 27 May 2013 19:08:39 +0000 (20:08 +0100)] 
sync newBroadcastTChanIO with newBroadcastTChan

Spotted by wren ng thornton <wren@freegeek.org> on
libraries@haskell.org

5 years agoUpdate Git repo URL in `.cabal` file
Herbert Valerio Riedel [Wed, 11 Sep 2013 13:15:01 +0000 (15:15 +0200)] 
Update Git repo URL in `.cabal` file

5 years agoImplement isFullTBQueue
Austin Seipp [Sat, 7 Sep 2013 00:28:54 +0000 (19:28 -0500)] 
Implement isFullTBQueue

This was proposed on the libraries@ mailing list by Merijn with no
objections.

Authored-by: Merijn Verstraaten <merijn@inconsistent.nl>
Signed-off-by: Austin Seipp <aseipp@pobox.com>
6 years agoFix the names of several tests.
Austin Seipp [Sat, 4 May 2013 22:05:53 +0000 (17:05 -0500)] 
Fix the names of several tests.

They should follow the 'Txxxx' convention.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
6 years agoadd test for cloneTChan
Simon Marlow [Mon, 18 Feb 2013 11:01:55 +0000 (11:01 +0000)] 
add test for cloneTChan

6 years agofollow changes in testsuite driver
Simon Marlow [Mon, 18 Feb 2013 11:01:31 +0000 (11:01 +0000)] 
follow changes in testsuite driver

6 years agoput cloneTChan next to dupTChan in the docs
Simon Marlow [Mon, 18 Feb 2013 10:55:40 +0000 (10:55 +0000)] 
put cloneTChan next to dupTChan in the docs

6 years agoadd another test for #7493
Simon Marlow [Tue, 18 Dec 2012 09:29:44 +0000 (09:29 +0000)] 
add another test for #7493

6 years agoadd stm064 test
Simon Marlow [Tue, 11 Dec 2012 14:54:18 +0000 (14:54 +0000)] 
add stm064 test

6 years agoAdd a test for orElse bug
Simon Marlow [Mon, 10 Dec 2012 12:18:33 +0000 (12:18 +0000)] 
Add a test for orElse bug

Fixed in GHC commit f184d9caffa09750ef6a374a7987b9213d6db28e, see that
for more details.

6 years agofix warning
Simon Marlow [Mon, 19 Nov 2012 10:45:29 +0000 (10:45 +0000)] 
fix warning

6 years agoAdd TSem, bump version to 2.4.2
Simon Marlow [Fri, 16 Nov 2012 21:48:12 +0000 (21:48 +0000)] 
Add TSem, bump version to 2.4.2

6 years agoThrow an exception when reading from a broadcast channel (#7218)
Simon Marlow [Thu, 6 Sep 2012 08:46:20 +0000 (09:46 +0100)] 
Throw an exception when reading from a broadcast channel (#7218)

6 years agomodify to use TVar instead of QSemN (which has gone)
Simon Marlow [Thu, 23 Aug 2012 08:46:31 +0000 (09:46 +0100)] 
modify to use TVar instead of QSemN (which has gone)

6 years agofix warnings
Simon Marlow [Thu, 9 Aug 2012 08:50:55 +0000 (09:50 +0100)] 
fix warnings

6 years agoAdd Applicative/Alternative instances of STM for GHC <7.0 (#4076)
Simon Marlow [Wed, 8 Aug 2012 09:45:59 +0000 (10:45 +0100)] 
Add Applicative/Alternative instances of STM for GHC <7.0 (#4076)

7 years agoChange the type of check to Bool -> STM ()
Simon Marlow [Thu, 5 Jul 2012 13:51:43 +0000 (14:51 +0100)] 
Change the type of check to Bool -> STM ()

Previously it was

  check :: Bool -> STM a

and it returned undefined when passed True.  This doesn't seem useful,
and causes GHC to warn about an unused result.

(suggestion by Favonia <favonia@gmail.com> on libraries@haskell.org)

7 years agore-export TQueue from Control.Concurrent.STM 2.4
Simon Marlow [Wed, 4 Jul 2012 10:33:11 +0000 (11:33 +0100)] 
re-export TQueue from Control.Concurrent.STM

7 years agofix markup
Simon Marlow [Wed, 4 Jul 2012 10:28:44 +0000 (11:28 +0100)] 
fix markup

7 years agoadd Eq instances
Simon Marlow [Wed, 4 Jul 2012 10:28:36 +0000 (11:28 +0100)] 
add Eq instances

7 years agoallow using a different ghc
Simon Marlow [Wed, 4 Jul 2012 10:24:48 +0000 (11:24 +0100)] 
allow using a different ghc

7 years agoAdd TBQueue, bump version to 2.4 and document changes since 2.3
Simon Marlow [Wed, 4 Jul 2012 10:21:10 +0000 (11:21 +0100)] 
Add TBQueue, bump version to 2.4 and document changes since 2.3

7 years agoadd TBQueue to the benchmark, and add a Makefile driver
Simon Marlow [Wed, 4 Jul 2012 10:20:45 +0000 (11:20 +0100)] 
add TBQueue to the benchmark, and add a Makefile driver

7 years agotypo
Simon Marlow [Wed, 4 Jul 2012 10:09:45 +0000 (11:09 +0100)] 
typo

7 years agorearrange module header
Simon Marlow [Mon, 2 Jul 2012 11:51:01 +0000 (12:51 +0100)] 
rearrange module header

7 years agoAdd newBroadcastTChan and newBroadcastTChanIO
Joey Adams [Sat, 3 Mar 2012 02:10:51 +0000 (21:10 -0500)] 
Add newBroadcastTChan and newBroadcastTChanIO

7 years agoMinor grammar fix in documentation of newTChan
Joey Adams [Sat, 3 Mar 2012 02:07:10 +0000 (21:07 -0500)] 
Minor grammar fix in documentation of newTChan

7 years agoGive TChan an Eq instance.
Joey Adams [Sat, 3 Mar 2012 02:05:28 +0000 (21:05 -0500)] 
Give TChan an Eq instance.

TVar, TMVar, TArray, and Chan all have Eq instances.
Why doesn't TChan have one, too?

7 years agoFix build with GHC HEAD
Ian Lynagh [Sun, 24 Jun 2012 13:28:08 +0000 (14:28 +0100)] 
Fix build with GHC HEAD

7 years agore-export TQueue
Simon Marlow [Fri, 15 Jun 2012 09:12:47 +0000 (10:12 +0100)] 
re-export TQueue

7 years agoadd a channel benchmark
Simon Marlow [Fri, 15 Jun 2012 09:09:34 +0000 (10:09 +0100)] 
add a channel benchmark

7 years agoAdd TQueue, a faster TChan without dup/clone operations
Simon Marlow [Fri, 15 Jun 2012 08:46:31 +0000 (09:46 +0100)] 
Add TQueue, a faster TChan without dup/clone operations

7 years agoadd some UNPACKs to improve performance a bit
Simon Marlow [Tue, 12 Jun 2012 09:56:43 +0000 (10:56 +0100)] 
add some UNPACKs to improve performance a bit

7 years agoadd cloneTChan (GHC Trac ticket #6157)
Simon Marlow [Mon, 11 Jun 2012 11:21:43 +0000 (12:21 +0100)] 
add cloneTChan (GHC Trac ticket #6157)

7 years agoadd source-repository, bump cabal-version
Simon Marlow [Tue, 28 Feb 2012 10:12:58 +0000 (10:12 +0000)] 
add source-repository, bump cabal-version

7 years agoadd some reqlib('random')s 2.3
Simon Marlow [Mon, 9 Jan 2012 11:58:04 +0000 (11:58 +0000)] 
add some reqlib('random')s

7 years agoMark all modules as Trustworthy
Bas van Dijk [Sun, 25 Dec 2011 18:05:32 +0000 (19:05 +0100)] 
Mark all modules as Trustworthy

7 years agoisEmptyTMVar: remove bogus comment, cut and pasted from isEmptyMVar
Simon Marlow [Tue, 22 Nov 2011 16:42:52 +0000 (16:42 +0000)] 
isEmptyTMVar: remove bogus comment, cut and pasted from isEmptyMVar

7 years agoFix a few typos
Daniel Fischer [Tue, 4 Oct 2011 19:45:03 +0000 (21:45 +0200)] 
Fix a few typos

7 years agoWhitespace only
Daniel Fischer [Tue, 4 Oct 2011 18:23:02 +0000 (20:23 +0200)] 
Whitespace only

8 years agooops, delete patch-droppings that I accidentally added
Simon Marlow [Wed, 13 Apr 2011 11:25:16 +0000 (12:25 +0100)] 
oops, delete patch-droppings that I accidentally added

8 years agoReplaced talk of "blocking" with "retrying"
Simon Marlow [Mon, 11 Apr 2011 10:06:37 +0000 (11:06 +0100)] 
Replaced talk of "blocking" with "retrying"