Eidola Notation Gallery | |||||||||||||
Eidola Notation Gallery
|
The Fibrani Brace | ||||||||||||
Next: Possible Eidola Notations - Semantic Layering >> | |||||||||||||
Discuss it! | |||||||||||||
My friend Florin once, while explaining some code to me, drew a sketch something like this:
It occurred to me that this would work nicely in a generally text-oriented Eidola notation -- delimiters could surround the code they delimit and grow as the code grew, in style of TeX. The delimiters, and comments, could be collapsible. In the honor of Florin, who earned the nickname "Fibrani" from his e-mail address, I dubbed this the Fibrani Brace. Here's a mock-up of the idea showing some Java code:
This has the obvious benefit of showing block and expression structure clearly.
(Some input from a good graphic designer could really help guide the eye.)
It also allows the exciting ability to take variously
high- and low-level views of the code. Here are some examples from the
Eidola kernel function
(Click images to enlarge) Implementing a reasonable editor for this notation is no small task! Doing the layout and rendering the delimiters and selection ranges would be trouble enough; keeping editing intuitive and responsive make this notation a rather difficult problem. Interesting questions about editing actions abound: What happens if you try to delete a right parenthesis without deleting the left one? Should a right curly brace appear if there is more stuff on the same line? Should that even be allowed? I implemented a prototype version of this notation in C++ on a Macintosh in college, so it is possible. The implementation didn't deal with many of the sticky issues, but had at least the basics working. The mockups above are slightly modified screen shots of the prototype. If you're interested in seeing it in action (more or less) and you have a Mac handy, drop me a note. | |||||||||||||
Discuss it! | |||||||||||||
Next: Possible Eidola Notations - Semantic Layering >> | |||||||||||||
Copyright 1998, 2001 Paul Cantrell |