Great work

Kristoffer Lawson
Fri Jul 21 10:18:00 GMT 2000

Just tested the software out briefly and based on what I've seen of it the
programme really does look and feel good. 

A few initial questions:

- As you use Tcl throughout the system (a good thing indeed!) I wondered
if it might be possible to build a parser in Tcl instead of
C? Specifically, is there a Tcl API like the C API for handling the
project database? (True, building one on top of the C API is not a big
chore). Specifically I would like support for XOTcl ( and

OTOH it probably wouldn't be horribly difficult to edit the Tcl parser.
The idea would be that:

Class Foo -superclass Bar  ;#  Create Foo class, the superclass is Bar
Foo instproc  ;# Create method in Foo
Foo proc  ;# Create procedure in Foo (not seen in the object instance)
          ;# Basically just means the parser should handle local variables
          ;# as local instead of global (as it does now with anything that
          ;# doesn't occur inside a proc command parameter).
Foo ob   ;# Create object 'ob' of type 'Foo'

The simple case should not be difficult but of course the problem with the
dynamic nature of XOTcl is that you can add and remove methods, change an
object's class or superclass at any point during run-time. How have you dealt 
with it when dealing with Tcl namespaces, which are quite dynamic

- Is the Tcl parser behaviour correct when assuming that any "set"
statement inside curly brackets is actually setting a global variable? I
think by default it shouldn't do anything (ie. not add a variable to the
variable list) and have exceptions to the rule when dealing with while,
for, proc etc. The reason for this is that inside curlies I might have
data that might look like I'm setting a variable but actually I'm not. It
might just be plain data, or maybe I'm sending the code to another
interpreter or whatever.

This is related to the previous comment because currently XOTcl instance
variables appear as "global variables" which is not correct. While it
naturally would be nice if the environment recognized them as instance
variables I believe it's better not to recognize them at all than to mark
them as globals.

- I seem to be having problems with emacs/Xemacs and the IDE (btw. I think
it's great that you have put in extra effort to get emacs to interact with
the IDE). When looking up for a symbol with M-. I get the following error:

(1) (error/warning) Error in process filter: (void-variable DisplayableOb)

Keep up the good work. I'm sure I'll have more to say when I play around
with it more ;-)

         -     ---------- = = ---------//--+
         |    /     Kristoffer Lawson      ||.com
         +-> |       |  - - --+------
             |-- Fishpool Creations Ltd - /         |
             +-------- = - - - = ---------      /~setok/

More information about the Sourcenav mailing list