base-4.3.1.0: Basic libraries

Portabilitynon-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.
Stabilityinternal
MaintainerManuel M. T. Chakravarty <chak@cse.unsw.edu.au>

GHC.PArr

Description

 

Synopsis

Documentation

mapP :: (a -> b) -> [:a:] -> [:b:]Source

(+:+) :: [:a:] -> [:a:] -> [:a:]Source

filterP :: (a -> Bool) -> [:a:] -> [:a:]Source

concatP :: [:[:a:]:] -> [:a:]Source

concatMapP :: (a -> [:b:]) -> [:a:] -> [:b:]Source

nullP :: [:a:] -> BoolSource

lengthP :: [:a:] -> IntSource

(!:) :: [:a:] -> Int -> aSource

foldlP :: (a -> b -> a) -> a -> [:b:] -> aSource

foldl1P :: (a -> a -> a) -> [:a:] -> aSource

scanlP :: (a -> b -> a) -> a -> [:b:] -> [:a:]Source

scanl1P :: (a -> a -> a) -> [:a:] -> [:a:]Source

foldrP :: (a -> b -> b) -> b -> [:a:] -> bSource

foldr1P :: (a -> a -> a) -> [:a:] -> aSource

scanrP :: (a -> b -> b) -> b -> [:a:] -> [:b:]Source

scanr1P :: (a -> a -> a) -> [:a:] -> [:a:]Source

singletonP :: a -> [:a:]Source

emptyP :: [:a:]Source

replicateP :: Int -> a -> [:a:]Source

takeP :: Int -> [:a:] -> [:a:]Source

dropP :: Int -> [:a:] -> [:a:]Source

splitAtP :: Int -> [:a:] -> ([:a:], [:a:])Source

takeWhileP :: (a -> Bool) -> [:a:] -> [:a:]Source

dropWhileP :: (a -> Bool) -> [:a:] -> [:a:]Source

spanP :: (a -> Bool) -> [:a:] -> ([:a:], [:a:])Source

breakP :: (a -> Bool) -> [:a:] -> ([:a:], [:a:])Source

reverseP :: [:a:] -> [:a:]Source

andP :: [:Bool:] -> BoolSource

orP :: [:Bool:] -> BoolSource

anyP :: (a -> Bool) -> [:a:] -> BoolSource

allP :: (a -> Bool) -> [:a:] -> BoolSource

elemP :: Eq a => a -> [:a:] -> BoolSource

notElemP :: Eq a => a -> [:a:] -> BoolSource

lookupP :: Eq a => a -> [:(a, b):] -> Maybe bSource

sumP :: Num a => [:a:] -> aSource

productP :: Num a => [:a:] -> aSource

maximumP :: Ord a => [:a:] -> aSource

minimumP :: Ord a => [:a:] -> aSource

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

enumFromToP :: Enum a => a -> a -> [:a:]Source

enumFromThenToP :: Enum a => a -> a -> a -> [:a:]Source

toP :: [a] -> [:a:]Source

fromP :: [:a:] -> [a]Source

sliceP :: Int -> Int -> [:e:] -> [:e:]Source

foldP :: (e -> e -> e) -> e -> [:e:] -> eSource

fold1P :: (e -> e -> e) -> [:e:] -> eSource

permuteP :: [:Int:] -> [:e:] -> [:e:]Source

bpermuteP :: [:Int:] -> [: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.

indexOfP :: (a -> Bool) -> [:a:] -> [:Int:]Source