On Wed, May 28, 2008 at 9:11 AM, Barry Wark <barrywark@gmail.com> wrote:
> altered/added/removed as a result of execution of a block? Either way,
> if the frontend maintains this (flat) local copy of the user
> namespace, than many completions could be accomplished locally.
But is it really that important to accomplish completions locally? For
most LAN's, I doubt anyone will perceive the time it takes to
complete, and tab is pressed infrequently enough that it won't congest
the network.
Of course the engine could compress this by returning completion
"guides" like "all attributes of class Foo" as opposed to just
returning the list of strings, but without actually measuring the
performance of the stupid approach it might be a premature
optimization.
As far as object browser goes - I don't think there is any reliable
way to detect what data structures have changed, short of doing
infinitely deep scan. It would make sense to provide a list of
expressions (as opposed to objects) to watch and get callback for
changes in those (new_val != old_val), though - I planned something
like that for ipython0 as well (as an extension that just uses
pre_prompt_hook), but it never happened.
E.g. watch(my_cb,
['foo','mylist', 'obj.observers'])
--
Ville M. Vainio - vivainio.googlepages.com
blog=360.yahoo.com/villevainio - g[mail | talk]='vivainio'