cottax.consumers.architectures.refusals module

Why an architecture is refused: a top the model does not hold or that is no problem, two problems sharing a body with neither inside the other, what it would fold combining as another kind, a model already nested; and two closures bound at one name. Why a problem is no implicit model is its language’s.

class TopUnbound(top: str)[source]

Bases: Violation

top: str
template: AbstractClassVar[str] = '{top} is no node of the model: the top is a problem the model declares -- declare it with the rest, or name the slot it is in'

e.g. ‘output {place!r} is owned by both {other!r} and {node!r}’

Type:

Wording

class TopNotAProblem(top: str)[source]

Bases: Violation

top: str
template: AbstractClassVar[str] = '{top} is not a problem: an architecture resolves what lies under a problem'

e.g. ‘output {place!r} is owned by both {other!r} and {node!r}’

Type:

Wording

class NotCombinable(problem: str, kind: str, architecture: str, into: str)[source]

Bases: Violation

problem: str
kind: str
architecture: str
into: str
template: AbstractClassVar[str] = '{problem} combines as {kind}, and {architecture} combines it into {into}: only what combines as one kind is combined'

e.g. ‘output {place!r} is owned by both {other!r} and {node!r}’

Type:

Wording

class BodyShared(one: str, two: str, body: str, remedy: str)[source]

Bases: Violation

one: str
two: str
body: str
remedy: str
template: AbstractClassVar[str] = '{one} and {two} share the body {body}: one solve written as two -- {remedy}'

e.g. ‘output {place!r} is owned by both {other!r} and {node!r}’

Type:

Wording

class NestedAlready(pairs: tuple)[source]

Bases: Violation

pairs: tuple
template: AbstractClassVar[str] = '{pairs!r} already nested: an architecture places every problem itself, over a model with no nesting -- `Unnest` first, or start from the model'

e.g. ‘output {place!r} is owned by both {other!r} and {node!r}’

Type:

Wording

class ClosuresCollide(names: tuple)[source]

Bases: Violation

names: tuple
template: AbstractClassVar[str] = 'two closures bound at {names!r}: the `At` names two groups alike -- one closure per cycle under `AtFirstMember`: cut it as one group, or write an `At` naming them apart'

e.g. ‘output {place!r} is owned by both {other!r} and {node!r}’

Type:

Wording