On Canonical Forms and Simplification
Journal of the ACM (JACM)
A system for typesetting mathematics
Communications of the ACM
Communications of the ACM
Programming Languages: A general purpose graphic language
Communications of the ACM
Computers and Intractability: A Guide to the Theory of NP-Completeness
Computers and Intractability: A Guide to the Theory of NP-Completeness
PIC—a language for typesetting graphics
Proceedings of the ACM SIGPLAN SIGOA symposium on Text manipulation
Thinglab--a constraint-oriented simulation laboratory.
Thinglab--a constraint-oriented simulation laboratory.
TEX and METAFONT: New directions in typesetting
TEX and METAFONT: New directions in typesetting
Design principles behind Chiron: a UIMS for software environments
ICSE '88 Proceedings of the 10th international conference on Software engineering
Graphical information resources: maps and beyond
SIGIR '85 Proceedings of the 8th annual international ACM SIGIR conference on Research and development in information retrieval
Interactive Editing Systems: Part II
ACM Computing Surveys (CSUR)
Document Formatting Systems: Survey, Concepts, and Issues
ACM Computing Surveys (CSUR)
A High-Level Language for Specifying Pictures
ACM Transactions on Graphics (TOG)
Software Environment Architectures and User Interface Facilities
IEEE Transactions on Software Engineering
PIC—a language for typesetting graphics
Proceedings of the ACM SIGPLAN SIGOA symposium on Text manipulation
User interface layout with ordinal and linear constraints
AUIC '06 Proceedings of the 7th Australasian User interface conference - Volume 50
The table widget reloaded: requirements, design and implementation
Proceedings of the 11th International Conference of the NZ Chapter of the ACM Special Interest Group on Human-Computer Interaction
Hi-index | 0.00 |
We present a new programming language, IDEAL, in which two-dimensional figures can be expressed. The language is intended to work with existing text-formatting systems so that text and figures can be typeset at the same time. The building block for IDEAL programs is called a “box” it shares some features with procedures and some with records in general-purpose programming languages. A box includes a system of constraints (in this incarnation, equations in complex variables) that declares the relative positions of its significant points and requests for actions to be performed at those points. A box is called by adding enough constraints to the system in its definition that its significant points can be solved for uniquely. A box call may also include additional actions to be performed during the call. The notions of drawing a line using a pattern and texturing a polygonal area follow directly from the mechanism for defining and calling boxes. Users may also ask for a box to be “opaque” so that it blots out pieces of picture that it covers. Finally, two commands embody the idea of sketching several pictures on different parallel planes, then merging them into a single picture. We use these when erasing to create one part of a picture would destroy another part that we want. We discuss good algorithms for implementing IDEAL when the constraints are expressed as a special kind of nonlinear system and the pictures are composed of straight lines and circular arcs. The language has been implemented, and was used to produce the paper.