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)]