Hello
I learn Xotcl in my study time. A was a student of prof. Neumann. Now I work with Smalltalk. After I have get some experience with Smalltalk environments I noticed that xotcl is ideal to build such developing systems as Smalltalk have. It means it is dynamically and has introspection functionality.
I wrote the first Browsers now. It is the first attempt but it can be already used for developing (or browsing Xotcl)
I named the application XotclIDE the tar archive can be downloaded from
I am interested in suggestion for next developing. Share your experience with xotclIDE
On my site are also another xotcl development (Database application xdobry) with such goodies as - factory classes for building gui from XML - Xotcl database interface to mysql, postgres - GUI builder (yes with drag and drop) - Xotcl wrapper library for tk,tix I plan to add it (after refactoring) to xotclIDE
========================================= Artur Trzewik http://www.xdobry.de =========================================
On Thu, 1 Mar 2001, Artur Trzewik wrote:
I wrote the first Browsers now. It is the first attempt but it can be already used for developing (or browsing Xotcl) I named the application XotclIDE the tar archive can be downloaded from
Oh, this looks very interesting indeed. You've just done a lot of work I was considering doing myself (like the Tk wrapper)! I've just taken a brief look and it certainly looks useful.
If you're interested, we did a simple profiler tool using filters. Might be something that could be mixed in somewhere?
- ---------- = = ---------//--+ | / Kristoffer Lawson | www.fishpool.fi|.com +-> | setok@fishpool.com | - - --+------ |-- Fishpool Creations Ltd - / | +-------- = - - - = --------- /~setok/
On Thu, 1 Mar 2001, Artur Trzewik wrote:
I wrote the first Browsers now. It is the first attempt but it can be already used for developing (or browsing Xotcl) I named the application XotclIDE
This looks very interesting indeed - I am actually developping a programming environment as well: its name is biok (Biology Interactive Object Kit).
This tool is more aimed at end-users, i.e biologists who are able to program small pieces of code but not whole applications. So the idea is more to let them customize an already existing application by using introspection also and directly from the user interface. But there are certainly common features: GUI builder (for instance you may copy/paste a whole graphical object, copy an object into another one, ...) ; the class/objects browsers is far more simple than yours: the idea is just to be able to "grasp" an object/instance with its method(s) from the graphical representation (it's called PITUI: "Programming in the user interface" as in Self). Another of the "end-user programming" features is the dataflow/spreadsheet mechanism.
I'm still in the prototyping phase - I'm actually using participatory design techniques (http://www-alt.pasteur.fr/~letondal/These/links-ihm.html#pd) with end-users to design the tool, so the software is really too messy to be distributed! (and the tool is a biology analysis workbench - not a programming environment - or rather it's both).
Here are some screen images:
1) This one shows the biological editor (for comparing molecular sequences and visualizing their features) plus how to browse current/pointed object's methods: http://www-alt.pasteur.fr/~letondal/EUD/pitui1.gif
2) This one is just a source code editor to (re)define an instproc at the instance level: http://www-alt.pasteur.fr/~letondal/EUD/pitui2.gif You see that there are fonctions like setting breakpoints or tracing methods' calls (this is done with filters of course).
3) this image show that a shell may be opened for objects, in order to try its methods: here, the user is calling 'setcolsize' to change some columns' sizes http://www-alt.pasteur.fr/~letondal/EUD/prot-shell.gif You also see that it's possible to search for a method by selecting its name in the text (by introspection).
4) This is a tag editor (the tool uses tktable for implementing this spreadsheet-like tool): http://www-alt.pasteur.fr/~letondal/EUD/tagedit-attr.gif there a "GUI" feature in the editor: small menus may be used to select among graphical attributes and their values.
5) a very simple class browser (it's actually implemented with cascade menus but I was not able to grab them with xv so they are teared off): http://www-alt.pasteur.fr/~letondal/EUD/tagclass.gif the "main" menu enables also to browse objects or classes.
6) the message stack display shows here the some methods calls for update cells value in a spreadsheet (also shown on top of the trace window): http://www-alt.pasteur.fr/~letondal/EUD/trace.gif
7) some GUI building features: you may create buttons, entry fields, choice lists, whatever, ... in assemble them into panedwindows or tabnotebooks: http://www-alt.pasteur.fr/~letondal/EUD/gui.gif you may also edit graphical attributes (I'm not happy with this editor, it's too slow): http://www-alt.pasteur.fr/~letondal/EUD/grapheditor.gif
8) this is a very short presentation of the underlying ideas: http://www-alt.pasteur.fr/~letondal/EUD/
So I would be very interested to discuss "IDE" features with you!
The main problems I have for the moment are: - persistence - this is rather difficult to achieve since there are many dependencies between objects and you have to decide what to save - performance - a lot of design (application and IDE features - I'm trying to enable a sort of seamless programming for end-users: they should be able to program methods as easily as a cell formula...).
-- Catherine Letondal -- Pasteur Institute Computing Center