Trait

org.emmalanguage.compiler

Compiler

Related Doc: package compiler

Permalink

trait Compiler extends AlphaEq with Lib with Source with Core with GenericBackend with GraphTools with Optimizations

Base compiler trait.

This trait has to be instantiated with an underlying universe and works for both runtime and compile time reflection.

Linear Supertypes
Optimizations, FoldGroupFusion, FoldForestFusion, Caching, GraphTools, ControlFlow, GenericBackend, GenericSpecialization, Context, Order, Core, Trampoline, Reduce, Pickling, DSCF, DCE, CSE, CoreValidate, Comprehension, ReDeSugar, Normalize, Combination, ANF, Source, SourceValidate, PatternMatching, Foreach2Loop, Lib, AlphaEq, Common, compiler.API, AST, Variables, Values, Types, Trees, Transversers, Terms, Symbols, Patterns, Parameters, Methods, Loops, Bindings, CommonAST, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Compiler
  2. Optimizations
  3. FoldGroupFusion
  4. FoldForestFusion
  5. Caching
  6. GraphTools
  7. ControlFlow
  8. GenericBackend
  9. GenericSpecialization
  10. Context
  11. Order
  12. Core
  13. Trampoline
  14. Reduce
  15. Pickling
  16. DSCF
  17. DCE
  18. CSE
  19. CoreValidate
  20. Comprehension
  21. ReDeSugar
  22. Normalize
  23. Combination
  24. ANF
  25. Source
  26. SourceValidate
  27. PatternMatching
  28. Foreach2Loop
  29. Lib
  30. AlphaEq
  31. Common
  32. API
  33. AST
  34. Variables
  35. Values
  36. Types
  37. Trees
  38. Transversers
  39. Terms
  40. Symbols
  41. Patterns
  42. Parameters
  43. Methods
  44. Loops
  45. Bindings
  46. CommonAST
  47. AnyRef
  48. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. type =?>[-A, +B] = PartialFunction[A, B]

    Permalink

    Syntax sugar for partial functions.

    Syntax sugar for partial functions.

    Definition Classes
    CommonAST
  2. trait API extends BindingAPI with LoopAPI with MethodAPI with ParameterAPI with PatternAPI with SymbolAPI with TermAPI with TransverserAPI with TreeAPI with TypeAPI with ValueAPI with VariableAPI

    Permalink

    Virtual AST API.

    Virtual AST API.

    Definition Classes
    AST
  3. case class Attr[A, I, S](tree: scala.reflect.api.Universe.Tree, acc: A, inh: I, syn: S) extends Product with Serializable

    Permalink

    An attributed tree.

    An attributed tree.

    tree

    The tree being attributed.

    acc

    Accumulated attributes.

    inh

    Inherited attributes.

    syn

    Synthesized attributes.

    Definition Classes
    Transversers
  4. trait BackendAPI extends AnyRef

    Permalink

    Backend-specific APIs.

    Backend-specific APIs. This trait should be implemented by each backend.

    Definition Classes
    API
  5. trait BindingAPI extends AnyRef

    Permalink

    Bindings (values, variables and parameters).

    Bindings (values, variables and parameters).

    Examples
    // values
    val a = 42
    
    // variables
    var b = true
    
    // parameters
    def method(c: Char) = c
    (d: Double) => d
    abstract class A(e: Exception) { e.printStackTrace() }
    class C(f: Float) { println(f) }
    Definition Classes
    Bindings
  6. trait ClassAPI extends ReflectedSymbol[scala.reflect.api.Universe.ClassSymbol]

    Permalink
    Definition Classes
    API
  7. trait ComprehensionCombinatorsAPI[S <: scala.reflect.api.Universe.Symbol] extends ReflectedSymbol[S]

    Permalink
    Definition Classes
    API
  8. trait ComprehensionSyntaxAPI extends ModuleAPI

    Permalink
    Definition Classes
    API
  9. trait DSCFAnnotationsAPI extends ModuleAPI

    Permalink
    Definition Classes
    API
  10. class DataBag$API extends ModuleAPI

    Permalink
    Definition Classes
    API
  11. class DataBagAPI extends ClassAPI

    Permalink
    Definition Classes
    API
  12. type Eq = Unit

    Permalink

    Alpha equivalence.

    Alpha equivalence.

    Definition Classes
    AlphaEq
  13. case class FlowGraph[V] extends Product with Serializable

    Permalink
    Definition Classes
    ControlFlow
  14. trait GraphRepresentationAPI extends ModuleAPI

    Permalink
    Definition Classes
    API
  15. class Group$API extends ModuleAPI

    Permalink
    Definition Classes
    API
  16. trait GroupAPI extends ClassAPI

    Permalink
    Definition Classes
    API
  17. trait LoopAPI extends AnyRef

    Permalink

    Loops (while and do-while).

    Loops (while and do-while).

    Definition Classes
    Loops
  18. trait ManagedAttr[A <: HList, I <: HList, S <: HList] extends (scala.reflect.api.Universe.Tree) ⇒ AST.Attr[A, I, S]

    Permalink

    Utility for managing attribute grammars.

    Utility for managing attribute grammars.

    Definition Classes
    Transversers
  19. trait Meta extends AnyRef

    Permalink

    Meta information (attachments).

    Meta information (attachments).

    Definition Classes
    CommonAST
  20. trait MethodAPI extends AnyRef

    Permalink

    Methods (defs).

    Methods (defs).

    Examples
    // definitions
    def pi = 3.14
    def greet() = println("Hello, World!")
    def nil[A] = List.empty[A]
    def pNil[A]() = println(nil[A])
    def succ(i: Int) = i + 1
    def one[A](a: A) = a :: Nil
    def add(x: Int, y: Int) = x + y
    def pair[A, B](a: A, b: B) = (a, b)
    def addCurry(x: Int)(y: Int) = x + y
    def pairCurry[A, B](a: A)(b: B) = (a, b)
    def zero[N: Numeric] = implicitly[Numeric[N]].zero
    def times2[N](n: N)(implicit N: Numeric[N]) = N.times(n, N.fromInt(2))
    
    // calls
    pi
    greet()
    nil[String]
    pNil[String]()
    succ(42)
    one[Char]('1')
    add(2, 3)
    pair[String, Double]("pi = ", 3.14)
    addCurry(2)(3)
    pairCurry[String, Double]("pi = ")(3.14)
    zero[Double]
    times2[Long](5)
    Definition Classes
    Methods
  21. trait ModuleAPI extends ReflectedSymbol[scala.reflect.api.Universe.ModuleSymbol]

    Permalink
    Definition Classes
    API
  22. class MutableBag$API extends ModuleAPI

    Permalink
    Definition Classes
    API
  23. class MutableBagAPI extends ClassAPI

    Permalink
    Definition Classes
    API
  24. case class Neq(lhs: scala.reflect.api.Universe.Tree, rhs: scala.reflect.api.Universe.Tree, msg: String) extends Product with Serializable

    Permalink

    Alpha difference at subtrees lhs and rhs due to msg.

    Alpha difference at subtrees lhs and rhs due to msg.

    Definition Classes
    AlphaEq
  25. trait Node extends AnyRef

    Permalink

    Common parent for all virtual AST nodes.

    Common parent for all virtual AST nodes.

    Definition Classes
    CommonAST
  26. class OpsAPI extends ModuleAPI with ComprehensionCombinatorsAPI[scala.reflect.api.Universe.ModuleSymbol] with RuntimeAPI[scala.reflect.api.Universe.ModuleSymbol]

    Permalink
    Definition Classes
    API
  27. trait ParameterAPI extends AnyRef

    Permalink

    (method / lambda) Parameters.

    (method / lambda) Parameters.

    Examples
    def method(c: Char) = c
    (d: Double) => d
    abstract class A(e: Exception) { e.printStackTrace() }
    class C(f: Float) { println(f) }
    Definition Classes
    Parameters
  28. trait PatternAPI extends AnyRef

    Permalink

    Patterns (for pattern matching).

    Patterns (for pattern matching).

    Definition Classes
    Patterns
  29. trait ReflectedSymbol[S <: scala.reflect.api.Universe.Symbol] extends AnyRef

    Permalink
    Definition Classes
    API
  30. trait RuntimeAPI[S <: scala.reflect.api.Universe.Symbol] extends ReflectedSymbol[S]

    Permalink
    Definition Classes
    API
  31. case class Strategy[A <: HList, I <: HList, S <: HList](grammar: AST.AttrGrammar[A, I, S], factory: AST.Factory) extends Product with Serializable

    Permalink

    A traversal / transformation strategy.

    A traversal / transformation strategy. 4 fundamental strategies are available:

    1. Top-down continue left-to-right 2. Top-down break left-to-right 3. Bottom-up continue left-to-right 4. Bottom-up break left-to-right

    Right-to-left variants are not supported.

    Definition Classes
    Transversers
  32. trait SymbolAPI extends AnyRef

    Permalink
    Definition Classes
    Symbols
  33. trait TermAPI extends AnyRef

    Permalink
    Definition Classes
    Terms
  34. abstract class Transform[A <: HList, I <: HList, S <: HList] extends scala.reflect.api.Universe.Transformer with AST.ManagedAttr[A, I, S]

    Permalink

    An abstract transformation (default is top-down break).

    An abstract transformation (default is top-down break).

    Definition Classes
    Transversers
  35. trait TransverserAPI extends AnyRef

    Permalink

    Fluent tree traversal / transformation APIs.

    Fluent tree traversal / transformation APIs.

    Definition Classes
    Transversers
  36. abstract class Traversal[A <: HList, I <: HList, S <: HList] extends scala.reflect.api.Universe.Traverser with AST.ManagedAttr[A, I, S]

    Permalink

    An abstract traversal (default is top-down break).

    An abstract traversal (default is top-down break).

    Definition Classes
    Transversers
  37. trait TreeAPI extends AnyRef

    Permalink
    Definition Classes
    Trees
  38. sealed trait TreeTransform extends AnyRef

    Permalink
    Definition Classes
    CommonAST
  39. trait TypeAPI extends AnyRef

    Permalink
    Definition Classes
    Types
  40. trait ValueAPI extends AnyRef

    Permalink

    Values (vals).

    Values (vals).

    Examples
    val x = 42
    println(x)
    object Math { val pi = 3.14 }
    println(Math.pi)
    ("Hello", '!')._1
    println(math.e)
    import scala.math.e
    println(e)
    Definition Classes
    Values
  41. trait VariableAPI extends AnyRef

    Permalink

    Variables (vars).

    Variables (vars).

    Examples
    var x = 42
    x = x * 2
    object Greet { var hi = "Hello" }
    println(Greet.hi + ", World!")
    // This is a `Def.Call` of the method `hi_=`, not a `Var.Mut`:
    Greet.hi = "Hola"
    Definition Classes
    Variables
  42. type Xfrm = TreeTransform

    Permalink
    Definition Classes
    CommonAST
  43. trait XfrmAlg[B] extends AnyRef

    Permalink
    Definition Classes
    CommonAST
  44. trait XfrmEval extends AnyRef

    Permalink
    Definition Classes
    CommonAST
  45. implicit class XfrmOps extends (scala.reflect.api.Universe.Tree) ⇒ scala.reflect.api.Universe.Tree

    Permalink
    Definition Classes
    CommonAST
  46. trait emmaAPI extends ModuleAPI

    Permalink
    Definition Classes
    API

