<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
	<maintainer type="project">
		<email>haskell@gentoo.org</email>
		<name>Gentoo Haskell</name>
	</maintainer>
	<longdescription>
		The @concurrent-extra@ package offers among other things the
		following selection of synchronisation primitives:
		
		* @Broadcast@: Wake multiple threads by broadcasting a value.
		
		* @Event@: Wake multiple threads by signalling an event.
		
		* @Lock@: Enforce exclusive access to a resource. Also known as a
		binary semaphore or mutex. The package additionally provides an
		alternative that works in the @STM@ monad.
		
		* @RLock@: A lock which can be acquired multiple times by the same
		thread. Also known as a reentrant mutex.
		
		* @ReadWriteLock@: Multiple-reader, single-writer locks. Used to
		protect shared resources which may be concurrently read, but only
		sequentially written.
		
		* @ReadWriteVar@: Concurrent read, sequential write variables.
		
		Please consult the API documentation of the individual modules for
		more detailed information.
		
		This package was inspired by the concurrency libraries of Java and
		Python.
	</longdescription>
	<upstream>
		<remote-id type="github">basvandijk/concurrent-extra</remote-id>
	</upstream>
</pkgmetadata>