Evolution

h8io.stages.Evolution
See theEvolution companion trait
object Evolution

Attributes

Companion
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Evolution.type

Members list

Type members

Types

type Any = Evolution[_, _, _]

Any evolution, whatever its type parameters — the type Evolution.dispose collects.

Any evolution, whatever its type parameters — the type Evolution.dispose collects.

Attributes

type Endo[T, +E] = Evolution[T, T, E]

An evolution over stages whose input and output types coincide.

An evolution over stages whose input and output types coincide.

Attributes

Value members

Concrete methods

def dispose(evolutions: Any*): Unit

Disposes every evolution given, in argument order, whatever any of them throws.

Disposes every evolution given, in argument order, whatever any of them throws.

The first non-fatal exception becomes the primary one: the rest are disposed all the same, further non-fatal exceptions are attached to the primary as suppressed, and the primary is rethrown at the end.

This is the single disposal discipline for everything owning several evolutions at once — the composed evolution here, the binary operators and the h8io.stages.cycles family in the lib module. The parameter list is positional on purpose: each caller maps its own roles onto the order it wants them released in.

Value parameters

evolutions

the evolutions to dispose, in order, even if earlier disposals fail

Attributes