Abstract Value Members

  1. abstract def abort(msg: String, pos: scala.reflect.api.Universe.Position = u.NoPosition): Nothing

    Permalink

    Raises an error and terminates compilation.

    Raises an error and terminates compilation.

    Definition Classes
    CommonAST
  2. abstract def enclosingOwner: scala.reflect.api.Universe.Symbol

    Permalink

    Returns the enclosing named entity (class, method, value, etc).

    Returns the enclosing named entity (class, method, value, etc).

    Definition Classes
    CommonAST
  3. abstract def eval[T](code: scala.reflect.api.Universe.Tree): T

    Permalink

    Evaluates a snippet of code and returns a value of type T.

    Evaluates a snippet of code and returns a value of type T. Note: this can be called on type--checked trees (as opposed to the eval method in ToolBox).

    Definition Classes
    CommonAST
  4. abstract def inferImplicit(tpe: scala.reflect.api.Universe.Type): Option[scala.reflect.api.Universe.Tree]

    Permalink

    Infers an implicit value from the enclosing context (if possible).

    Infers an implicit value from the enclosing context (if possible).

    Definition Classes
    CommonAST
  5. abstract def meta(tree: scala.reflect.api.Universe.Tree): Meta

    Permalink

    Returns the meta information associated with tree.

    Returns the meta information associated with tree.

    Definition Classes
    CommonAST
  6. abstract def meta(sym: scala.reflect.api.Universe.Symbol): Meta

    Permalink

    Returns the meta information associated with sym.

    Returns the meta information associated with sym.

    Definition Classes
    CommonAST
  7. abstract def parse(code: String): scala.reflect.api.Universe.Tree

    Permalink

    Parses a snippet of source code and returns the AST.

    Parses a snippet of source code and returns the AST.

    Definition Classes
    CommonAST
  8. abstract def typeCheck(tree: scala.reflect.api.Universe.Tree, typeMode: Boolean = false): scala.reflect.api.Universe.Tree

    Permalink

    Type-checks a tree (use typeMode=true for type-trees).

    Type-checks a tree (use typeMode=true for type-trees).

    Definition Classes
    CommonAST
  9. abstract val u: Universe

    Permalink

    The underlying universe object.

    The underlying universe object.

    Definition Classes
    CompilerCommonAST
  10. abstract def warning(msg: String, pos: scala.reflect.api.Universe.Position = u.NoPosition): Unit

    Permalink

    Raises a compiler warning.

    Raises a compiler warning.

    Definition Classes
    CommonAST

