com.nicta.scoobi.impl.plan.comp

Optimiser

object Optimiser extends Optimiser

Linear Supertypes
Optimiser, MemoRewriter, Rewriter, RewriterCore, CompNodes, GraphNodes, AttributionCore, Memoiser, AttributionCommon, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Optimiser
  2. Optimiser
  3. MemoRewriter
  4. Rewriter
  5. RewriterCore
  6. CompNodes
  7. GraphNodes
  8. AttributionCore
  9. Memoiser
  10. AttributionCommon
  11. AnyRef
  12. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. class CachedAttribute[T, U] extends Attribute[T, U] with org.kiama.attribution.AttributionCore.IdMemoised[T, Option[U]]

    Definition Classes
    AttributionCore
  2. class CachedDynamicAttribute[T, U] extends CachedAttribute[T, U]

    Definition Classes
    AttributionCore
  3. class CachedParamAttribute[A, T, U] extends (A) ⇒ Attribute[T, U] with org.kiama.attribution.AttributionCore.Memoised[ParamAttributeKey, Option[U]]

    Definition Classes
    AttributionCore
  4. class CircularAttribute[T, U] extends Attribute[T, U] with org.kiama.attribution.AttributionCore.IdMemoised[T, U]

    Definition Classes
    AttributionCore
  5. class ConstantAttribute[T, U] extends Attribute[T, U]

    Definition Classes
    AttributionCommon
  6. trait IdMemoised[T, U] extends MemoisedBase[T, U]

    Definition Classes
    Memoiser
  7. abstract class MemoStrategy extends Strategy with org.kiama.rewriting.MemoRewriter.IdMemoised[Any, Option[Any]]

    Definition Classes
    MemoRewriter
  8. trait Memoised[T, U] extends MemoisedBase[T, U]

    Definition Classes
    Memoiser
  9. trait MemoisedBase[T, U] extends AnyRef

    Definition Classes
    Memoiser
  10. type T = CompNode

    Definition Classes
    CompNodesGraphNodes

