Eidola Notation

Notation Gallery

Discussion

Eidola home
 

  Notation? Wuzzat?
A notation is a way of presenting a program to humans, and allowing them to interact with it. Eidola's representation-independent architechture makes it possible for a program to appear in many different notations simultaneously, opening up many exciting creative possibilities!

The Eidola Notation Gallery is now open for viewing. There's not much in it yet -- it needs your ideas, so send them on in!

What's the difference between a representation and a notation? In Eidola terminology, a representation is a way of storing Eidola programs which preserves the complete structure of the language. Representations are usually intended to be useful to a computer -- a file, a database, or a set of data structures could all be representations. A notation is a form of a program, usually a visual one, useful to human understanding. Most notations are only partial representations -- they do not necessarily show the complete structure of a program, but focus on one aspect, such as container hierarchies, class generalizations or loop structures.

What's the difference between a notation and a user interface? A notation is a special kind of user interface which puts some abstract structure in concrete terms. Granted, this is a fuzzy distinction, but an important one because of the connotations of "notation". When we hear "user interface", we think of menus, windows, and buttons. "Notation", on the other hand, invokes writing, music, scientific visualization, graphic design, and a whole world of possibilities beyond the rather mundane world of typical computer interfaces. A notation is not just a user interface for giving commands to the computer, but a conceptual tool which allows us to communicate with others, and with ourselves.

 
  Status
Visual representations of Eidola programs are still mostly pipe dreams. However, now that we have a reasonably stable fragement of the semantics and kernel in the 0.0.0 release, there's room to start experimenting. Notation work will run in four phases (each continuing even after the next has started):

  1. Collect all sorts of notation ideas from all sorts of people, and compile them in a highly inspiration gallery on the Eidola site.
  2. Try implementing some notations in a casual way, focusing more on getting stuff on the screen than on designing everything right.
  3. Based on the experiences of 2, implement a general framework for building notations and making them play nicely together, this time focusing on doing things right.
  4. Implement the best notation ideas from 1 and 2 using the notation framework from 3.

For phase 1, I am collecting ideas for the notation gallery. Send yours! Attention non-programmers: you can play this game too!

For phase 2, I am implementing a few toy notations just to get the ball rolling, but not coding anything terribly serious.

 
Copyright 2001 Paul Cantrell