Re: Why the dataflow paradigm?
From: Kalle Olavi Niemitalo (kon_at_iki.fi)
Date: 11/22/04
- Next message: Fred Gilham: "Re: CL subset?"
- Previous message: Pascal Bourguignon: "Re: (rplaca) vs. (setf (car))"
- In reply to: Kenneth Tilton: "Re: Why the dataflow paradigm? [was Re: The Road to Lisp Newby Survey[was Re: Newbie seeking feedback]]"
- Next in thread: Kenny Tilton: "Re: Why the dataflow paradigm?"
- Reply: Kenny Tilton: "Re: Why the dataflow paradigm?"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Mon, 22 Nov 2004 20:53:10 +0200
I have a feeling I'll regret posting this.
Kenneth Tilton <ktilton@nyc.rr.com> writes:
> One thing you are missing is that, for a display attribute such as
> highlightedp, someone is always asking. The user. What good is it to
> know that your functional highightedp would return the right answer if
> nothing is done to force a redraw of the given widget? This is a
> dataflow problem, including flowing all the way out to the user.
I wonder if a hybrid approach is possible. The nodes (do you
call them cells?) that directly affect the user interface would
be tagged as requiring immediate updates, and they would
propagate this tag to their data providers. Then, when a data
source changes, only the tagged direct descendants would be
updated immediately; the rest would just be marked as stale and
updated on demand.
On the other hand, even for UI objects, it would make sense to
delay updating them (and sending OpenGL display lists over the
network) until the incoming event has been fully processed. For
example, in a text editor, replacing the selection with a paste
should not require first deleting the selection from the screen
and scrolling the following text up, and then scrolling it back
down in order to insert the paste.
For extra points, stop updating the UI objects when they are
obscured by another window. Then the nodes on which they depend
might not have to be updated either. Though if you don't use
many intermediate nodes that are expensive to compute, perhaps
this isn't worth the trouble.
If you make node A depend on node B (so that A is updated
whenever B changes), and then forget about A, will there still
be a reference from B that prevents collecting A as garbage?
Do you use weak references of some kind, or do you rely on
UNWIND-PROTECT to detach all nodes that are no longer needed?
- Next message: Fred Gilham: "Re: CL subset?"
- Previous message: Pascal Bourguignon: "Re: (rplaca) vs. (setf (car))"
- In reply to: Kenneth Tilton: "Re: Why the dataflow paradigm? [was Re: The Road to Lisp Newby Survey[was Re: Newbie seeking feedback]]"
- Next in thread: Kenny Tilton: "Re: Why the dataflow paradigm?"
- Reply: Kenny Tilton: "Re: Why the dataflow paradigm?"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|