I’m trying to implement a complex action with 3 Objects, is that in general possible?
Here is what I’ve come up with so far:
(current player #player)
(#player is #in #room)
#room
(room *)
(name *) Room
#dog
(name *) dog
(animate *)
(* is #in #room)
(appearance * $ $) There is a dog.
#fur
(name *) fur
(* is #partof #dog)
#scissors
(name *) scissors
(item *)
(* is plural)
(* is handled)
(* is #heldby #player)
(understand [shear | $Words] as [shear $Obj of $Par with $Helper])
*(split $Words by [with] into $Left and $Right)
*(understand $Right as single object $Helper)
*(split $Left by [of] into $FistOBJ and $SecondOBJ)
*(understand $SecondOBJ as single object $Par)
*(understand $FirstOBJ as single object $Obj)
(perform [shear $Obj of $Par with $Helper])
Hello shepherd!
However, the “Hello shepherd” output is never reached,
typing " shear fur of dog with scissors"
results in “(Technical trouble: Auxiliary heap space exhausted. Attempting to recover with UNDO.)”