Sascha Silbe
Fri, 12 May 2006 04:09:15 -0700
Hi!First of all, sorry for being offtopic. VIS[1] has been discussed here before and there's quite some overlap between the target audiences of VIS and ion. If there's anyone annoyed by this thread, please tell me and I'll continue this off-list.
I'm currently trying to write a prototype implementation for VIS, but some things were not quite clear (at least to me) in the paper:
1. Vis.Command is mentioned/used, but not defined anywhere. I've currently made it a child of Accessible with getv() and setv(v) returning/expecting a function. I presume it's not supposed to be user-visible, so I'm not sure that's the right approach.
2. Are the parameters to Vis.Command specified in the name (separated by dots) string literals or variable names?
3. How exactly are Sets expected to work? What's meant with "set (of sets) that is a cross-section of the sets in the hierarchy" (Section 5.1, Vis.Struct:get)? Some examples would be great.
4. What is vis.Context:clear() expected to clear? Only the "internal" state or the defined Accessibles, too?
5. What's expected to happen if there are both 'std/foo' and 'libbar/foo'? Raise a name collision exception?
6. In Section 5.2, fifth paragraph, it's defined that command entries must end in '()'. But several occurances of command definition examples (like "ctx:def('std/content.location:changed', vis.Command)" in the box at the end of section 5.3) don't use that notation. Is that a typo or have I overlooked something?
7. How is Context:realise() expected to work? When does it return? How does it interact with std/seq.next() and vis.mainloop()?
8. What are the parameters of foo:changed? Canvas containing foo and foo itself (example in section 6.2, function set_viewarea)? What if it's used below vis.maincontext() instead of below vis.create_canvas()?
[1] http://modeemi.cs.tut.fi/~tuomov/vis/vis-paper/ CU Sascha -- http://sascha.silbe.org/
pgpjrTTG8mWU3.pgp
Description: PGP signature