ProductCaseClassRepresentation

scalus.compiler.sir.lowering.ProductCaseClassRepresentation
See theProductCaseClassRepresentation companion trait

Attributes

Companion
trait
Graph
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type

Members list

Type members

Classlikes

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type

Representation for BuiltinArray packed as Data.List.

Representation for BuiltinArray packed as Data.List.

This is used when the array needs to be Data-compatible (e.g., stored in a case class field). The array is converted to a list and then wrapped in Data.List.

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Self type

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Self type

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Self type

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Self type

BuiltinArray with parameterized element representation.

BuiltinArray with parameterized element representation.

ArrayData is the common case where elements are PackedData (i.e., BuiltinArray[Data]). In the future, native element representations like ProdBuiltinArray(Constant) for BuiltinArray[Integer] are possible.

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type

BuiltinPair with parameterized component representations.

BuiltinPair with parameterized component representations.

PairData is the common case where both components are PackedData (i.e., BuiltinPair[Data, Data]). In the future, native component representations like ProdBuiltinPair(Constant, Constant) for BuiltinPair[Integer, ByteString] are possible.

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type

Data.Unconstr will give us a pair from data and index of the constructor.

Data.Unconstr will give us a pair from data and index of the constructor.

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Self type

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Self type
case class ProdUplcConstr(tag: Int, fieldReprs: List[LoweredValueRepresentation]) extends ProductCaseClassRepresentation

Parameterized constructor representation where each field has its own representation.

Parameterized constructor representation where each field has its own representation.

UPLC form: Constr(tag, [v1, v2, ..., vN]) where each vi is in fieldReprs(i). Unlike ProdDataConstr which forces all fields to Data, this allows native field representations (e.g., Constr(0, [Integer(42), ByteString(#ff)])).

Value parameters

fieldReprs

representation for each field, in order

tag

constructor tag (index in the DataDecl's constructor list)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Inherited and Abstract types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Attributes

Inherited from:
Mirror
type MirroredLabel <: String

The name of the type

The name of the type

Attributes

Inherited from:
Mirror