ENode

foresight.eqsat.ENode
See theENode companion class
object ENode

Constructors and helpers for ENode.

Attributes

Companion
class
Graph
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
ENode.type

Members list

Type members

Inherited and Abstract types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Attributes

Inherited from:
Mirror
type MirroredLabel <: String

The name of the type

The name of the type

Attributes

Inherited from:
Mirror

Value members

Concrete methods

def unslotted[NodeT](nodeType: NodeT, args: Seq[EClassCall]): ENode[NodeT]

Builds an e-node that declares no local or free slots.

Builds an e-node that declares no local or free slots.

Useful for ground nodes in languages without variables or when slot usage is expressed entirely in children.

Type parameters

NodeT

Domain-specific node type.

Value parameters

args

Child e-class applications.

nodeType

Operator or symbol.

Attributes

Returns

A slotless node with the given operator and children.

Example
val n: ENode[Op] = ENode.unslotted(Add, Seq(leftCall, rightCall))