feat: rename repr to expr
This commit is contained in:
24
internal/registry/expr.go
Normal file
24
internal/registry/expr.go
Normal file
@@ -0,0 +1,24 @@
|
||||
package registry
|
||||
|
||||
// A Expr is a lambda calculus expression. It can have any type of
|
||||
// Expresentation, so long as that class is known to the registry it is handled
|
||||
// by.
|
||||
type Expr interface {
|
||||
// Repr returns the name of the underlying Expresentation. It is assumed if
|
||||
// two expressions have the same Repr(), they have the same Expresentation.
|
||||
Repr() string
|
||||
|
||||
// The base expression data.
|
||||
Data() any
|
||||
}
|
||||
|
||||
type baseExpr struct {
|
||||
id string
|
||||
data any
|
||||
}
|
||||
|
||||
func (r baseExpr) Repr() string { return r.id }
|
||||
|
||||
func (r baseExpr) Data() any { return r.data }
|
||||
|
||||
func NewExpr(id string, data any) Expr { return baseExpr{id, data} }
|
||||
Reference in New Issue
Block a user