Live data from Hacker News

Why Don't We Have a General-Purpose Tree Editor? (2014)

pcmonk.me

161–170 of 222 posts

Re: Why Don't We Have a General-Purpose Tree Editor? (2014)

#161
post #50

I've been thinking about this constantly for the last 2-3 years. I'm working on something which might lead to this. What I've concluded, is that we don't have a good representation for a general purpose tree editor to work on. Roughly speaking, S-expressions are just a bit too simple, and XML is way too complicated. General purpose plain text editors work so well because we've agreed on a common representation (more…

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…

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.

Re: Why Don't We Have a General-Purpose Tree Editor? (2014)

#163
post #157

Earlier quoted context omitted.

There's a core abstraction lurking behind tools like ZigZag, the Leo editor, hashtags, and C pointers/linked structures. The hyperlink as the base abstraction allowed us to store and navigate individual nodes in a hypertext, but it doesn't work well for collections - thus it provides limited support for programmatic access. Conversely, pointers & references in programming languages allow for easy handling/transformat…

Can I email you? I'm working on similar ideas. I can't find an email address. My email address is in my profile.

Sure! I've just emailed you from my personal mail account.

Re: Why Don't We Have a General-Purpose Tree Editor? (2014)

#164
post #157

Earlier quoted context omitted.

There's a core abstraction lurking behind tools like ZigZag, the Leo editor, hashtags, and C pointers/linked structures. The hyperlink as the base abstraction allowed us to store and navigate individual nodes in a hypertext, but it doesn't work well for collections - thus it provides limited support for programmatic access. Conversely, pointers & references in programming languages allow for easy handling/transformat…

Can I email you? I'm working on similar ideas. I can't find an email address. My email address is in my profile.

[deleted]

Re: Why Don't We Have a General-Purpose Tree Editor? (2014)

#165
post #157

Earlier quoted context omitted.

There's a core abstraction lurking behind tools like ZigZag, the Leo editor, hashtags, and C pointers/linked structures. The hyperlink as the base abstraction allowed us to store and navigate individual nodes in a hypertext, but it doesn't work well for collections - thus it provides limited support for programmatic access. Conversely, pointers & references in programming languages allow for easy handling/transformat…

Can I email you? I'm working on similar ideas. I can't find an email address. My email address is in my profile.

[deleted]

Re: Why Don't We Have a General-Purpose Tree Editor? (2014)

#166
post #49

Earlier quoted context omitted.

I think that sums it up. We really can't top crufty old Windows freeware? There is a gaping hole in the market.

The last time I worked on complex XML I even used XML Marker with WINE... it works there. If you want the Mercedes of XML editors you should take a look at Oxygen XML editor (this is not free but runs on more platforms than Windows).

+1 for OxygenXML - it is very actively developed and has its own CSS engine that goes above and beyond what browsers can do. So you can style your tree with CSS.

Re: Why Don't We Have a General-Purpose Tree Editor? (2014)

#167

Earlier quoted context omitted.

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…

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 Represen…

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!

Re: Why Don't We Have a General-Purpose Tree Editor? (2014)

#168
post #104
post #65

Earlier quoted context omitted.

While we might have some common idea what is text, we definitely not have common semantics! The resulting situation isn't so much different from trees. And what do you mean by "s-expressions just too simple"? Isn't simplicity something to strive for?

> And what do you mean by "s-expressions just too simple"? Isn't simplicity something to strive for? I should stress "a bit". Actually, looking closer at s-expressions right now (I was writing based on what I remembered), I'd like to flip that statement. S-expressions are just a bit more complex than what I have in mind. Or alternately: they're equivalent under some trivial transformation. It depends on how you look…

You must have read about Urbit, right? Their VM's underlying language/bytecode/thing, Nock, is based on nested pairs of natural numbers, which is perhaps only slightly less unwieldy than operating on single bits.

PS, if you're as enthusiastic about this idea as I am, we should talk, can I email you?

Re: Why Don't We Have a General-Purpose Tree Editor? (2014)

#169
post #104
post #65

Earlier quoted context omitted.

While we might have some common idea what is text, we definitely not have common semantics! The resulting situation isn't so much different from trees. And what do you mean by "s-expressions just too simple"? Isn't simplicity something to strive for?

> And what do you mean by "s-expressions just too simple"? Isn't simplicity something to strive for? I should stress "a bit". Actually, looking closer at s-expressions right now (I was writing based on what I remembered), I'd like to flip that statement. S-expressions are just a bit more complex than what I have in mind. Or alternately: they're equivalent under some trivial transformation. It depends on how you look…

I think it could be neat if the spec of the s-exp was read from local hints rather than top-down prescription. You could show a color picker for color argument to a function etc. clojure.spec seems a cool tool.

Re: Why Don't We Have a General-Purpose Tree Editor? (2014)

#170
post #45

Check gingko, which is more focussed on docs, but is a tree editor at its core. https://gingkoapp.com/ Used it at university for notes, and is great for quick revisions before the exams too!

Looks great but it only does text. The link speaks of beyond ASCII. For this the old school PIM were better at storage of thoughts.

Actually, it does Markdown, which includes images, and anything you can embed as HTML.

Also, supports LaTeX.

Post reply on HN