Browse Source

Think more about ACOP.

Beoran 2 years ago
parent
commit
2d98351ad3
2 changed files with 9 additions and 2 deletions
  1. 8 1
      README
  2. 1 1
      selsl/acop.go

+ 8 - 1
README

@@ -30,7 +30,7 @@ i
 
 
 
-Rethinking the OOP part: SELSL is focused for use in MUDS and similar.
+Rethinking the OOP part: SELSL is focused for use in MUDs and similar.
 Thinking about it pure OOP is a bad fit for that. We can see this from this
 example command: "Move apple from tree to box." On which object this
 command is acting? On the apple as it would seem? But the apple itself is
@@ -79,6 +79,13 @@ does not depend on the environment, only on the operands, so maybe a special
 scheme is needed for lower level pure functions or similar operations.
 These might be defined on some kind of "universe" level.
 
+Another aspect is that of pass by name versus pass by reference. High level
+actions which the actor performed are based on the name of the objects.
+
+
+
+
+
 SELSL is object oriented but not class based. In stead it is prototype
 based much like the SELF language. In SELSL, everything is an object.
 Objects have slots that can contain other values. There are basic objects

+ 1 - 1
selsl/acop.go

@@ -27,7 +27,7 @@ func (a *Actor) Do(action string, names ...string) Object {
 		object := a.Where().Find(name) // XXX error checking
 		objects = append(objects, object)
 	}
-	/// XXX caculate signature based on object types.
+	/// XXX calculate signature based on object types.
 	act := a.Actions[Signature(action)]
 	/// XXX error checking