The call '(lazy e)' means the same as e, but lazy has a magical strictness property: it is lazy in its first argument, even though its semantics is strict.
Convert a lazy ST computation into a strict one.
The CSV format is defined by RFC 4180. These efficient lazy parsers (String and ByteString variants) can report all CSV formatting errors, whilst also returning all the valid data, so the user can choose whether to continue, to show warnings, or to halt on error. Valid fields retain information about their original location in the input, so a secondary parser from textual fields to typed values can give intelligent error messages.
The library provides some basic but useful lazy IO functions. Keep in mind that lazy IO is generally discouraged. Perhaps a coroutine library (e.g. pipes) will better suit your needs.
This package built on standard array package adds support for lazy monolithic arrays. Such arrays are lazy not only in their values, but in their indexes as well. Read the paper "Efficient Graph Algorithms Using Lazy Monolithic Arrays" (http://citeseer.ist.psu.edu/95126.html) for further details.
lazyBufferOp is the BufferOp definition over ByteStrings, the non-strict kind.
Create a Builder denoting the same sequence of bytes as a lazy ByteString. The Builder inserts large chunks of the lazy ByteString directly, but copies small ones to ensure that the generated chunks are large on average.
Encode each byte of a lazy ByteString using its fixed-width hex encoding.
Check the invariant lazily.
Run IO actions lazily while respecting their order. Running a value of the LazyIO monad in the IO monad is like starting a thread which is however driven by its output. That is, the LazyIO action is only executed as far as necessary in order to provide the required data.
Lazy SmallCheck is a library for exhaustive, demand-driven testing of Haskell programs. It is based on the idea that if a property holds for a partially-defined input then it must also hold for all fully-defined refinements of the that input. Compared to ``eager'' input generation as in SmallCheck, Lazy SmallCheck may require significantly fewer test-cases to verify a property for all inputs up to a given depth.
See the source of Numeric.LazySplines.Examples for usage.
This module presents an identical interface to Control.Monad.ST, except that the monad delays evaluation of state operations until a value depending on them is required.
Mutable references in the lazy ST monad.
A monad transformer that combines ReaderT, WriterT and StateT. This version is lazy; for a strict version, see Control.Monad.Trans.RWS.Strict, which has the same interface.
Lazy state monads, passing an updatable state through a computation. See below for examples.
In this version, sequencing of computations is lazy. For a strict version, see Control.Monad.Trans.State.Strict, which has the same interface.
Some computations may not require the full power of state transformers:
* For a read-only state, see Control.Monad.Trans.Reader.
* To accumulate a value without using it on the way, see Control.Monad.Trans.Writer.
The lazy WriterT monad transformer, which adds collection of outputs (such as a count or string output) to a given monad.
This version builds its output lazily; for a strict version, see Control.Monad.Trans.Writer.Strict, which has the same interface.
This monad transformer provides only limited access to the output during the computation. For more general access, use Control.Monad.Trans.State instead.
Show more results