nodeShape

object nodeShape
class Object
trait Matchable
class Any

Type members

Classlikes

case
class ConjRef[Label, Err, Evidence](labels: Seq[Label]) extends NodeShape[Nothing, Label, Err, Evidence]

Reference to a sequence of labels

Reference to a sequence of labels

case
class DisjRef[Label, Err, Evidence](labels: Seq[Label]) extends NodeShape[Nothing, Label, Err, Evidence]

Reference to an sequence of labels which are disjunctive

Reference to an sequence of labels which are disjunctive

object NodeShape

Some common node shapes

Some common node shapes

Companion
class
sealed
trait NodeShape[+Node, +Label, Err, Evidence]

A node shape

A node shape

Companion
object
case
class OrShape[+Node, +Label, Err, Evidence](ns: Seq[NodeShape[Node, Label, Err, Evidence]]) extends NodeShape[Node, Label, Err, Evidence]
case
class Pred[Node, Err, Evidence](name: String)(pred: Node => CheckVal[Node, Err, Evidence]) extends NodeShape[Node, Nothing, Err, Evidence]

Constraint on nodes (it has a name and a predicate).

Constraint on nodes (it has a name and a predicate).

Note: pred is defined in the 2nd parameter section to avoid equality and hashing of functions

case
class Ref[Label, Err, Evidence](label: Label) extends NodeShape[Nothing, Label, Err, Evidence]

Reference to another label

Reference to another label

case
class RefNot[Label, Err, Evidence](label: Label) extends NodeShape[Nothing, Label, Err, Evidence]

Negation of a expression

Negation of a expression

Types

type CheckVal[Node, Err, Evidence] = Either[List[Err], (Node, Evidence)]