|
GHC.PArr | Portability | non-portable (GHC Extensions)
Basic implementation of Parallel Arrays.
This module has two functions: (1) It defines the interface to the
parallel array extension of the Prelude and (2) it provides a vanilla
implementation of parallel arrays that does not require to flatten the
array code. The implementation is not very optimised. | Stability | internal | Maintainer | Manuel M. T. Chakravarty <chak@cse.unsw.edu.au> |
|
|
|
Description |
|
|
Synopsis |
|
mapP :: (a -> b) -> [:a:] -> [:b:] | |
(+:+) :: [:a:] -> [:a:] -> [:a:] | |
filterP :: (a -> Bool) -> [:a:] -> [:a:] | |
concatP :: [:[:a:]:] -> [:a:] | |
concatMapP :: (a -> [:b:]) -> [:a:] -> [:b:] | |
nullP :: [:a:] -> Bool | |
lengthP :: [:a:] -> Int | |
(!:) :: [:a:] -> Int -> a | |
foldlP :: (a -> b -> a) -> a -> [:b:] -> a | |
foldl1P :: (a -> a -> a) -> [:a:] -> a | |
scanlP :: (a -> b -> a) -> a -> [:b:] -> [:a:] | |
scanl1P :: (a -> a -> a) -> [:a:] -> [:a:] | |
foldrP :: (a -> b -> b) -> b -> [:a:] -> b | |
foldr1P :: (a -> a -> a) -> [:a:] -> a | |
scanrP :: (a -> b -> b) -> b -> [:a:] -> [:b:] | |
scanr1P :: (a -> a -> a) -> [:a:] -> [:a:] | |
singletonP :: a -> [:a:] | |
emptyP :: [:a:] | |
replicateP :: Int -> a -> [:a:] | |
takeP :: Int -> [:a:] -> [:a:] | |
dropP :: Int -> [:a:] -> [:a:] | |
splitAtP :: Int -> [:a:] -> ([:a:], [:a:]) | |
takeWhileP :: (a -> Bool) -> [:a:] -> [:a:] | |
dropWhileP :: (a -> Bool) -> [:a:] -> [:a:] | |
spanP :: (a -> Bool) -> [:a:] -> ([:a:], [:a:]) | |
breakP :: (a -> Bool) -> [:a:] -> ([:a:], [:a:]) | |
reverseP :: [:a:] -> [:a:] | |
andP :: [:Bool:] -> Bool | |
orP :: [:Bool:] -> Bool | |
anyP :: (a -> Bool) -> [:a:] -> Bool | |
allP :: (a -> Bool) -> [:a:] -> Bool | |
elemP :: Eq a => a -> [:a:] -> Bool | |
notElemP :: Eq a => a -> [:a:] -> Bool | |
lookupP :: Eq a => a -> [:(a, b):] -> Maybe b | |
sumP :: Num a => [:a:] -> a | |
productP :: Num a => [:a:] -> a | |
maximumP :: Ord a => [:a:] -> a | |
minimumP :: Ord a => [:a:] -> a | |
zipP :: [:a:] -> [:b:] -> [:(a, b):] | |
zip3P :: [:a:] -> [:b:] -> [:c:] -> [:(a, b, c):] | |
zipWithP :: (a -> b -> c) -> [:a:] -> [:b:] -> [:c:] | |
zipWith3P :: (a -> b -> c -> d) -> [:a:] -> [:b:] -> [:c:] -> [:d:] | |
unzipP :: [:(a, b):] -> ([:a:], [:b:]) | |
unzip3P :: [:(a, b, c):] -> ([:a:], [:b:], [:c:]) | |
enumFromToP :: Enum a => a -> a -> [:a:] | |
enumFromThenToP :: Enum a => a -> a -> a -> [:a:] | |
toP :: [a] -> [:a:] | |
fromP :: [:a:] -> [a] | |
sliceP :: Int -> Int -> [:e:] -> [:e:] | |
foldP :: (e -> e -> e) -> e -> [:e:] -> e | |
fold1P :: (e -> e -> e) -> [:e:] -> e | |
permuteP :: [:Int:] -> [:e:] -> [:e:] | |
bpermuteP :: [:Int:] -> [:e:] -> [:e:] | |
dpermuteP :: [:Int:] -> [:e:] -> [:e:] -> [:e:] | |
crossP :: [:a:] -> [:b:] -> [:(a, b):] | |
crossMapP :: [:a:] -> (a -> [:b:]) -> [:(a, b):] | |
indexOfP :: (a -> Bool) -> [:a:] -> [:Int:] |
|
|
Documentation |
|
mapP :: (a -> b) -> [:a:] -> [:b:] | Source |
|
|
(+:+) :: [:a:] -> [:a:] -> [:a:] | Source |
|
|
|
|
concatP :: [:[:a:]:] -> [:a:] | Source |
|
|
concatMapP :: (a -> [:b:]) -> [:a:] -> [:b:] | Source |
|
|
|
|
|
|
|
|
foldlP :: (a -> b -> a) -> a -> [:b:] -> a | Source |
|
|
foldl1P :: (a -> a -> a) -> [:a:] -> a | Source |
|
|
scanlP :: (a -> b -> a) -> a -> [:b:] -> [:a:] | Source |
|
|
scanl1P :: (a -> a -> a) -> [:a:] -> [:a:] | Source |
|
|
foldrP :: (a -> b -> b) -> b -> [:a:] -> b | Source |
|
|
foldr1P :: (a -> a -> a) -> [:a:] -> a | Source |
|
|
scanrP :: (a -> b -> b) -> b -> [:a:] -> [:b:] | Source |
|
|
scanr1P :: (a -> a -> a) -> [:a:] -> [:a:] | Source |
|
|
singletonP :: a -> [:a:] | Source |
|
|
|
|
|
|
|
|
|
|
splitAtP :: Int -> [:a:] -> ([:a:], [:a:]) | Source |
|
|
|
|
|
|
spanP :: (a -> Bool) -> [:a:] -> ([:a:], [:a:]) | Source |
|
|
breakP :: (a -> Bool) -> [:a:] -> ([:a:], [:a:]) | Source |
|
|
reverseP :: [:a:] -> [:a:] | Source |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
zipP :: [:a:] -> [:b:] -> [:(a, b):] | Source |
|
|
zip3P :: [:a:] -> [:b:] -> [:c:] -> [:(a, b, c):] | Source |
|
|
zipWithP :: (a -> b -> c) -> [:a:] -> [:b:] -> [:c:] | Source |
|
|
zipWith3P :: (a -> b -> c -> d) -> [:a:] -> [:b:] -> [:c:] -> [:d:] | Source |
|
|
unzipP :: [:(a, b):] -> ([:a:], [:b:]) | Source |
|
|
unzip3P :: [:(a, b, c):] -> ([:a:], [:b:], [:c:]) | Source |
|
|
|
|
enumFromThenToP :: Enum a => a -> a -> a -> [:a:] | Source |
|
|
|
|
|
|
|
|
foldP :: (e -> e -> e) -> e -> [:e:] -> e | Source |
|
|
fold1P :: (e -> e -> e) -> [:e:] -> e | Source |
|
|
|
|
|
|
dpermuteP :: [:Int:] -> [:e:] -> [:e:] -> [:e:] | Source |
|
|
crossP :: [:a:] -> [:b:] -> [:(a, b):] | Source |
|
|
crossMapP :: [:a:] -> (a -> [:b:]) -> [:(a, b):] | Source |
|
Compute a cross of an array and the arrays produced by the given function
for the elements of the first array.
|
|
|
|
Produced by Haddock version 2.3.0 |