1. A computer-readable hardware device containing instructions that, when executed by a computer system, cause the computer system to perform operations comprising: mapping a domain-specific document to an abstract language representation of the document; receiving at least two notational choices, the receiving comprising: receiving a first notational choice, the first notational choice specifying how a first type of items are to be formatted when displayed, and receiving a second notational choice different from the first notational choice, the second notational choice specifying how a second type of items are to be formatted when displayed, wherein the document includes at least one item of the first type of items and at least one item of the second type of items; mapping the abstract language representation to a concrete language representation of the document based on the received at least two notational choices; determining a layout of the concrete language representation; for each of a plurality of elements of the concrete language representation of the document, mapping the element of the concrete language representation to an element of a graphical language representation of the document based on the determined layout; and displaying the document based on the graphical language representation wherein the first type of items are trees so that the first notational choice specifies how trees are to be formatted when displayed, and wherein the second type of items are programming blocks so that the second notational choice specifies how programming blocks are to be formatted when displayed.
1. A computer-readable hardware device containing instructions that, when executed by a computer system, cause the computer system to perform operations comprising: mapping a domain-specific document to an abstract language representation of the document; receiving at least two notational choices, the receiving comprising: receiving a first notational choice, the first notational choice specifying how a first type of items are to be formatted when displayed, and receiving a second notational choice different from the first notational choice, the second notational choice specifying how a second type of items are to be formatted when displayed, wherein the document includes at least one item of the first type of items and at least one item of the second type of items; mapping the abstract language representation to a concrete language representation of the document based on the received at least two notational choices; determining a layout of the concrete language representation; for each of a plurality of elements of the concrete language representation of the document, mapping the element of the concrete language representation to an element of a graphical language representation of the document based on the determined layout; and displaying the document based on the graphical language representation wherein the first type of items are trees so that the first notational choice specifies how trees are to be formatted when displayed, and wherein the second type of items are programming blocks so that the second notational choice specifies how programming blocks are to be formatted when displayed. 2. The computer-readable hardware device of claim 1 wherein the operations further comprise: detecting changes to the document and updating a display based on the changes.