edenmodules-1.2.0.0: Semi-explicit parallel programming library

Copyright(c) Philipps Universitaet Marburg 2005-2010
LicenseBSD-style (see the file LICENSE)
Maintainereden@mathematik.uni-marburg.de
Stabilitybeta
Portabilitynot portable
Safe HaskellNone
LanguageHaskell98

Control.Parallel.Eden.Edi

Description

The low-level parallel functional language: EDen Implementation language

This module defines a thin layer of type-checking wrappers over the parallel primitives implemented in ParPrim.hs.

Depends on the Eden Compiler.

Eden Group Marburg

Documentation

fork :: IO () -> IO () Source

spawnProcessAt :: Int -> IO () -> IO () Source

spawnArgsProcessAt :: NFData a => Int -> (a -> IO ()) -> a -> IO () Source

data ChanName' a Source

Instances

Show (ChanName' a) 
NFData (ChanName' a) 

createC :: IO (ChanName' a, a) Source

createCs :: Int -> IO ([ChanName' a], [a]) Source

sendWith :: Strategy a -> ChanName' a -> a -> IO () Source

sendNF :: NFData a => ChanName' a -> a -> IO () Source

sendStreamWith :: (a -> ()) -> ChanName' [a] -> [a] -> IO () Source

sendNFStream :: NFData a => ChanName' [a] -> [a] -> IO () Source

noPe :: IO Int Source

selfPe :: IO Int Source

class NFData a where

Minimal complete definition

Nothing

Methods

rnf :: a -> ()

Instances

NFData Bool 
NFData Char 
NFData Double 
NFData Float 
NFData Int 
NFData Int8 
NFData Int16 
NFData Int32 
NFData Int64 
NFData Integer 
NFData Word 
NFData Word8 
NFData Word16 
NFData Word32 
NFData Word64 
NFData () 
NFData Version 
NFData a => NFData [a] 
(Integral a, NFData a) => NFData (Ratio a) 
NFData a => NFData (Maybe a) 
NFData (Fixed a) 
(RealFloat a, NFData a) => NFData (Complex a) 
NFData (ChanName' a) 
NFData (a -> b) 
(NFData a, NFData b) => NFData (Either a b) 
(NFData a, NFData b) => NFData (a, b) 
(NFData k, NFData a) => NFData (Map k a) 
(Ix a, NFData a, NFData b) => NFData (Array a b) 
(NFData a, NFData b, NFData c) => NFData (a, b, c) 
(NFData a, NFData b, NFData c, NFData d) => NFData (a, b, c, d) 
(NFData a1, NFData a2, NFData a3, NFData a4, NFData a5) => NFData (a1, a2, a3, a4, a5) 
(NFData a1, NFData a2, NFData a3, NFData a4, NFData a5, NFData a6) => NFData (a1, a2, a3, a4, a5, a6) 
(NFData a1, NFData a2, NFData a3, NFData a4, NFData a5, NFData a6, NFData a7) => NFData (a1, a2, a3, a4, a5, a6, a7) 
(NFData a1, NFData a2, NFData a3, NFData a4, NFData a5, NFData a6, NFData a7, NFData a8) => NFData (a1, a2, a3, a4, a5, a6, a7, a8) 
(NFData a1, NFData a2, NFData a3, NFData a4, NFData a5, NFData a6, NFData a7, NFData a8, NFData a9) => NFData (a1, a2, a3, a4, a5, a6, a7, a8, a9) 

using :: a -> Strategy a -> a

seqFoldable :: Foldable t => Strategy a -> Strategy (t a)