refactor: rename interpreter to runtime and use receiver methods
- 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>
This commit is contained in:
@@ -4,9 +4,9 @@ import "iter"
|
||||
|
||||
type Set[T comparable] map[T]bool
|
||||
|
||||
func (s *Set[T]) Add(items ...T) {
|
||||
func (s Set[T]) Add(items ...T) {
|
||||
for _, item := range items {
|
||||
(*s)[item] = true
|
||||
s[item] = true
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,14 +14,14 @@ func (s Set[T]) Has(item T) bool {
|
||||
return s[item]
|
||||
}
|
||||
|
||||
func (s *Set[T]) Remove(items ...T) {
|
||||
func (s Set[T]) Remove(items ...T) {
|
||||
for _, item := range items {
|
||||
delete(*s, item)
|
||||
delete(s, item)
|
||||
}
|
||||
}
|
||||
|
||||
func (s *Set[T]) Merge(o *Set[T]) {
|
||||
for item := range *o {
|
||||
func (s Set[T]) Merge(o Set[T]) {
|
||||
for item := range o {
|
||||
s.Add(item)
|
||||
}
|
||||
}
|
||||
@@ -46,8 +46,8 @@ func (s Set[T]) Items() iter.Seq[T] {
|
||||
}
|
||||
}
|
||||
|
||||
func New[T comparable](items ...T) *Set[T] {
|
||||
result := &Set[T]{}
|
||||
func New[T comparable](items ...T) Set[T] {
|
||||
result := Set[T]{}
|
||||
|
||||
for _, item := range items {
|
||||
result.Add(item)
|
||||
|
||||
Reference in New Issue
Block a user