RelativelyComplementedRefOps

class Object
trait Matchable
class Any

Value members

Concrete methods

def excludeRef[M[_], Var[_], Val[_], D](ref1: Var[D], ref2: Val[D])(implicit dom: RelativelyComplementedDom[D], fin: Final[D], P: Aux1[M, Var, Val]): M[Unit]
def excludeVal[M[_], Var[_], D](ref: Var[D], d: D)(implicit dom: RelativelyComplementedDom[D], P: Aux0[M, Var]): M[Unit]
def makeDifferent[M[_], Var[_], D](ref1: Var[D], ref2: Var[D])(implicit dom: RelativelyComplementedDom[D], fin: Final[D], P: Aux0[M, Var]): M[Unit]

Extensions

Extensions

extension [M[_], D](P: Propagation[M])
def =!=(ref: Var[D])(that: Var[D])(implicit dom: RelativelyComplementedDom[D], fin: Final[D]): M[Unit]

Ensure that the two cells resolve to different values.

Ensure that the two cells resolve to different values.

def exclude(ref: Var[D])(d: D)(implicit dom: RelativelyComplementedDom[D]): M[Unit]
def excludeThat(ref: Var[D])(that: Var[D])(implicit dom: RelativelyComplementedDom[D], fin: Final[D]): M[Unit]
extension [M[_], D](P: Propagation[M])
def excludeFrom(ref: Val[D])(that: Var[D])(implicit dom: RelativelyComplementedDom[D], fin: Final[D]): M[Unit]
extension [M[_], D](P: Propagation[M])(ref: Var[D])
def remove[A](a: A)(implicit dom: RelativelyComplementedDom[D], fin: Aux[D, A]): M[Unit]
extension [M[_], D](P: BranchingPropagation[M])
def isDifferentFrom(ref: Var[D])(that: Var[D])(implicit dom: RelativelyComplementedDom[D], fin: Final[D]): M[Var[Bool]]