Packages

p

scalan

package scalan

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. scalan
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. abstract class Base extends AnyRef

    The Base trait houses common AST nodes.

    The Base trait houses common AST nodes. It also manages a list of encountered definitions which allows for common sub-expression elimination (CSE).

  2. trait DefRewriting extends AnyRef
  3. trait Entities extends TypeDescs
  4. trait MethodCalls extends Base with GraphVizExport
  5. trait Modules extends Base
  6. class Scalan extends TypeDescs with MethodCalls with Tuples with NumericOps with UnBinOps with LogicalOps with OrderingOps with Equal with UniversalOps with Functions with IfThenElse with Transforming with GraphVizExport with Thunks with Entities with Modules with DefRewriting

    Aggregate cake with all inter-dependent modules assembled together.

    Aggregate cake with all inter-dependent modules assembled together. Each instance of this class contains independent IR context, thus many instances can be created simultaneously. However, the inner types declared in the traits are path-dependant. This in particular means that ctx1.Ref[_] and ctx2.Ref[_] are different types. The typical usage is to create val ctx = new Scalan and then import inner declarations using import ctx._. This way the declaration will be directly available as if they were global declarations. At the same time cake design pattern allow to override many methods and values in classed derived from Scalan, this is significant benefit over *everything is global* design.

  7. abstract class TypeDescs extends Base

Value Members

  1. implicit def rtypeToClassTag[A](implicit t: RType[A]): ClassTag[A]
  2. object Plugins

Inherited from AnyRef

Inherited from Any

Ungrouped