Programming in Three Dimensions

Marc A. Najork
1996 Journal of Visual Languages and Computing  
This thesis describes Cube, the rst 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 t o c o n v ey semantic meaning, or more precisely, to distinguish between logical disjunctions and conjunctions, and between sum and product types. Cube uses the data ow metaphor as an intuitive w a y to describe
more » ... ogic 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 rst-class values. In particular, they can be passed as arguments to other predicates, which allows us to de ne 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 h a v e 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.
doi:10.1006/jvlc.1996.0012 fatcat:tztqg5hxsfcdrmq2bpci4s7yle