- data OpenList a
- empty :: OpenList a
- singleton :: a -> Par (OpenList a)
- cons :: NFData a => a -> OpenList a -> Par (OpenList a)
- head :: OpenList a -> a
- tail :: OpenList a -> Par (OpenList a)
- length :: Num t => OpenList a -> Par t
- close :: NFData a => OpenList a -> Par (OpenList a)
- join :: NFData a => OpenList a -> OpenList a -> Par (OpenList a)
- toList :: NFData a => OpenList a -> Par [a]
- fromList :: NFData a => [a] -> Par (OpenList a)
- toLazyList :: OpenList a -> Par [a]
- parMapM :: NFData a => (a1 -> Par a) -> OpenList a1 -> Par (OpenList a)
- parBuild :: NFData a => InclusiveRange -> (Int -> a) -> Par (OpenList a)
- parBuildM :: NFData a => InclusiveRange -> (Int -> Par a) -> Par (OpenList a)
- openlist_tests :: Test
- chaintest :: Int -> Par (IList Int)
- async_test :: IO ()
- lazy_chaintest :: Int -> Par [Int]
- data IList a
- newCell :: a -> Par (IList a)

# Documentation

cons :: NFData a => a -> OpenList a -> Par (OpenList a)Source

Add an element to the front of an OpenList. Works irrespective | of whether the input is closed.

tail :: OpenList a -> Par (OpenList a)Source

Tail of an OpenList. Beware, if the list contains only one element (e.g. the result of tail will be null), it must be CLOSED for tail to work.

close :: NFData a => OpenList a -> Par (OpenList a)Source

Terminate a non-empty open list so that it cannot be extended further.

fromList :: NFData a => [a] -> Par (OpenList a)Source

Convert a list to an OpenList, open to extension at the tail.

toLazyList :: OpenList a -> Par [a]Source

Asynchronously convert an OpenList to a lazy list. Returns immediately.

parBuild :: NFData a => InclusiveRange -> (Int -> a) -> Par (OpenList a)Source

Build an OpenList with a divide-and-conquer parallel strategy.

parBuildM :: NFData a => InclusiveRange -> (Int -> Par a) -> Par (OpenList a)Source

Build an OpenList with a divide-and-conquer parallel strategy, allowing nested parallelism in the per-element computation.

async_test :: IO ()Source

lazy_chaintest :: Int -> Par [Int]Source