16 lines
494 B
Go
16 lines
494 B
Go
// Package expr provides the abstract Expression interface for all evaluatable
|
|
// expression types in the lambda interpreter.
|
|
package expr
|
|
|
|
import (
|
|
"fmt"
|
|
)
|
|
|
|
// Expression is the base interface for all evaluatable expression types.
|
|
// Different evaluation modes (lambda calculus, SKI combinators, typed lambda
|
|
// calculus, etc.) implement this interface with their own concrete types.
|
|
type Expression interface {
|
|
// The expression should have a human-readable representation.
|
|
fmt.Stringer
|
|
}
|