trait LamLattice[L] extends JoinLattice[L]
Our value domain should form a lattice, but we need support for a bit more than just join operations
- Alphabetic
- By Inheritance
- LamLattice
- JoinLattice
- PartialOrdering
- Equiv
- Serializable
- Serializable
- Monoid
- Semigroup
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Type Members
-
trait
JoinLatticeLaw extends AnyRef
- Definition Classes
- JoinLattice
-
trait
MonoidLaw extends scalaz.Monoid.SemigroupLaw
- Definition Classes
- Monoid
-
trait
SemigroupApply extends Apply[[α]F]
- Attributes
- protected[this]
- Definition Classes
- Semigroup
-
trait
SemigroupCompose extends Compose[[α, β]F]
- Attributes
- protected[this]
- Definition Classes
- Semigroup
-
trait
SemigroupLaw extends AnyRef
- Definition Classes
- Semigroup
Abstract Value Members
-
abstract
def
bottom: L
A lattice has a bottom element
A lattice has a bottom element
- Definition Classes
- JoinLattice
-
abstract
def
cardinality(x: L): Cardinality
Cardinality of this value
Cardinality of this value
- Definition Classes
- JoinLattice
-
abstract
def
counting: Boolean
It should state whether it supports abstract counting or not.
It should state whether it supports abstract counting or not. (TODO: this is probably not the best place for that)
- Definition Classes
- JoinLattice
-
abstract
def
getClosures[Exp, Addr](x: L)(implicit arg0: Expression[Exp], arg1: Address[Addr]): Set[(Exp, Environment[Addr])]
We can get the closures out of an element of the value domain
-
abstract
def
inject[Exp, Addr](x: (Exp, Environment[Addr]))(implicit arg0: Expression[Exp], arg1: Address[Addr]): L
We can inject a closure inside the value domain
-
abstract
def
isPrimitiveValue(x: L): Boolean
Some elements may contain addresses in there and are therefore not considered as primitive values
Some elements may contain addresses in there and are therefore not considered as primitive values
- Definition Classes
- JoinLattice
-
abstract
def
join(x: L, y: L): L
Elements of the lattice can be joined together
Elements of the lattice can be joined together
- Definition Classes
- JoinLattice
-
abstract
def
name: String
A name identifying the lattice
A name identifying the lattice
- Definition Classes
- JoinLattice
-
abstract
def
subsumes(x: L, y: L): Boolean
Subsumption between two elements can be checked
Subsumption between two elements can be checked
- Definition Classes
- JoinLattice
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
def
+(other: String): String
- Implicit
- This member is added by an implicit conversion from LamLattice[L] to any2stringadd[LamLattice[L]] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
-
def
->[B](y: B): (LamLattice[L], B)
- Implicit
- This member is added by an implicit conversion from LamLattice[L] to ArrowAssoc[LamLattice[L]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
append(x: L, y: ⇒ L): L
- Definition Classes
- JoinLattice → Semigroup
-
final
def
applicative: Applicative[[α]L]
- Definition Classes
- Monoid
-
final
def
apply: Apply[[α]L]
- Definition Classes
- Semigroup
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
final
def
category: Category[[α, β]L]
- Definition Classes
- Monoid
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate() @throws( ... )
-
final
def
compose: Compose[[α, β]L]
- Definition Classes
- Semigroup
-
def
ensuring(cond: (LamLattice[L]) ⇒ Boolean, msg: ⇒ Any): LamLattice[L]
- Implicit
- This member is added by an implicit conversion from LamLattice[L] to Ensuring[LamLattice[L]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: (LamLattice[L]) ⇒ Boolean): LamLattice[L]
- Implicit
- This member is added by an implicit conversion from LamLattice[L] to Ensuring[LamLattice[L]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean, msg: ⇒ Any): LamLattice[L]
- Implicit
- This member is added by an implicit conversion from LamLattice[L] to Ensuring[LamLattice[L]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean): LamLattice[L]
- Implicit
- This member is added by an implicit conversion from LamLattice[L] to Ensuring[LamLattice[L]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
equiv(x: L, y: L): Boolean
- Definition Classes
- PartialOrdering → Equiv
-
def
formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from LamLattice[L] to StringFormat[LamLattice[L]] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
gt(x: L, y: L): Boolean
- Definition Classes
- PartialOrdering
-
def
gteq(x: L, y: L): Boolean
- Definition Classes
- PartialOrdering
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
ifEmpty[B](a: L)(t: ⇒ B)(f: ⇒ B)(implicit eq: Equal[L]): B
- Definition Classes
- Monoid
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
isMZero(a: L)(implicit eq: Equal[L]): Boolean
- Definition Classes
- Monoid
-
def
lt(x: L, y: L): Boolean
- Definition Classes
- PartialOrdering
-
def
lteq(x: L, y: L): Boolean
- Definition Classes
- JoinLattice → PartialOrdering
-
def
monoidLaw: MonoidLaw
- Definition Classes
- Monoid
-
val
monoidSyntax: MonoidSyntax[L]
- Definition Classes
- Monoid
-
def
multiply(value: L, n: Int): L
- Definition Classes
- Monoid
-
def
multiply1(value: L, n: Int): L
- Definition Classes
- Semigroup
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
onEmpty[A, B](a: L)(v: ⇒ B)(implicit eq: Equal[L], mb: Monoid[B]): B
- Definition Classes
- Monoid
-
final
def
onNotEmpty[B](a: L)(v: ⇒ B)(implicit eq: Equal[L], mb: Monoid[B]): B
- Definition Classes
- Monoid
-
def
reverse: PartialOrdering[L]
- Definition Classes
- PartialOrdering
-
def
semigroupLaw: SemigroupLaw
- Definition Classes
- Semigroup
-
val
semigroupSyntax: SemigroupSyntax[L]
- Definition Classes
- Semigroup
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
totalLessThan(a: L, b: L): Boolean
ADDED Force an artificial total order to sort final values and have a deterministic output.
ADDED Force an artificial total order to sort final values and have a deterministic output. (The corresponding <= is not always transitive, but it is good enough.)
- Definition Classes
- JoinLattice
-
def
tryCompare(x: L, y: L): Option[Int]
- Definition Classes
- JoinLattice → PartialOrdering
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
zero: L
- Definition Classes
- JoinLattice → Monoid
-
def
→[B](y: B): (LamLattice[L], B)
- Implicit
- This member is added by an implicit conversion from LamLattice[L] to ArrowAssoc[LamLattice[L]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc