Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FormatSExprInt64 ¶
Types ¶
type All ¶
type All struct {
// contains filtered or unexported fields
}
All is the type of a reference to an immutable record.
func (All) FormatSExpr ¶
type AllOrExpr ¶
type AllOrExpr struct {
// contains filtered or unexported fields
}
AllOrExpr is the type of a tagged union of records.
func (AllOrExpr) FormatSExpr ¶
func (AllOrExpr) MustBeBinExpr ¶
MustBeBinExpr performs a downcast. If the downcast fails, panic.
type AllOrExprTag ¶
type AllOrExprTag enum
AllOrExprTag is the tag type.
const ( AllOrExprAll AllOrExprTag = 1 AllOrExprBinExpr AllOrExprTag = 2 )
AllOrExprTag constants.
func (AllOrExprTag) String ¶
func (x AllOrExprTag) String() string
type AllValue ¶
type AllValue struct { E Expr // 1 CE ConstExpr // 2 BE BinExpr // 3 BO BinOp // 4 A AllOrExpr // 5 }
AllValue is the logical type of a record. Immutable records are stored in nodes.
func (AllValue) WithA ¶
WithA constructs a new value where the value of A has been replaced by the argument.
func (AllValue) WithBE ¶
WithBE constructs a new value where the value of BE has been replaced by the argument.
func (AllValue) WithBO ¶
WithBO constructs a new value where the value of BO has been replaced by the argument.
type Allocator ¶
type Allocator struct {
// contains filtered or unexported fields
}
Allocator allocates nodes in batches. Construct Allocators with NewAllocator and pass them by value.
type BinExpr ¶
type BinExpr struct {
// contains filtered or unexported fields
}
BinExpr is the type of a reference to an immutable record.
func (BinExpr) FormatSExpr ¶
type BinExprValue ¶
BinExprValue is the logical type of a record. Immutable records are stored in nodes.
func (BinExprValue) R ¶
func (x BinExprValue) R(a Allocator) BinExpr
R constructs a reference to an immutable record.
func (BinExprValue) WithLeft ¶
func (x BinExprValue) WithLeft(y Expr) BinExprValue
WithLeft constructs a new value where the value of Left has been replaced by the argument.
func (BinExprValue) WithOp ¶
func (x BinExprValue) WithOp(y BinOp) BinExprValue
WithOp constructs a new value where the value of Op has been replaced by the argument.
func (BinExprValue) WithRight ¶
func (x BinExprValue) WithRight(y Expr) BinExprValue
WithRight constructs a new value where the value of Right has been replaced by the argument.
type ConstExpr ¶
type ConstExpr struct {
// contains filtered or unexported fields
}
ConstExpr is the type of a reference to an immutable record.
func (ConstExpr) FormatSExpr ¶
type ConstExprValue ¶
type ConstExprValue struct {
Datum int64 // 1
}
ConstExprValue is the logical type of a record. Immutable records are stored in nodes.
func (ConstExprValue) R ¶
func (x ConstExprValue) R(a Allocator) ConstExpr
R constructs a reference to an immutable record.
func (ConstExprValue) WithDatum ¶
func (x ConstExprValue) WithDatum(y int64) ConstExprValue
WithDatum constructs a new value where the value of Datum has been replaced by the argument.
type Expr ¶
type Expr struct {
// contains filtered or unexported fields
}
Expr is the type of a tagged union of records.
func (Expr) FormatSExpr ¶
func (Expr) MustBeBinExpr ¶
MustBeBinExpr performs a downcast. If the downcast fails, panic.
func (Expr) MustBeConstExpr ¶
MustBeConstExpr performs a downcast. If the downcast fails, panic.