Packages

  • package root
    Definition Classes
    root
  • package scalan
    Definition Classes
    root
  • 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).

    Definition Classes
    scalan
  • object Liftables

    Data type ST is liftable is there is Liftable[ST, T] instance for some type T.

    Data type ST is liftable is there is Liftable[ST, T] instance for some type T. Liftable typeclass allows to define which types can have values embedded as literals into graph IR.

    Definition Classes
    Base
  • BaseLiftable
  • FuncConst
  • FuncLiftable
  • Liftable
  • LiftedConst
  • PairLiftable

abstract class Liftable[ST, T] extends AnyRef

Describes lifting data values of type ST (Source Type) to IR nodes of the corresponding staged type T. In general T is different type obtained by virtualization procedure from ST. However ST can be the same as T as is the case for Byte, Int, String etc.

Annotations
@implicitNotFound( ... )
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Liftable
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Liftable()

Abstract Value Members

  1. abstract def eW: Scalan.Elem[T]

    Type descriptor of the IR type

  2. abstract def lift(x: ST): Scalan.Ref[T]

    Method to embedd source type instance into graph IR.

  3. abstract def sourceType: RType[ST]

    Type descriptor of the source type

Concrete 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. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(obj: Any): Boolean
    Definition Classes
    Liftable → AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. def hashCode(): Int

    We assume only single Liftable[ST, T] implementation for every IR type T.

    We assume only single Liftable[ST, T] implementation for every IR type T. And all instances of it are equal.

    Definition Classes
    Liftable → AnyRef → Any
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  14. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  16. def toString(): String
    Definition Classes
    Liftable → AnyRef → Any
  17. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  18. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from AnyRef

Inherited from Any

Ungrouped