Polly: A Polly-Visual Programming Language and Environment


Rationale:

Visual Programming Language design has run into some problems. Most VPL systems are special purpose; as yet there are few if any good general purpose notations. This is in part because designing a visual notation is very difficult, let alone implementing it, and so therefore appropriate tools are needed to make design and experimentation easier. Other barriers to wide spread use of VPL's include performance penalties, and the fact that VPL's often require programmer retraining. The features of Polly Visual address these problems.


Features of Polly Visual:

1. Absolute compatibility with text only programming languages      standard text only code can be used in Polly. The code looks and performs exactly the same as in a traditional programming environment for that language; the only difference is that the code now lives in the Polly visual editing environment. The Polly compiler outputs object code which is indistinguishable from binaries generated by traditional programming environments for the same text only language.

2. Appearance free      Polly takes no position on what text plus graphics visual notations should look like, yet supports any of them. This leaves visual language designers free to implement whatever new notations they can think up. Standard Java code is considered and processed as a degenerate text only case of a visual programming language.

3. Appearance rich      Polly supports visual language notations which include text, vectors, bitmaps and pixmaps in any combination.

4. Syntax rich      the Polly environment supports spatial parsing, so users can simply write&draw programs and documentation in free form style, and then the system derives underlying structure from spatial arrangement. Syntax driven menu input is also available.

5. Mixed visual language support      the same source file can have expressions in more than one visual language, including text only.

6. Visual data for programs      visual data including text, vectors, bitmaps and pixmaps in any combination can be embedded right in the source code of the program that will use the data.

7. Visual comments for documentation      comments can be made up of text, vectors, bitmaps and pixmaps in any combination. Since Polly source files can include both comments and visual code, they are really "visual code documents." Hypermedia links are included in the Polly environment for easy browsing among code documents, as well as Web links.

8. Unix implementation      Polly is implemented in Common Lisp and runs under Unix and Linux.


Documentation text, documentation text graphics, code text and code text graphics are all first class citizens in Polly's visual world.



Abstract first distributed March 1994.

Work in progress; draft copies available on request.


Fred Lakin
lakin@pgc.com

Return to papers list

(C) Copyright 1994 PGC