monad-par-0.1.0.2: A library for parallel programming based on a monad

Control.Monad.Par.IList

Synopsis

Documentation

data IList a Source

An IList is the equivalent of a lazy list in the Par monad. The tail of the list is an IVar, which allows the list to be produced and consumed in parallel.

Constructors

Null 
Cons 

Fields

hd :: a
 
tl :: IVar (IList a)
 

Instances

NFData a => NFData (IList a)

To fully evaluate an IList means to evaluate both the head and tail. This does not evaluate the entire spine of the list of course, because the tail is an IVar.