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