Concrete Value Members

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

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  4. object API

    Permalink

    Reflection of the Emma API.

    Reflection of the Emma API.

    Definition Classes
    API
  5. object Attr extends Serializable

    Permalink
    Definition Classes
    Transversers
  6. object Comprehension

    Permalink
    Definition Classes
    Comprehension
  7. object Context

    Permalink
    Definition Classes
    Context
  8. object ControlFlow

    Permalink

    Control-flow graph analysis (CFG).

    Control-flow graph analysis (CFG).

    Definition Classes
    ControlFlow
  9. object Core

    Permalink

    Core language.

    Core language.

    Definition Classes
    Core
  10. object CytoscapeGraphJsonProtocol extends DefaultJsonProtocol

    Permalink
    Definition Classes
    GraphTools
  11. lazy val Flags: Set[scala.reflect.api.Universe.FlagSet]

    Permalink

    All explicit flags.

    All explicit flags.

    Definition Classes
    CommonAST
  12. lazy val FlagsNoSynthetic: Set[scala.reflect.api.Universe.FlagSet]

    Permalink
    Definition Classes
    CommonAST
  13. object GenericBackend

    Permalink
    Definition Classes
    GenericBackend
  14. object GraphTools

    Permalink
    Definition Classes
    GraphTools
  15. object Lib

    Permalink
    Definition Classes
    Lib
  16. object Max

    Permalink

    Constant limits.

    Constant limits.

    Definition Classes
    CommonAST
  17. object NaiveEval extends XfrmEval

    Permalink

    Just evaluate the tree transform.

    Just evaluate the tree transform.

    Definition Classes
    CommonAST
  18. object Optimizations

    Permalink

    Static (compile-time) optimizations.

    Static (compile-time) optimizations.

    Definition Classes
    Optimizations
  19. object Source

    Permalink

    Source language.

    Source language.

    Definition Classes
    Source
  20. object TimerEval extends XfrmEval

    Permalink

    Evaluate and time each node.

    Evaluate and time each node.

    Definition Classes
    CommonAST
  21. object TreeTransform

    Permalink
    Definition Classes
    CommonAST
  22. object UniverseImplicits

    Permalink

    Factors out the implicit objects that need to be imported from the Scala universe.

    Factors out the implicit objects that need to be imported from the Scala universe.

    Please use

    import UniverseImplicits._
    
    u.Type
    u.method

    as opposed to

    import universe._ // or import u._
    
    Type
    method

    in order to make the parts of the Emma compiler which depend on the Scala metaprogramming API explicit.

    Attributes
    protected[org.emmalanguage]
    Definition Classes
    CommonAST
  23. object Validation

    Permalink

    Common validation helpers.

    Common validation helpers.

    Definition Classes
    Common
  24. final val Xfrm: TreeTransform.type

    Permalink
    Definition Classes
    CommonAST
  25. def alphaEq(lhs: scala.reflect.api.Universe.Tree, rhs: scala.reflect.api.Universe.Tree): Or[Eq, Neq]

    Permalink

    Are lhs and rhs alpha equivalent (i.e.

    Are lhs and rhs alpha equivalent (i.e. equal upto renaming)?

    Definition Classes
    AlphaEq
  26. object api extends API

    Permalink

    Virtual non-overlapping semantic AST based on Scala trees.

    Virtual non-overlapping semantic AST based on Scala trees.

    Definition Classes
    AST
  27. object are

    Permalink
    Definition Classes
    CommonAST
  28. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  29. def asSource(title: String)(tree: scala.reflect.api.Universe.Tree): String

    Permalink

    Prints tree for debugging.

    Prints tree for debugging.

    Makes a best effort to shorten the resulting source code for better readability, especially removing particular package qualifiers. Does not return parseable source code.

    title

    Useful to distinguish different printouts from each other.

    tree

    The tree to print as source code.

    returns

    The printable source code.

    Definition Classes
    AST
  30. def baseConfig: Seq[String]

    Permalink
  31. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  32. def configPaths(tlPath: Option[scala.reflect.api.Universe.Tree] = None): Seq[String]

    Permalink

    Resolves a sequence of config paths to be used with loadConfig.

    Resolves a sequence of config paths to be used with loadConfig. The result

    - path :+ baseConfig if tlPath is some tree represenging a string literal path, or - baseConfig otherwise.

    Aborts execution with an error if tlPath is not a string literal.

    Attributes
    protected
  33. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  34. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  35. object fail

    Permalink

    Unconditional failure.

    Unconditional failure.

    Definition Classes
    AlphaEq
  36. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  37. lazy val fixSymbolTypes: Xfrm

    Permalink

    Populates the missing types of lambda symbols in a tree.

    Populates the missing types of lambda symbols in a tree. WARN: Mutates the symbol table in place.

    Definition Classes
    AST
  38. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  39. object has

    Permalink
    Definition Classes
    CommonAST
  40. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  41. object have

    Permalink
    Definition Classes
    CommonAST
  42. def identity(typeCheck: Boolean = false): (scala.reflect.api.Universe.Tree) ⇒ scala.reflect.api.Universe.Tree

    Permalink

    The identity transformation with pre- and post-processing.

    The identity transformation with pre- and post-processing.

    Definition Classes
    Common
  43. lazy val implicitTypes: Set[scala.reflect.api.Universe.Type]

    Permalink

    Implicit types to be removed

  44. object is

    Permalink
    Definition Classes
    CommonAST
  45. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  46. def loadConfig(paths: Seq[String]): Config

    Permalink

    Loads a sequence of resources (in decreasing priority).

  47. def nameClashes(tree: scala.reflect.api.Universe.Tree): Seq[scala.reflect.api.Universe.TermSymbol]

    Permalink

    Returns a sequence of symbols in tree that have clashing names.

    Returns a sequence of symbols in tree that have clashing names.

    Definition Classes
    AST
  48. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  49. val noop: Xfrm

    Permalink
    Definition Classes
    CommonAST
  50. lazy val normalizeStatements: Xfrm

    Permalink

    Normalizes all statements in term position by wrapping them in a block.

    Normalizes all statements in term position by wrapping them in a block.

    Definition Classes
    AST
  51. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  52. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  53. def pass: Or[Eq, Neq]

    Permalink

    Unconditional success.

    Unconditional success.

    Definition Classes
    AlphaEq
  54. def pipeline(typeCheck: Boolean = false, withPre: Boolean = true, withPost: Boolean = true)(transformations: TreeTransform*): TreeTransform

    Permalink

    Combines a sequence of transformations into a pipeline with pre- and post-processing.

    Combines a sequence of transformations into a pipeline with pre- and post-processing.

    Definition Classes
    CompilerCommon
  55. lazy val postProcess: Xfrm

    Permalink

    Standard pipeline suffix.

    Standard pipeline suffix. Brings a tree into a form acceptable for scalac after being transformed.

    Definition Classes
    CompilerCommon
  56. lazy val preProcess: Xfrm

    Permalink

    Standard pipeline prefix.

    Standard pipeline prefix. Brings a tree into a form convenient for transformation.

    Definition Classes
    CompilerCommon
  57. lazy val qualifyStatics: Xfrm

    Permalink

    Fully qualifies references to static symbols.

    Fully qualifies references to static symbols.

    Definition Classes
    AST
  58. lazy val removeShadowedThis: Xfrm

    Permalink

    Rewrites A.this.x as x if A is shadowed another symbol in the owner chain.

    Rewrites A.this.x as x if A is shadowed another symbol in the owner chain.

    Can be used before showCode to avoid printing invalid trees such as

    class A {
      val x = 42;
      class A {
        scala.Predef.println(A.this.x)
      }
    }
    Definition Classes
    AST
  59. lazy val resolveNameClashes: Xfrm

    Permalink

    Ensures that all definitions within tree have unique names.

    Ensures that all definitions within tree have unique names.

    Definition Classes
    AST
  60. lazy val restoreTypeTrees: Xfrm

    Permalink

    Restores u.TypeTrees with their original field set.

    Restores u.TypeTrees with their original field set.

    Definition Classes
    AST
  61. lazy val shadowedOwners: Set[scala.reflect.api.Universe.Symbol]

    Permalink

    Computes a set of owners whose name is shadowed in the current scope.

    Computes a set of owners whose name is shadowed in the current scope.

    Definition Classes
    AST
  62. lazy val stubTypeTrees: Xfrm

    Permalink

    Replaces u.TypeTrees that have their original field set with stubs that only have their tpe field set to the corresponding type.

    Replaces u.TypeTrees that have their original field set with stubs that only have their tpe field set to the corresponding type. Type-trees of val/vars are left empty for the compiler to infer.

    Definition Classes
    AST
  63. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  64. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  65. lazy val unQualifyStatics: Xfrm

    Permalink

    Removes the qualifiers from references to static symbols.

    Removes the qualifiers from references to static symbols.

    Definition Classes
    AST
  66. def unTypeCheck(tree: scala.reflect.api.Universe.Tree): scala.reflect.api.Universe.Tree

    Permalink

    Removes all type and symbol attributes from a tree.

    Removes all type and symbol attributes from a tree.

    Definition Classes
    CommonAST
  67. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Optimizations

Inherited from FoldGroupFusion

Inherited from FoldForestFusion

Inherited from Caching

Inherited from GraphTools

Inherited from ControlFlow

Inherited from GenericBackend

Inherited from GenericSpecialization

Inherited from Context

Inherited from Order

Inherited from Core

Inherited from Trampoline

Inherited from Reduce

Inherited from Pickling

Inherited from DSCF

Inherited from DCE

Inherited from CSE

Inherited from CoreValidate

Inherited from Comprehension

Inherited from ReDeSugar

Inherited from Normalize

Inherited from Combination

Inherited from ANF

Inherited from Source

Inherited from SourceValidate

Inherited from PatternMatching

Inherited from Foreach2Loop

Inherited from Lib

Inherited from AlphaEq

Inherited from Common

Inherited from compiler.API

Inherited from AST

Inherited from Variables

Inherited from Values

Inherited from Types

Inherited from Trees

Inherited from Transversers

Inherited from Terms

Inherited from Symbols

Inherited from Patterns

Inherited from Parameters

Inherited from Methods

Inherited from Loops

Inherited from Bindings

Inherited from CommonAST

Inherited from AnyRef

Inherited from Any

Ungrouped