Value Members

  1. final def !=(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  4. def addParallelDoForNonFilledSinks: Strategy

    add a map to output values to non-filled sink nodes if there are some

    add a map to output values to non-filled sink nodes if there are some

    Definition Classes
    Optimiser
  5. def all(name: String, s: ⇒ Strategy): Strategy

    Definition Classes
    RewriterCore
  6. macro def all(s: Strategy): Strategy

    Definition Classes
    RewriterCore
  7. def allMap[CC[V, W] <: Map[V, W]](s: Strategy, t: CC[Any, Any])(implicit cbf: CanBuildFrom[CC[Any, Any], (Any, Any), CC[Any, Any]]): Option[CC[Any, Any]]

    Definition Classes
    RewriterCore
  8. def allProduct(s: Strategy, p: Product): Option[Any]

    Definition Classes
    RewriterCore
  9. def allRewritable(s: Strategy, r: Rewritable): Option[Any]

    Definition Classes
    RewriterCore
  10. lazy val allSinks: CachedAttribute[CompNode, Seq[Sink]]

    collect all the sinks in the computation graph

    collect all the sinks in the computation graph

    Attributes
    protected
    Definition Classes
    CompNodes
  11. def allStrategies: Strategy

    all the strategies to apply, in sequence

    all the strategies to apply, in sequence

    Definition Classes
    Optimiser
  12. def allTraversable[CC[U] <: Traversable[U]](s: Strategy, t: CC[Any])(implicit cbf: CanBuildFrom[CC[Any], Any, CC[Any]]): Option[CC[Any]]

    Definition Classes
    RewriterCore
  13. def allbu(name: String, s: Strategy): Strategy

    Definition Classes
    Rewriter
  14. macro def allbu(s: Strategy): Strategy

    Definition Classes
    RewriterCore
  15. def alldownup2(name: String, s1: Strategy, s2: Strategy): Strategy

    Definition Classes
    Rewriter
  16. macro def alldownup2(s1: Strategy, s2: Strategy): Strategy

    Definition Classes
    RewriterCore
  17. def alltd(name: String, s: Strategy): Strategy

    Definition Classes
    Rewriter
  18. macro def alltd(s: Strategy): Strategy

    Definition Classes
    RewriterCore
  19. def alltdfold(name: String, s1: Strategy, s2: Strategy): Strategy

    Definition Classes
    Rewriter
  20. macro def alltdfold(s1: Strategy, s2: Strategy): Strategy

    Definition Classes
    RewriterCore
  21. def and(name: String, s1: Strategy, s2: Strategy): Strategy

    Definition Classes
    Rewriter
  22. macro def and(s1: Strategy, s2: Strategy): Strategy

    Definition Classes
    RewriterCore
  23. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  24. def attempt(name: String, s: Strategy): Strategy

    Definition Classes
    Rewriter
  25. macro def attempt(s: Strategy): Strategy

    Definition Classes
    RewriterCore
  26. def attr[T, U](name: String, f: (T) ⇒ U): CachedAttribute[T, U]

    Definition Classes
    AttributionCore
  27. macro def attr[T, U](f: (T) ⇒ U): CachedAttribute[T, U]

    Definition Classes
    AttributionCore
  28. def bottomup(name: String, s: Strategy): Strategy

    Definition Classes
    Rewriter
  29. macro def bottomup(s: Strategy): Strategy

    Definition Classes
    RewriterCore
  30. def bottomupS(name: String, s: Strategy, stop: (⇒ Strategy) ⇒ Strategy): Strategy

    Definition Classes
    Rewriter
  31. macro def bottomupS(s: Strategy, stop: (⇒ Strategy) ⇒ Strategy): Strategy

    Definition Classes
    RewriterCore
  32. def breadthfirst(name: String, s: Strategy): Strategy

    Definition Classes
    Rewriter
  33. macro def breadthfirst(s: Strategy): Strategy

    Definition Classes
    RewriterCore
  34. def build(name: String, t: ⇒ Any): Strategy

    Definition Classes
    RewriterCore
  35. macro def build(t: Any): Strategy

    Definition Classes
    RewriterCore
  36. def child(name: String, i: Int, s: ⇒ Strategy): Strategy

    Definition Classes
    RewriterCore
  37. macro def child(i: Int, s: Strategy): Strategy

    Definition Classes
    RewriterCore
  38. def childAttr[T <: Attributable, U](name: String, f: (T) ⇒ (Attributable) ⇒ U): CachedAttribute[T, U]

    Definition Classes
    AttributionCore
  39. macro def childAttr[T <: Attributable, U](f: (T) ⇒ (Attributable) ⇒ U): CachedAttribute[T, U]

    Definition Classes
    AttributionCore
  40. def childProduct(s: Strategy, i: Int, p: Product): Option[Any]

    Definition Classes
    RewriterCore
  41. def childSeq[CC[U] <: Seq[U]](s: Strategy, i: Int, t: CC[Any])(implicit cbf: CanBuildFrom[CC[Any], Any, CC[Any]]): Option[CC[Any]]

    Definition Classes
    RewriterCore
  42. lazy val children: CachedAttribute[T, Seq[T]]

    compute the children of a node.

    compute the children of a node.

    This is similar to calling the initTree method on the node but this stores the information as an attribute instead of storing it as a tree. This is a way to avoid conflicts if we have 2 processes trying to initialise the same graph

    Definition Classes
    GraphNodes
  43. def circular[T, U](name: String, init: U)(f: (T) ⇒ U): CircularAttribute[T, U]

    Definition Classes
    AttributionCore
  44. macro def circular[T, U](init: U)(f: (T) ⇒ U): CircularAttribute[T, U]

    Definition Classes
    AttributionCore
  45. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  46. macro def collect[CC[X] <: Traversable[X], U](f: ==>[Any, U])(implicit cbf: CanBuildFrom[CC[Any], U, CC[U]]): (Any) ⇒ CC[U]

    Definition Classes
    RewriterCore
  47. def collectWithName[CC[X] <: Traversable[X], U](name: String, f: ==>[Any, U])(implicit cbf: CanBuildFrom[CC[Any], U, CC[U]]): (Any) ⇒ CC[U]

    Definition Classes
    Rewriter
  48. macro def collectall[CC[X] <: Traversable[X], U](f: ==>[Any, CC[U]])(implicit cbf: CanBuildFrom[CC[Any], U, CC[U]]): (Any) ⇒ CC[U]

    Definition Classes
    RewriterCore
  49. def collectallWithName[CC[X] <: Traversable[X], U](name: String, f: ==>[Any, CC[U]])(implicit cbf: CanBuildFrom[CC[Any], U, CC[U]]): (Any) ⇒ CC[U]

    Definition Classes
    Rewriter
  50. def collectl[U](f: ==>[Any, U]): (Any) ⇒ List[U]

    Definition Classes
    Rewriter
  51. def collects[U](f: ==>[Any, U]): (Any) ⇒ Set[U]

    Definition Classes
    Rewriter
  52. def combineToParDo: Strategy

    Combine nodes which are not the output of a GroupByKey must be transformed to a ParallelDo

    Combine nodes which are not the output of a GroupByKey must be transformed to a ParallelDo

    Definition Classes
    Optimiser
  53. def congruence(name: String, ss: Strategy*): Strategy

    Definition Classes
    RewriterCore
  54. macro def congruence(ss: Strategy*): Strategy

    Definition Classes
    RewriterCore
  55. def congruenceProduct(p: Product, ss: Strategy*): Option[Any]

    Definition Classes
    RewriterCore
  56. def constant[T, U](name: String, u: ⇒ U): Attribute[T, U]

    Definition Classes
    AttributionCommon
  57. macro def constant[T, U](u: ⇒ U): Attribute[T, U]

    Definition Classes
    AttributionCommon
  58. def count(name: String, f: ==>[Any, Int]): (Any) ⇒ Int

    Definition Classes
    Rewriter
  59. macro def count(f: ==>[Any, Int]): (Any) ⇒ Int

    Definition Classes
    RewriterCore
  60. def debug(name: String, msg: String, emitter: Emitter): Strategy

    Definition Classes
    RewriterCore
  61. macro def debug(msg: String, emitter: Emitter): Strategy

    Definition Classes
    RewriterCore
  62. lazy val descendents: CachedAttribute[T, Seq[T]]

    compute all the descendents of a node They are all the recursive children reachable from this node

    compute all the descendents of a node They are all the recursive children reachable from this node

    Definition Classes
    GraphNodes
  63. lazy val descendentsUntil: CachedParamAttribute[(T) ⇒ Boolean, T, Seq[T]]

    Definition Classes
    GraphNodes
  64. def doloop(name: String, s: Strategy, r: Strategy): Strategy

    Definition Classes
    Rewriter
  65. macro def doloop(s: Strategy, r: Strategy): Strategy

    Definition Classes
    RewriterCore
  66. def dontstop(s: ⇒ Strategy): Strategy

    Definition Classes
    Rewriter
  67. def downup(name: String, s1: Strategy, s2: Strategy): Strategy

    Definition Classes
    Rewriter
  68. def downup(name: String, s: Strategy): Strategy

    Definition Classes
    Rewriter
  69. macro def downup(s1: Strategy, s2: Strategy): Strategy

    Definition Classes
    RewriterCore
  70. macro def downup(s: Strategy): Strategy

    Definition Classes
    RewriterCore
  71. def downupS(name: String, s1: Strategy, s2: Strategy, stop: (⇒ Strategy) ⇒ Strategy): Strategy

    Definition Classes
    Rewriter
  72. def downupS(name: String, s: Strategy, stop: (⇒ Strategy) ⇒ Strategy): Strategy

    Definition Classes
    Rewriter
  73. macro def downupS(s1: Strategy, s2: Strategy, stop: (⇒ Strategy) ⇒ Strategy): Strategy

    Definition Classes
    RewriterCore
  74. macro def downupS(s: Strategy, stop: (⇒ Strategy) ⇒ Strategy): Strategy

    Definition Classes
    RewriterCore
  75. def dup[T <: Product](t: T, children: Seq[AnyRef]): T

    Definition Classes
    RewriterCore
  76. lazy val duplicate: (CompNode) ⇒ CompNode

    duplicate the whole graph by copying all nodes

    duplicate the whole graph by copying all nodes

    Definition Classes
    Optimiser
  77. def dynAttr[T, U](name: String, f: (T) ⇒ U): CachedDynamicAttribute[T, U]

    Definition Classes
    AttributionCore
  78. macro def dynAttr[T, U](f: (T) ⇒ U): CachedDynamicAttribute[T, U]

    Definition Classes
    AttributionCore
  79. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  80. val eq: Strategy

    Definition Classes
    Rewriter
  81. val equal: Strategy

    Definition Classes
    Rewriter
  82. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  83. def everything[T](name: String, v: T)(f: (T, T) ⇒ T)(g: ==>[Any, T])(t: Any): T

    Definition Classes
    Rewriter
  84. macro def everything[T](v: T)(f: (T, T) ⇒ T)(g: ==>[Any, T])(t: Any): T

    Definition Classes
    RewriterCore
  85. def everywhere(name: String, s: Strategy): Strategy

    Definition Classes
    Rewriter
  86. macro def everywhere(s: Strategy): Strategy

    Definition Classes
    RewriterCore
  87. def everywherebu(name: String, s: Strategy): Strategy

    Definition Classes
    Rewriter
  88. macro def everywherebu(s: Strategy): Strategy

    Definition Classes
    RewriterCore
  89. def everywheretd(name: String, s: Strategy): Strategy

    Definition Classes
    Rewriter
  90. macro def everywheretd(s: Strategy): Strategy

    Definition Classes
    RewriterCore
  91. val fail: Strategy

    Definition Classes
    RewriterCore
  92. lazy val filledSink: CachedAttribute[String, String]

    this attribute stores the fact that a Sink has received data

    this attribute stores the fact that a Sink has received data

    Attributes
    protected
    Definition Classes
    CompNodes
  93. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  94. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  95. lazy val hasBeenFilled: (Sink) ⇒ Boolean

    returns

    true if a given Sink has already received data

    Attributes
    protected
    Definition Classes
    CompNodes
  96. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  97. val id: Strategy

    Definition Classes
    RewriterCore
  98. def initAttributable[S <: T](s: S): S

    initialise the parent/child relationship recursively from node s

    initialise the parent/child relationship recursively from node s

    Definition Classes
    GraphNodes
  99. def initTree[T <: Attributable](t: T): Unit

    Definition Classes
    AttributionCommon
  100. def innermost(name: String, s: Strategy): Strategy

    Definition Classes
    Rewriter
  101. macro def innermost(s: Strategy): Strategy

    Definition Classes
    RewriterCore
  102. def innermost2(name: String, s: Strategy): Strategy

    Definition Classes
    Rewriter
  103. macro def innermost2(s: Strategy): Strategy

    Definition Classes
    RewriterCore
  104. lazy val inputs: CachedAttribute[CompNode, Seq[CompNode]]

    compute the inputs of a given node For a ParallelDo node this does not consider its environment

    compute the inputs of a given node For a ParallelDo node this does not consider its environment

    Definition Classes
    CompNodes
  105. implicit def internalToDynamicAttribute[T, U](f: (T) ⇒ U): CachedDynamicAttribute[T, U]

    Definition Classes
    AttributionCore
  106. def ior(name: String, s1: Strategy, s2: Strategy): Strategy

    Definition Classes
    Rewriter
  107. macro def ior(s1: Strategy, s2: Strategy): Strategy

    Definition Classes
    RewriterCore
  108. lazy val isCyclic: CachedAttribute[T, Boolean]

    return true if a CompNode has a cycle in its graph, this will be detected by Kiama throwing an exception when fetching the descendents of a node

    return true if a CompNode has a cycle in its graph, this will be detected by Kiama throwing an exception when fetching the descendents of a node

    Definition Classes
    GraphNodes
  109. def isDefinedAtArg[T](anyf: ==>[Any, T], t: Any): Boolean

    Definition Classes
    RewriterCore
  110. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  111. lazy val isUsedAtMostOnce: CachedAttribute[T, Boolean]

    true if a node is used at most once

    true if a node is used at most once

    Definition Classes
    GraphNodes
  112. val isinnernode: Strategy

    Definition Classes
    Rewriter
  113. val isleaf: Strategy

    Definition Classes
    Rewriter
  114. val ispropersubterm: Strategy

    Definition Classes
    Rewriter
  115. val ispropersuperterm: Strategy

    Definition Classes
    Rewriter
  116. val issubterm: Strategy

    Definition Classes
    Rewriter
  117. val issuperterm: Strategy

    Definition Classes
    Rewriter
  118. def lastly(name: String, s: Strategy, f: Strategy): Strategy

    Definition Classes
    Rewriter
  119. macro def lastly(s: Strategy, f: Strategy): Strategy

    Definition Classes
    RewriterCore
  120. def leaves(name: String, s: Strategy, isleaf: Strategy, skip: (Strategy) ⇒ Strategy): Strategy

    Definition Classes
    Rewriter
  121. def leaves(name: String, s: Strategy, isleaf: Strategy): Strategy

    Definition Classes
    Rewriter
  122. macro def leaves(s: Strategy, isleaf: Strategy, skip: (Strategy) ⇒ Strategy): Strategy

    Definition Classes
    RewriterCore
  123. macro def leaves(s: Strategy, isleaf: Strategy): Strategy

    Definition Classes
    RewriterCore
  124. def log(name: String, s: ⇒ Strategy, msg: String, emitter: Emitter): Strategy

    Definition Classes
    RewriterCore
  125. macro def log(s: Strategy, msg: String, emitter: Emitter): Strategy

    Definition Classes
    RewriterCore
  126. def logfail[T](name: String, s: ⇒ Strategy, msg: String, emitter: Emitter): Strategy

    Definition Classes
    RewriterCore
  127. macro def logfail[T](s: Strategy, msg: String, emitter: Emitter): Strategy

    Definition Classes
    RewriterCore
  128. def loop(name: String, c: Strategy, s: Strategy): Strategy

    Definition Classes
    Rewriter
  129. macro def loop(r: Strategy, s: Strategy): Strategy

    Definition Classes
    RewriterCore
  130. def loopiter(name: String, s: (Int) ⇒ Strategy, low: Int, high: Int): Strategy

    Definition Classes
    Rewriter
  131. def loopiter(name: String, i: Strategy, r: Strategy, s: Strategy): Strategy

    Definition Classes
    Rewriter
  132. macro def loopiter(s: (Int) ⇒ Strategy, low: Int, high: Int): Strategy

    Definition Classes
    RewriterCore
  133. macro def loopiter(i: Strategy, r: Strategy, s: Strategy): Strategy

    Definition Classes
    RewriterCore
  134. def loopnot(name: String, r: Strategy, s: Strategy): Strategy

    Definition Classes
    Rewriter
  135. macro def loopnot(r: Strategy, s: Strategy): Strategy

    Definition Classes
    RewriterCore
  136. def makechild(c: Any): AnyRef

    Attributes
    protected
    Definition Classes
    RewriterCore
  137. def manybu(name: String, s: Strategy): Strategy

    Definition Classes
    Rewriter
  138. macro def manybu(s: Strategy): Strategy

    Definition Classes
    RewriterCore
  139. def manytd(name: String, s: Strategy): Strategy

    Definition Classes
    Rewriter
  140. macro def manytd(s: Strategy): Strategy

    Definition Classes
    RewriterCore
  141. def map(name: String, s: Strategy): Strategy

    Definition Classes
    Rewriter
  142. macro def map(s: Strategy): Strategy

    Definition Classes
    RewriterCore
  143. def markSinkAsFilled: (Sink) ⇒ String

    mark a sink as filled so it doesn't have to be recomputed

    mark a sink as filled so it doesn't have to be recomputed

    Attributes
    protected
    Definition Classes
    CompNodes
  144. def memo(name: String, s: ⇒ Strategy): Strategy

    Definition Classes
    MemoRewriter → RewriterCore
  145. macro def memo(s: Strategy): Strategy

    Definition Classes
    RewriterCore
  146. def mkStrategy(name: String, f: (Any) ⇒ Option[Any]): Strategy

    Definition Classes
    MemoRewriter → RewriterCore
  147. def mustBeRead(pd: ParallelDo): Boolean

    returns

    true if this parallelDo must be read ==> can't be fused

    Definition Classes
    Optimiser
  148. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  149. lazy val nodeHasBeenFilled: (CompNode) ⇒ Boolean

    returns

    true if a process node has been filled

    Attributes
    protected
    Definition Classes
    CompNodes
  150. def not(name: String, s: Strategy): Strategy

    Definition Classes
    Rewriter
  151. macro def not(s: Strategy): Strategy

    Definition Classes
    RewriterCore
  152. final def notify(): Unit

    Definition Classes
    AnyRef
  153. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  154. def oncebu(name: String, s: Strategy): Strategy

    Definition Classes
    Rewriter
  155. macro def oncebu(s: Strategy): Strategy

    Definition Classes
    RewriterCore
  156. def oncetd(name: String, s: Strategy): Strategy

    Definition Classes
    Rewriter
  157. macro def oncetd(s: Strategy): Strategy

    Definition Classes
    RewriterCore
  158. def one(name: String, s: ⇒ Strategy): Strategy

    Definition Classes
    RewriterCore
  159. macro def one(s: Strategy): Strategy

    Definition Classes
    RewriterCore
  160. def oneMap[CC[V, W] <: Map[V, W]](s: Strategy, t: CC[Any, Any])(implicit cbf: CanBuildFrom[CC[Any, Any], (Any, Any), CC[Any, Any]]): Option[CC[Any, Any]]

    Definition Classes
    RewriterCore
  161. def oneProduct(s: Strategy, p: Product): Option[Any]

    Definition Classes
    RewriterCore
  162. def oneRewritable(s: Strategy, r: Rewritable): Option[Any]

    Definition Classes
    RewriterCore
  163. def oneTraversable[CC[U] <: Traversable[U]](s: Strategy, t: CC[Any])(implicit cbf: CanBuildFrom[CC[Any], Any, CC[Any]]): Option[CC[Any]]

    Definition Classes
    RewriterCore
  164. def optimise(outputs: Seq[CompNode]): Seq[CompNode]

    Optimise a set of CompNodes, starting from the set of outputs

    Optimise a set of CompNodes, starting from the set of outputs

    Definition Classes
    Optimiser
  165. def option(name: String, o: ⇒ Option[Any]): Strategy

    Definition Classes
    RewriterCore
  166. macro def option(o: Option[Any]): Strategy

    Definition Classes
    RewriterCore
  167. def or(name: String, s1: Strategy, s2: Strategy): Strategy

    Definition Classes
    Rewriter
  168. macro def or(s1: Strategy, s2: Strategy): Strategy

    Definition Classes
    RewriterCore
  169. def outermost(name: String, s: Strategy): Strategy

    Definition Classes
    Rewriter
  170. macro def outermost(s: Strategy): Strategy

    Definition Classes
    RewriterCore
  171. def parDoFuse: Strategy

    Nested ParallelDos must be fused but only if pd1 is not used anywhere else.

    Nested ParallelDos must be fused but only if pd1 is not used anywhere else.

    We use somebu to fuse the nodes "bottom-up" starting from all leaves of the tree at the same time

    pd1 @ ParallelDo | pd2 @ ParallelDo

    > pd3 @ ParallelDo

    This rule is repeated until nothing can be fused anymore

    Definition Classes
    Optimiser
  172. def parDoFuseRule: Strategy

    Definition Classes
    Optimiser
  173. def parDoFuseSource: Strategy

    Definition Classes
    Optimiser
  174. def parDoFuseSourceRule: Strategy

    Definition Classes
    Optimiser
  175. def para[T](f: (Any, Seq[T]) ⇒ T): (Any) ⇒ T

    Definition Classes
    RewriterCore
  176. def paramAttr[V, T, U](name: String, f: (V) ⇒ (T) ⇒ U): CachedParamAttribute[V, T, U]

    Definition Classes
    AttributionCore
  177. macro def paramAttr[V, T, U](f: (V) ⇒ (T) ⇒ U): CachedParamAttribute[V, T, U]

    Definition Classes
    AttributionCore
  178. lazy val parent: CachedAttribute[T, Option[T]]

    compute the parent of a node.

    compute the parent of a node. This relationship is actually maintained while getting the children of a node if the parent node has not been set while recursing for children, then it is None

    Definition Classes
    GraphNodes
  179. lazy val parents: CachedAttribute[T, Seq[T]]

    compute the parents of a node, that is all the chain of parents from this node up to the root of the graph

    compute the parents of a node, that is all the chain of parents from this node up to the root of the graph

    Definition Classes
    GraphNodes
  180. macro def query[T](f: ==>[T, Unit]): Strategy

    Definition Classes
    RewriterCore
  181. def queryWithName[T](name: String, f: ==>[T, Unit]): Strategy

    Definition Classes
    RewriterCore
  182. def queryf(name: String, f: (Any) ⇒ Unit): Strategy

    Definition Classes
    RewriterCore
  183. macro def queryf(f: (Any) ⇒ Unit): Strategy

    Definition Classes
    RewriterCore
  184. def reduce(name: String, s: Strategy): Strategy

    Definition Classes
    Rewriter
  185. macro def reduce(s: Strategy): Strategy

    Definition Classes
    RewriterCore
  186. def reinit[S <: T](s: S): S

    reinitialise all the attributes related to a node, starting from all the parent/children relationships

    reinitialise all the attributes related to a node, starting from all the parent/children relationships

    reset the attributes, then recreate the parent/children relationships recursively

    Definition Classes
    GraphNodes
  187. def repeat(name: String, s: Strategy, n: Int): Strategy

    Definition Classes
    Rewriter
  188. def repeat(name: String, s: Strategy, r: Strategy): Strategy

    Definition Classes
    Rewriter
  189. def repeat(name: String, s: Strategy): Strategy

    Definition Classes
    Rewriter
  190. macro def repeat(s: Strategy, n: Int): Strategy

    Definition Classes
    RewriterCore
  191. macro def repeat(s: Strategy, r: Strategy): Strategy

    Definition Classes
    RewriterCore
  192. macro def repeat(s: Strategy): Strategy

    Definition Classes
    RewriterCore
  193. def repeat1(name: String, s: Strategy, r: Strategy): Strategy

    Definition Classes
    Rewriter
  194. def repeat1(name: String, s: Strategy): Strategy

    Definition Classes
    Rewriter
  195. macro def repeat1(s: Strategy, r: Strategy): Strategy

    Definition Classes
    RewriterCore
  196. macro def repeat1(s: Strategy): Strategy

    Definition Classes
    RewriterCore
  197. def repeatTraversal(traversal: (String, Strategy) ⇒ Strategy, s: Strategy): Strategy

    apply a traversal strategy but make sure that:

    apply a traversal strategy but make sure that:

    - after each pass the tree is reset in terms of attributable relationships and uses - the strategy to execute is memoised, i.e. if a node has already been processed its result must be reused this ensures that rewritten shared nodes are not duplicated

    Definition Classes
    Optimiser
  198. def repeatuntil(name: String, s: Strategy, r: Strategy): Strategy

    Definition Classes
    Rewriter
  199. macro def repeatuntil(s: Strategy, r: Strategy): Strategy

    Definition Classes
    RewriterCore
  200. def resetMemo(): Unit

    Definition Classes
    Memoiser
  201. def resetUses: Unit

    reinit usages

    reinit usages

    Attributes
    protected
    Definition Classes
    GraphNodes
  202. def restore(name: String, s: Strategy, rest: Strategy): Strategy

    Definition Classes
    Rewriter
  203. macro def restore(s: Strategy, rest: Strategy): Strategy

    Definition Classes
    RewriterCore
  204. def restorealways(name: String, s: Strategy, rest: Strategy): Strategy

    Definition Classes
    Rewriter
  205. macro def restorealways(s: Strategy, rest: Strategy): Strategy

    Definition Classes
    RewriterCore
  206. def rewrite[T](s: Strategy)(t: T): T

    Definition Classes
    Rewriter
  207. lazy val root: CachedAttribute[T, T]

    the root of the graph, computed from a given node

    the root of the graph, computed from a given node

    Definition Classes
    GraphNodes
  208. macro def rule[T](f: ==>[T, T]): Strategy

    Definition Classes
    RewriterCore
  209. def ruleWithName[T](name: String, f: ==>[T, T]): Strategy

    Definition Classes
    RewriterCore
  210. def rulef(name: String, f: (Any) ⇒ Any): Strategy

    Definition Classes
    RewriterCore
  211. macro def rulef(f: (Any) ⇒ Any): Strategy

    Definition Classes
    RewriterCore
  212. macro def rulefs[T](f: ==>[T, Strategy]): Strategy

    Definition Classes
    RewriterCore
  213. def rulefsWithName[T](name: String, f: ==>[T, Strategy]): Strategy

    Definition Classes
    RewriterCore
  214. def some(name: String, s: ⇒ Strategy): Strategy

    Definition Classes
    RewriterCore
  215. macro def some(s: Strategy): Strategy

    Definition Classes
    RewriterCore
  216. def someMap[CC[V, W] <: Map[V, W]](s: Strategy, t: CC[Any, Any])(implicit cbf: CanBuildFrom[CC[Any, Any], (Any, Any), CC[Any, Any]]): Option[CC[Any, Any]]

    Definition Classes
    RewriterCore
  217. def someProduct(s: Strategy, p: Product): Option[Any]

    Definition Classes
    RewriterCore
  218. def someRewritable(s: Strategy, r: Rewritable): Option[Any]

    Definition Classes
    RewriterCore
  219. def someTraversable[CC[U] <: Traversable[U]](s: Strategy, t: CC[Any])(implicit cbf: CanBuildFrom[CC[Any], Any, CC[Any]]): Option[CC[Any]]

    Definition Classes
    RewriterCore
  220. def somebu(name: String, s: Strategy): Strategy

    Definition Classes
    Rewriter
  221. macro def somebu(s: Strategy): Strategy

    Definition Classes
    RewriterCore
  222. def somedownup(name: String, s: Strategy): Strategy

    Definition Classes
    Rewriter
  223. macro def somedownup(s: Strategy): Strategy

    Definition Classes
    RewriterCore
  224. def sometd(name: String, s: Strategy): Strategy

    Definition Classes
    Rewriter
  225. macro def sometd(s: Strategy): Strategy

    Definition Classes
    RewriterCore
  226. def sourcesCanBeFused(pdNodes: Seq[CompNode]): Boolean

    Definition Classes
    Optimiser
  227. macro def strategy[T](f: ==>[T, Option[T]]): Strategy

    Definition Classes
    RewriterCore
  228. def strategyWithName[T](name: String, f: ==>[T, Option[T]]): Strategy

    Definition Classes
    RewriterCore
  229. def strategyf(name: String, f: (Any) ⇒ Option[Any]): Strategy

    Definition Classes
    RewriterCore
  230. macro def strategyf(f: (Any) ⇒ Option[Any]): Strategy

    Definition Classes
    RewriterCore
  231. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  232. macro def term[T](t: T): Strategy

    Definition Classes
    RewriterCore
  233. def termWithName[T](name: String, t: T): Strategy

    Definition Classes
    RewriterCore
  234. def test(name: String, s: Strategy): Strategy

    Definition Classes
    Rewriter
  235. macro def test(s: Strategy): Strategy

    Definition Classes
    RewriterCore
  236. def toString(): String

    Definition Classes
    AnyRef → Any
  237. def topdown(name: String, s: Strategy): Strategy

    Definition Classes
    Rewriter
  238. macro def topdown(s: Strategy): Strategy

    Definition Classes
    RewriterCore
  239. def topdownS(name: String, s: Strategy, stop: (⇒ Strategy) ⇒ Strategy): Strategy

    Definition Classes
    Rewriter
  240. macro def topdownS(s: Strategy, stop: (⇒ Strategy) ⇒ Strategy): Strategy

    Definition Classes
    RewriterCore
  241. lazy val transitiveUses: CachedAttribute[T, Set[T]]

    compute all the indirect uses of a given node, that is all the nodes which have this node as a descendent

    compute all the indirect uses of a given node, that is all the nodes which have this node as a descendent

    Definition Classes
    GraphNodes
  242. def traverseOncebu(s: Strategy): Strategy

    Definition Classes
    Optimiser
  243. def traverseSomebu(s: Strategy): Strategy

    Definition Classes
    Optimiser
  244. def traverseSometd(s: Strategy): Strategy

    Definition Classes
    Optimiser
  245. def tree[T <: Attributable, U <: Attributable](name: String, f: (T) ⇒ U): CachedAttribute[T, U]

    Definition Classes
    AttributionCore
  246. macro def tree[T <: Attributable, U <: Attributable](f: (T) ⇒ U): CachedAttribute[T, U]

    Definition Classes
    AttributionCore
  247. def truncate(node: CompNode)(condition: (Any) ⇒ Boolean): CompNode

    remove nodes from the tree based on a predicate

    remove nodes from the tree based on a predicate

    Definition Classes
    Optimiser
  248. def truncateAlreadyExecutedNodes(node: CompNode)(implicit sc: ScoobiConfiguration): CompNode

    Definition Classes
    Optimiser
  249. lazy val uses: CachedAttribute[T, Set[T]]

    the nodes which have this node as a direct child

    the nodes which have this node as a direct child

    for efficiency, this uses a table of all the nodes using a given one, computed from the root

    Definition Classes
    GraphNodes
  250. def usesAsEnvironment: CachedAttribute[CompNode, Seq[ParallelDo]]

    compute all the nodes which use a given node as an environment

    compute all the nodes which use a given node as an environment

    Definition Classes
    CompNodes
  251. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  252. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  253. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  254. def where(name: String, s: Strategy): Strategy

    Definition Classes
    Rewriter
  255. macro def where(s: Strategy): Strategy

    Definition Classes
    RewriterCore

Inherited from Optimiser

Inherited from MemoRewriter

Inherited from Rewriter

Inherited from RewriterCore

Inherited from CompNodes

Inherited from GraphNodes

Inherited from AttributionCore

Inherited from Memoiser

Inherited from AttributionCommon

Inherited from AnyRef

Inherited from Any

Ungrouped