about abstract accesses accessses advisor algorithm amulet application applications attribute attributes automatic based binomial block boundaries codes comprehensive computing constraint constraints consumption correlated counting creating creation database dataflow debugger debugging declarative demonstration demonstrational density description design developed development devices dexter dialog electronic empirical environment estimating evaluate event experiences experimenter experiments explanation finite framework garnet general generated grammars graph graphical graphics graphs hierarchies highly hoshen importance incremental independent instance integrating interactive interface interfaces kopelman lapidary latency learned learning lessons linear machine methods minimum mobile model models multiway networks object objects optimal optimizing oriented parallelization pictorially pointer power probabilistic programmers programming prototype rapidly reduce reducing requirements routing satisfying sketchpad specifying splay state storage stream structure study support system systems techniques technology toolkit toolkits tools trees usage using variables visual visualization whiteboard without writing