// Copyright (c) 2024-2026 Celestino Amoroso (celestino.amoroso@gmail.com).
// All rights reserved.

// term.go
package kern

import (
	"fmt"
)

type Term interface {
	fmt.Stringer
	// Children() []Term
	Source() string
	GetChildCount() (count int)
	GetChild(index int) Term
	GetChildSource(index int) string
	Compute(ctx ExprContext) (result any, err error)
	IsAssign() bool
	Errorf(template string, args ...any) (err error)
}
