This is a nice idea.
It is like an idea we never got around to doing, which was to put a reference object inline with the text: control-shift-R (or whatever) creates the refernce object where you are typing. You grab the reference object, and drag out a pointer over to the object you want to refer to.
Your method solves the problem of having to grab the reference object to drag out the pointer. So it saves the acquisition of a small target.
Either of the above may require extensions to the parser if it is to be used for methods (we would want to save the method, and read it in again to recreate the method with the reference in place.)
Still, even if it were not used in methods, it would be useful just during expression evaluation.
Adding sprouted pointers to buttons (a la the Alternate Reality Kit) to specify arguments is also useful.
Thanks, --Randy
From Michael.Huebner@PrakInf.TU-Ilmenau.DE Thu Nov 30 18:57 PST 1995 To: self-interest@self.smli.com Subject: Drag&Drop for argument setting X-Sun-Charset: US-ASCII Content-Type: text Content-Length: 900 X-Lines: 28
A very nice thing would be the facility to set the value of an argument by drag&drop (akin to pointer grabbing).
Assume you are writing an expression in an evaluator and you want to use an (e.g. not-well-known) object as the value for an actual argument or as the righthand side of an assignment than you only have to shift-click on the desired object. The reference to this object is inserted on the point where your input focus was, indicated by a sprouted pointer and the focus is behind the reference sign (=) so you can go on writing your expression.
+---------------+ +---------------+ | an object | ------> | an object | +---------------+ / +---------------+ | do: a | / | ... | +===============+ / +---------------+ |do: (=)------------/ | ... | | | | | +---------------+ +---------------+ |evaluate|dismis| | | +---------------+ +---------------+
Michael
self-interest@lists.selflanguage.org