Thomas F. Burdick wrote:
On 2/6/06, Kenny Tilton <ktilton@nyc.rr.com> wrote:
  
Thomas F. Burdick wrote:

    
The internal interface to callbacks is: create-name, add-callback,
remove-callback, and callback.  Contrary to what the lambda-list of
what the last three would make you believe, callbacks are named by
strings, not symbols.  You should get the name for a new callback from
create-name.  I'll be fixing that in subversion if Peter doesn't beat
me to it.
      
Oh. Pity. Symbols are Good Things. I see no problem with symbols and
wish. Why complicate things with unnecessary rules (Thou shalt use strings.)
    

I wasn't trying to enumerate a rule, just saying what the internal
interface inside Ltk is.  The reason for that is that foo::bar is Tcl
syntax for its namespacing system, so if you want to send an arbitrary
identifier from Lisp to Tcl and back, a string is the easiest to do
right.
  
OK, makes sense. (Where did they get /that/ wacky namespace syntax?!)
  
Actually, I think LTk needs to evolve a little in regard to
communication with wish. I understand the desire to make things easy for
casual users, but I do not think that should extend to defining "an
internal interface", with strictures on communication with wish.
    

Hmm, I really meant more "conventions used within Ltk" rather than
"internal interface".  FWIW, the communication with wish could use an
overhaul to make it a little more robust.  That said, there shouldn't
be anything you can't do with format-wish, read-data, senddata on the
Tk side, and the new hook Peter put into the event-handling mechanism.
  
What hook would that be? The one prompted by my whining, viz, to dispatch any unrecognized first symbol to a generic handler users can specialize?
 At least, that's sufficient for everything Ltk does itself :-)
<g> Well that certainly ducks my point: any successful library will get pushed in ways the author cannot anticipate. Of course, one can always hope for failure. :) That said, it may well be that  the pinhole interface (:callback or :data only) data is perfect, and that power users can in fact achieve anything just by writing a suitable proc, so I am going to shut up for a while.

kt