This library operates by representing metaheuristics as generators of solutions, or streams of solutions, which are themselves the result of resolving the interactions of other streams of values. The library contains combinators for constructing and managing these structures.
Version 0.0.7

A simple day and time aggregate, parameter, and the time is a TimeOfDay. Conversion of this (as local civil time) to UTC depends on the time zone. Conversion of this (as local mean time) to UT1 depends on the longitude.

This module provides the ability to adapt to local conventions. At present, it supports only time and date information as used by System.Time.calendarTimeToString from the System.Time module in the old-time package.

Sometimes an external entity is a pure function, except that it passes arguments and/or results via pointers. The function unsafeLocalState permits the packaging of such entities as pure functions.
The only IO operations allowed in the IO action passed to unsafeLocalState are (a) local allocation (alloca, allocaBytes and derived operations such as withArray and withCString), and (b) pointer operations (Foreign.Storable and Foreign.Ptr) on the pointers to local storage, and (c) foreign functions whose only observable effect is to read and/or write the locally allocated memory. Passing an IO operation that does not obey these rules results in undefined behaviour.
It is expected that this operation will be replaced in a future revision of Haskell.