[Next] [Up] [Previous]
Next: English descriptions Up: Descriptive renderings Previous: Rendering integrals

Obtaining different views

We can think of rendering rules as producing a particular ``display'' of a given structured object. Thus, in a system like La)TeX, the author of a macro picks a specific layout for objects appearing in the document. This choice, once made, holds throughout the rendering of the document. On an interactive system like AsTeR , the listener can pick different ways of ``hearing'' the same object[+].

In CS611, a course on advanced programming languages, we work with proof trees. Proof trees typically have a set of premises that lead to a conclusion. A typical rendering of a proof tree is:

We know that [tex2html_wrap5762]; Hence we infer [tex2html_wrap5764].

On the other hand, another rendering rule might ``display'' the same structure as:

We can conclude [tex2html_wrap5766] because we know [tex2html_wrap5768].
This has the effect of inverting a proof tree. We perform such actions all the time when perusing written material. On the other hand, when listening to recorded books on tape, a listener is tied down to the one rendering order that the reader chose to use. In contrast, AsTeR allows the listener to determine the rendering order by activating different rules, thus enabling better comprehension of complex material.

Here is another example from the same course. The following rules show different ways of rendering occurrences of operator subst (textual substitution). They allow the listener to ``look'' at a particular expression from different perspectives. [tex2html_wrap5770] denotes [tex2html_wrap5772] with [tex2html_wrap5774] replaced by [tex2html_wrap5776]. The linear ``display'' used to layout this expression on paper is just one possible linearization of operator subst. When speaking this expression, the description can be formulated in several ways.

[tex2html_wrap5778] is written using macro \subst, a macro that takes three arguments. AsTeR is first extended to recognize this macro call into object subst having three arguments as follows:

[LVerbatim1562]

Instances of \subst occurring in the document are now represented as instances of object subst. Object subst has its argument slot set to a list containing the result of processing the arguments to the \subst call. Function argument can be used to access these within rendering rules. Here are some AFL rules to generate different renderings of this object.





[Next] [Up] [Previous]
Next: English descriptions Up: Descriptive renderings Previous: Rendering integrals



TV Raman
Thu Mar 9 20:10:41 EST 1995