Liftable evidence for primitive (base) types (used in BaseElemLiftable).
Every function can be lifted to the graph IR.
Describes lifting data values of type ST (Source Type) to IR nodes of the corresponding staged type T.
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.
Base class for graph nodes which represent data values of liftable types as literal nodes in the graph IR.
Base class for graph nodes which represent data values of liftable types as literal nodes in the graph IR.
source type of the liftable value
virtualized type (aka IR type) corresponding to source type
Liftable evidence between (SA, SB)
and (A, B)
types.
Casts untyped Liftable to typed one.
Casts untyped Liftable to typed one.
Given data value of source type ST
and Liftable
instance between ST
and T
,
produces LiftedConst
node (some concrete implemenation) and returns it's symbol.
Given data value of source type ST
and Liftable
instance between ST
and T
,
produces LiftedConst
node (some concrete implemenation) and returns it's symbol.
This is generic way to put any liftable data object into graph and then use
its symbol in other nodes.
Shortcut alternative to implicitly[Liftable[ST,T]]
Shortcut alternative to implicitly[Liftable[ST,T]]
(Since version ) see corresponding Javadoc for more information.
Data type
ST
is liftable is there is Liftable[ST, T] instance for some typeT
. Liftable typeclass allows to define which types can have values embedded as literals into graph IR.