Hacker News new | ask | show | jobs
by melloclello 3413 days ago
I've also been thinking about this for about as long (read this same article about 2-3 years ago), and came to pretty much the same conclusion. I actually think defining the grammar for turning text into a tree is likely to be the easy part, compared with building the editor itself.

That said, during my research I ran across an ancient Usenet thread from 1989[1]. In it, the OP asks:

> Should the language designers be making work for the language-oriented editor designers or should the language-oriented editor designers be making work for the language designers?

(The thread rapidly devolves into an all out flame war about whether or not C can be considered to be context-free)

Lisp feels like a language designed specifically to make a language-oriented editor designer happy, but most other popular languages fail the context-free test one way or another, thus making them difficult to define good grammars for. The problem seems to be that historically the language designers have far outnumbered the language-oriented editor designers.

[1] https://groups.google.com/d/msg/comp.lang.misc/MCZmQv56--Q/O...

1 comments

Back in '84 I was an undergrad at Boston University, doing an independent study with one of the business professors, Dr. Fedoritz, on a "next generation spreadsheet" that was to incorporate a cell-less freeform tree structure to represent Frames of Reference. Operating under the business school, we were working on advanced interfaces for financial professionals. The project was called a Frame Based Knowledge Representation System, with each node being a collection of data, with two special data types, one called a "frame" that contains logic and references to the other fields of the node, and one called a "reference" that pointed to a "frame" of some other node. All very basic, as the end-users were not programmers but financial analysts. Due to the freeform intended usage, the UI was on a vector monitor (like the old Asteroids arcade game), and end-users were trained to use the system as a collection of notes they can freeform write anywhere about their job, with little formulas to calculate things within a note and between other notes. It was explained to be like a combination notepad and spreadsheet. And it made a lot of sense to the end-users; they quickly got elaborate with their logic. The UI got zooming capabilities so actively edited or evaluated nodes would scale up while others shrank down, the end-users kept asking for more sophisticated features, and it really looked like we were on to something BIG. During an evaluation of the project with other professors, one of them asked "Once you've completed these requested features from your financial analysts, haven't you recreated just another programming language? The UI is unique, but I'm just seeing an interpreted language and a metaphor for programming that works with your finance end-users." ...And he was right.
Wow. I hope that didn't kill your project? I wouldn't mind seeing the UI, if you have any pictures, it sounds way ahead of its time!
I turned the project into another independent study and created a 3D animation language. About a decade later, I was introduced to the first feature film compositor centered around the GPU, called Shake, and it's node layout looked creepily familiar to how the Frame Knowledge System was when I last used it...
Sounds like your professor invented HyperCard, more or less. Right idea, wrong time/place.