Brian Downing bdowning@lavos.net writes:
One question I would have is, how is the object accessed once it's clicked on? I imagine CLIM just holds a (weak?) pointer to the object in its presentation. From emacs, you may see "#<FOO {40541D01}>", and even know the address more concretely if its passed in some sort of object-info, but as soon as GC happens, you're likely screwed.
If CLIM used weak references, it would have the same trouble. I would guess they use normal references and normal GC, but I don't know.
In Emacs it seems we get into distributed garbage collection, though probably a simple case if only Emacs can refer to Lisp and not vice-versa.
I guess Emacs would want to tag the textual representations of objects with a "type" property and an "object-reference" property. Text properties would do this nicely -- you could copy&paste objects while preserving the references. But then to find the "live set" of object-references in Emacs you would probably have to scan all buffers. Overlays could be simpler, since they are properties of a buffer region rather than text, and don't get copy&pasted or otherwise duplicated.
BUT,
How about integrating SLIME with McCLIM instead? For example, it would be nice to type "Edit Definition foo" in the McCLIM listener, and have an Emacs window pop up with the definition.
McCLIM is one of the coolest things happening. It would be great to join forces with them where possible.
Cheers, Luke