|
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.6.1 |