This library offers an alternative parallel programming API to that

provided by the parallel package.

The 'Par' monad allows the simple description of parallel computations,
and can be used to add parallelism to pure Haskell code.  The basic
API is straightforward: the monad supports forking and simple
communication in terms of 'IVar's.

The library comes with an efficient work-stealing implementation,
but the internals are also exposed so that you can build your own
scheduler if necessary.

ok jasper@
This commit is contained in:
kili 2012-10-31 19:19:40 +00:00
parent 19c8e85cad
commit 4d1caae764
4 changed files with 80 additions and 0 deletions

View File

@ -0,0 +1,26 @@
# $OpenBSD: Makefile,v 1.1.1.1 2012/10/31 19:19:40 kili Exp $
COMMENT = parallel programming based on a monad
DISTNAME = monad-par-0.3
CATEGORIES = devel
# BSD3
PERMIT_PACKAGE_CDROM = Yes
PERMIT_PACKAGE_FTP = Yes
PERMIT_DISTFILES_CDROM =Yes
PERMIT_DISTFILES_FTP = Yes
MODULES = lang/ghc
MODGHC_BUILD = cabal hackage haddock register
BUILD_DEPENDS = ${RUN_DEPENDS}
RUN_DEPENDS = devel/hs-abstract-deque>=0.1.4 \
devel/hs-abstract-par \
devel/hs-monad-par-extras>=0.3,<0.4 \
devel/hs-mtl>=2.0.1.0 \
devel/hs-parallel>=3.1 \
security/hs-mwc-random>=0.11
.include <bsd.port.mk>

View File

@ -0,0 +1,2 @@
SHA256 (ghc/monad-par-0.3.tar.gz) = Tf90BENUwFZ2x9aUVPOxGkhV646+ksXyI+ijDTH6f6c=
SIZE (ghc/monad-par-0.3.tar.gz) = 25388

View File

@ -0,0 +1,11 @@
This library offers an alternative parallel programming API to that
provided by the parallel package.
The 'Par' monad allows the simple description of parallel computations,
and can be used to add parallelism to pure Haskell code. The basic
API is straightforward: the monad supports forking and simple
communication in terms of 'IVar's.
The library comes with an efficient work-stealing implementation,
but the internals are also exposed so that you can build your own
scheduler if necessary.

View File

@ -0,0 +1,41 @@
@comment $OpenBSD: PLIST,v 1.1.1.1 2012/10/31 19:19:40 kili Exp $
lib/ghc/${DISTNAME}/
lib/ghc/${DISTNAME}/Control/
lib/ghc/${DISTNAME}/Control/Monad/
lib/ghc/${DISTNAME}/Control/Monad/Par/
lib/ghc/${DISTNAME}/Control/Monad/Par.hi
lib/ghc/${DISTNAME}/Control/Monad/Par/Scheds/
lib/ghc/${DISTNAME}/Control/Monad/Par/Scheds/Direct.hi
lib/ghc/${DISTNAME}/Control/Monad/Par/Scheds/Sparks.hi
lib/ghc/${DISTNAME}/Control/Monad/Par/Scheds/Trace.hi
lib/ghc/${DISTNAME}/Control/Monad/Par/Scheds/TraceInternal.hi
lib/ghc/${DISTNAME}/HS${DISTNAME}.o
lib/ghc/${DISTNAME}/libHS${DISTNAME}.a
lib/ghc/${DISTNAME}/register.sh
share/doc/hs-${DISTNAME}/
share/doc/hs-${DISTNAME}/LICENSE
share/doc/hs-${DISTNAME}/html/
share/doc/hs-${DISTNAME}/html/Control-Monad-Par-Scheds-Direct.html
share/doc/hs-${DISTNAME}/html/Control-Monad-Par-Scheds-Sparks.html
share/doc/hs-${DISTNAME}/html/Control-Monad-Par-Scheds-Trace.html
share/doc/hs-${DISTNAME}/html/Control-Monad-Par-Scheds-TraceInternal.html
share/doc/hs-${DISTNAME}/html/Control-Monad-Par.html
share/doc/hs-${DISTNAME}/html/doc-index.html
share/doc/hs-${DISTNAME}/html/frames.html
share/doc/hs-${DISTNAME}/html/haddock-util.js
share/doc/hs-${DISTNAME}/html/hslogo-16.png
share/doc/hs-${DISTNAME}/html/index-frames.html
share/doc/hs-${DISTNAME}/html/index.html
share/doc/hs-${DISTNAME}/html/mini_Control-Monad-Par-Scheds-Direct.html
share/doc/hs-${DISTNAME}/html/mini_Control-Monad-Par-Scheds-Sparks.html
share/doc/hs-${DISTNAME}/html/mini_Control-Monad-Par-Scheds-Trace.html
share/doc/hs-${DISTNAME}/html/mini_Control-Monad-Par-Scheds-TraceInternal.html
share/doc/hs-${DISTNAME}/html/mini_Control-Monad-Par.html
share/doc/hs-${DISTNAME}/html/minus.gif
share/doc/hs-${DISTNAME}/html/monad-par.haddock
share/doc/hs-${DISTNAME}/html/ocean.css
share/doc/hs-${DISTNAME}/html/plus.gif
share/doc/hs-${DISTNAME}/html/synopsis.png
@exec /usr/bin/env HOME=/nonexistent %D/lib/ghc/${DISTNAME}/register.sh -v0
@unexec /usr/bin/env HOME=/nonexistent %D/lib/ghc/${DISTNAME}/unregister.sh -v0 --force
lib/ghc/${DISTNAME}/unregister.sh