MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Programming in Three Dimensions (1996) [33 citations — 0 self]

Download:
pdf | ps
by Marc-alexander Najork, Marc-alexander Najork, Simon M. Kaplan
Journal of Visual Languages and Computing
http://www.research.digital.com/SRC/personal/najork/thesis/thesis.ps.gz
Add To MetaCart

Abstract:

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 particular, 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. iii

Citations

1654 Foundations of Logic Programming – Lloyd - 1984
409 Sketchpad: A man-machine graphical communication system – Sutherland - 1963
332 Logic for problem solving – Kowalski - 1974
291 R.H.C.: The CLP(R ) language and system – Jaffar, Michaylov, et al. - 1992
217 Principal type schemes for functional programs – Damas, Milner - 1982
216 The Application Visualization System: a Computational Environment for Scientific Visualization – Upson, Faulhaber, et al. - 1989
192 An Overview of �Prolog – Nadathur, Miller - 1988
159 a non-strict functional language with polymorphic types – Miranda - 1985
146 A Head-Mounted Three Dimensional Display – Sutherland - 1968
134 A polymorphic type system for Prolog – Mycroft, O'Keefe - 1984
109 The undecidability of the secondorder unification problem – Goldfarb - 1981
104 The Ultimate Display – Sutherland - 1965
81 Pavane: a system for declarative visualization of concurrent computations – Roman, Cox, et al. - 1992
72 Vijay Saraswat. Complete visualizations of concurrent programs and their executions – Kahn - 1990
72 A Theory of Type Polymorphism – Milner - 1978
71 The Transparent Prolog Machine (TPM): An Execution Model and Graphical Debugger for Logic Programming – Eisenstadt, Brayshaw - 1988
59 Typed Prolog: A semantic reconstruction of the Mycroft-O'Keefe type system – Lakshman, Reddy - 1991
55 Computer Graphics – Hearn, Baker - 1997
51 Janus: A Step Towards Distributed Constraint Programming – Saraswat, Kahn, et al. - 1990
47 Algorithm animation using 3D interactive graphics – Brown, Najork - 1993
45 programming be liberated from the von Neumann style? a functional style and its algebra of programs – Can - 1978
44 New Graphical Reasoning Models for Understanding Graphical Interfaces – Furnas
38 Implementing Functional Languages – Jones, Lester - 1992
37 Three-dimensional computation visualization – Stasko, Wehrli - 1992
33 Pict: An Interactive Graphical Programming Environment – Glinert, Tanimoto - 1984
31 A Three-Dimensional Representation for Program Execution – Lieberman - 1989
31 Pygmalion: A creative programming environment – Smith - 1975
29 HiLog: A First-Order Semantics for Higher-Order Logic Programming Constructs – Chen, Kifer, et al. - 1989
25 A framework for abstract 3d visualization – Reiss - 1993
25 Pygmalion: A Computer Program to Model and Stimulate Creative Thought, Birkhauser – Smith - 1977
21 The cube language – Najork, Kaplan - 1991
20 An application of three-dimensional visualization to object-oriented programming – Koike - 1992
20 Trestle reference manual – Manasse, Nelson - 1991
19 A Survey of Current Graphical Programming Techniques – Raeder - 1985
18 Hilog: A first-order semantics for higher-order logic programming constructs – Chen, Kifer, et al. - 1989
17 and Gopalan Nadathur. Higher-order logic programming – Miller - 1986
16 Is it easier to write matrix manipulation programs visually or textually? An empirical study – Pandey, Burnett - 1993
15 Abstraction in algorithm animation – Cox, Roman - 1992
15 A visual language for keyboardless programming – Kimura, Choi, et al. - 1986
14 Enhancing Show-and-Tell With a polymorphic type system and higher-order functions – Najork, Golin - 1990
13 A Visual Logic Programming languages based on Sets and Partitioning constraints – Spratt, Ambler - 1993
10 Lazy ML user's manual – Augustsson, Johnsson - 1993
10 Out of flatland: Towards 3-d visual programming – Glinert - 1987
10 DataVis: A visual programming language for scientific visualization – Hils - 1991
10 viz: A visual language based on functions – Holt - 1990
10 Hyperflow: A Visual Programming Language for Pen Computers – Kimura - 1992
10 Specifying Visual Languages with Conditional Set Rewrite Systems – Najork, Kaplan - 1993
10 Visual Programming. Van Nostrand Reinhold – Shu - 1988
9 The Fabrik programming environment – Ludolph, Chow, et al. - 1988
8 Abstraction in the demand-driven, temporal-assignment, visual language model – Burnett - 1991