Generating efficient virtual worlds for visualization using partial evaluation and dynamic compilation
Clifford Beshers, Steven Feiner · ACM SIGPLAN Notices · 1997
We argue that runtime program transformation, partial evaluation, and dynamic compilation are essential tools for automated generation of flexible, highly interactive graphical interfaces. In particular, these techniques help bridge the gap between a high-level, functional description and an efficient implementation. To support our claim, we describe our application of these techniques to a functional implementation of n -Vision, a real-time visualization system that represents multivariate relations as nested 3D interactors, and to Auto Visual , a rule-based system that designs n -Vision visualizations from high-level task specifications. n -Vision visualizations are specified using a simple functional language. These programs are transformed into a cached dataflow graph. A partial evaluator is used on particular computation-intensive function applications, and the results are compiled to native code. The functional representation simplifies generation of correct code, and the program transformations ensure good performance. We demonstrate why these transformations improve performance and why they cannot be done at compile time.