optimizations
Some checks failed
Build / build (push) Successful in 10m29s
Publish Image / publish (push) Failing after 31s
Test / build (push) Failing after 6m34s

This commit is contained in:
Chuck Smith
2024-04-02 14:08:08 -04:00
parent 4c9ec5aaaa
commit 07fd82b261
23 changed files with 296 additions and 265 deletions

View File

@@ -57,11 +57,6 @@ func (t Type) String() string {
}
}
// Comparable is the interface for objects to implement suitable comparisons
type Comparable interface {
Compare(other Object) int
}
// Copyable is the interface for creating copies of objects
type Copyable interface {
Copy() Object
@@ -73,9 +68,14 @@ type Object interface {
fmt.Stringer
Type() Type
Bool() bool
Compare(Object) int
Inspect() string
}
type BaseObject struct{}
func (o BaseObject) Compare(other Object) int { return -1 }
// Hasher is the interface for objects to provide suitable hash keys
type Hasher interface {
Hash() HashKey