1. 5

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.

  1.  

  2. 3

    Oh no, a data flow language in 3D? LabVIEW is already bad enough in 2D!

    In all seriousness though this is a neat idea. I currently don’t see VR improving much upon existing development workflows in any meaningful way, mostly because it’s hard to read small text. A language + environment designed with VR in mind could be quite interesting though.

    Edit: On taking another look at this, I noticed this paper was written in ’96!

    1. 1

      Yeah the VR thread feels pretty stale, but beyond the funny picture there is a really nice combination of good things in here:

      • “distinguish between logical disjunctions and conjunctions, and between sum and product types”
      • “based on a higher-order form of Horn logic”, “can be passed as arguments to other predicates”
      • “static polymorphic type system, and uses the Hindley-Milner algorithm to perform type inference”

      If all of that could be made performant, it’s pretty much the language of my dreams.