[cells-devel] Re: [cells-gtk-devel] Re: Anything new for me to show off at ECLM 2008?

Ken Tilton kennytilton at optonline.net
Fri Apr 11 11:03:02 UTC 2008


Peter Hildebrandt wrote:
> Well, there's something wrong with the cells cvs again, so it would
> not let me commit my latest changes. You can grab the latest version
> here:
> 
> http://www.washbear-network.de/fritz/pub/cells-gtk3.zip

Hmmm, a little trouble there. PicoZip on WinXP cannot read it, WinZip on 
Vista (my new laptop for the eclm talk) complains but then seems to open 
it. The complaint looks like winzip just is not handling Vista.

Maybe just tar.gz it? I appreciate the trouble you took making a zip, btw.

Question 2: the above does not include a Cells directory (unless the 
expansion broke). I will be trying to build it (looks like I have to 
hack the ACL .lpr files for a while) in the meantime.

> 
> My suggestions:
> 
> (1) Cairo Drawing Area
> 
> I have the cairo drawing area thing working by now and put in a simple
> example (creates boxes and circles and random positions, then they
> react on mouse over, can be selected,  dragged around, and you can use
> a select box (like in windows explorer) to select and move many shapes
> at once).  I finally took the time and get the kids slot to work
> properly, so you can have ruled kids slots on your drawing primitives
> and have cells create other shapes for you (say, you want to draw a
> sun -- then you start with a yellow filled circle and have a kids rule
> creating some lines for the rays.  The number of rays may depend on a
> widget (and so can the length), and you have a "declarative drawing").

Isn't that fun? I remember when we made kids a Cell (almost 
immediately). I was sure the wheels would fall off. It Just Worked(tm) 
and I started to suspect Cells would scale pretty well.

> 
> (2) Tree View
> 
>>From the stuff present in the demo I personally like the tree view
> example, since it lets you explore the actual object hierarchy of the
> demo.  I don't even know whethe something like this could be done in C
> at all.

Omigod! I did an inspector at one point and used it to inspect the 
inspector window itself. Then I navigated down to the actual widgets in 
view and watched as the inspector showed things like the mouse-over 
state dynamically (without asking the inspector to refresh). I seem to 
recall adding some Cells internals to make it work, tho. In this screenshot:

    http://www.tilton-technology.com/cloucell.jpg

...the widget being inspected is the four-widget row just above "Class: 
Ixrow".

> 
> (3) Cells Tree View
> 
> Works like a charm -- as long as you don't delete stuff from the
> observed structure (I ran into a conceptual problem with cells3 here,
> gonna ask you on the cells list when I have the time to deal with
> that).  Anyway, I deactivated the delete button, and the rest is still
> pretty nice.

I look forward to the IR, maybe you have run into something I want to 
add to Cells to better handle things going away (a frequent problem). In 
my latest app I am running into a lot of problems with what is generally 
called referential integrity, specifically external references to kids 
that have been not-to-be'd. eg, my window's keep a reference to the 
"focus", which might be in a math problem the student decides to delete. 
   uh-oh. Sprinkling (setf (focus w) nil) all over the place broke down 
when it ended up erasing a new value that had been set by code that 
tried to handle the problem by, say, moving the focus to the next 
problem when deleting the current problem.

Man, imperative programming sucks. :)

> 
> (4) Threading
> 
> It is relly nice and lispy to use the repl to change properties of the
> windows currently displayed and to add and remove widgets
> interactively (especially if you have a background in C) -- but I
> don't know whether that works in MS Windows.  Just checked,
> bordeaux-threads on windows does not support Allegro.  Bummer.

I will be doing repl stuff during my talk -- ACL runs a separate process 
   from the IDE to execute Lisp. We just need to have a breather in the 
event loop handling to give the IDE enough cycles to be responsive.


> 
> (5) MAYBE: cells-ode + open gl
> 
> That'd be really neat -- if I figure out the opengl drawing area and
> port my current physics simulator code to cells-ode as a backend plus
> gtk-gl as a front end.  They say there's a weekend coming up, so stay
> tuned.

OK, don't make yourself crazy on my account. In fact, I already have 
Cells-gtk as I had it last running on my laptop, I might just leave it 
at that. I am going to try to get to Celtk, Cello, TripleCells (lite 
integration with an RDF triple-store), Cells-Gtk, and OpenAIR (the 
cells/ajax bit andy is doing). Whew!

cheers, ken



More information about the cells-devel mailing list