- Rename pkg/interpreter to pkg/runtime - Move ReduceOnce to new pkg/normalorder package - Convert standalone functions (Substitute, Rename, GetFree, IsFree) to receiver methods on concrete expression types - Change Set from pointer receivers to value receivers - Update all references from interpreter to runtime terminology Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
16 lines
490 B
Go
16 lines
490 B
Go
// Package expr provides the abstract Expression interface for all evaluatable
|
|
// expression types in the lambda runtime.
|
|
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
|
|
}
|