This item is only available for download by members of the University of Illinois community. Students, faculty, and staff at the U of I may log in with your NetID and password to view the item. If you are trying to access an Illinois-restricted dissertation or thesis, you can request a copy through your library's Inter-Library Loan office or purchase a copy directly from ProQuest.
Programming in three dimensions
Doctoral Committee Chair(s)
Kaplan, Simon M.
Department of Study
Degree Granting Institution
University of Illinois at Urbana-Champaign
This thesis describes Cube, the first visual language to employ a three-dimensional syntax. The third dimension provides for a richer syntax, makes the language more expressive, and prepares the ground for novel, virtual-reality-based programming environments. We use dimensional extent to convey semantic meaning, or more precisely, to distinguish between logical disjunctions and conjunctions, and between sum and product types.
Cube uses the data flow metaphor as an intuitive way to describe logic programs. The semantics of the language is based on a higher-order form of Horn logic. Predicates are viewed as a special kind of terms, and are treated as first-class values. In particularly, they can be passed as arguments to other predicates, which allows us to define higher-order predicates.
Cube has a static polymorphic type system, and uses the Hindley-Milner algorithm to perform type inference. Well-typed programs are guaranteed to be type-safe.
We have implemented two Cube interpreters: An initial feasibility study, and a prototype implementation with improved interactive capabilities. Both of them exploit the implicit parallelism of the language by simulated concurrency, implemented via time-slicing.