4 ms·
sorry, can't really find anything about graphs in there. how would use TN to represent a graph like this? A --> B --> C ^ | | | +--
by uryga 6y ago
sorry, can't really find anything about graphs in there. how would use TN to represent a graph like this?
A --> B --> C
^ |
| |
+-----------+
- breck 6y agoA few options, depends on design of Tree Language. Here are a few programs using grammars following traditional top to bottom, left to right flows. A B C A A B C A A B C. A B C AB BC AB Verbose ones: ANode BNode CNode Edge ANode CAEdge ANode ABEdge BNode BCEdge CNode
- uryga 6y agoah sorry, i thought your OP was talking about a more graph-theory-ish thing, some fun bijection between trees and graphs or something, serialization isn't really what i had in mind re: TN stuff. don't take this the wrong way, but being able to serialize a graph into bunch of IDs+edges isn't very... remarkable. as in, you could also use JSON/YAML/XML/s-exprs or whatever format, they'd be kind of equivalent here (modulo punctuation). i mean, lightweight DSLs and homoiconicity are cool, but not really groundbreaking stuff --- PS (additional bit of unsolicited advice). afaik you're still looking for TN's "killer app"; i'd consider making something geared towards the org-mode/markdown/plain-text-everything crowd, because TN's advantage is conciseness + ease of input/editing + aesthetics. maybe it could find its niche as a markdown++/org-mode-ish thing where you can freely mix text with structured bits (DSL stuff would be handy here)
- breck 6y agoI hear what you are saying, but there is a big leap between TN and "JSON/YAML/XML/s-exprs". One is isomorphic to 2 and 3 dimensional structures, and the rest are not, connecting the software world to the physical world. This will turn out to be very important and groundbreaking.
- nsajko 6y ago> One is isomorphic to 2 and 3 dimensional structures, and the rest are not So you're saying your notation can encode graphs that can't be represented as, e.g., JSON? The existence of such a graph would be the real (math-breaking) discovery here, no? I.e., you really should be able to give an example before offering such statements... > connecting the software world to the physical world I'm really not following you here.
- breck 6y agoThe fundamental shape of all our current computer languages is one dimensional. You can take any current program/file, "encode it" to lego blocks, and it would be a one-dimensional string. This probably arises because our foundational layer is one dimensional binary. Tree Notation/2D/3D languages are like a higher dimensional binary. Where you can traverse the program in multiple dimensions. Where physical layout matters. Now all our current languages can be represented in this way. And that's what most of my stuff focuses on now. But there are things that you can do with these languages and this style of 2D/3D architecture that you just cannot do with our current 1D register technology. (I mean maybe you could do them, but it would take billions of years to compute). Wait, am I claiming that 2D/3D computers would be as big a development as Quantum computing? No, much fucking bigger. Quantum computing is a fucking joke compared to this. (pardon my french, I just find the occasional f-bomb as a good way to communicate my excitement about the OOM I am seeing)
- uryga 6y agonot really sure what you mean by 2D/3D. if you mean "whitespace sensitive" (≈ effectively laid out in 2D), what about YAML? pretty sure you could just add dashes and get valid YAML representing the same tree: - A - B - C - A to put it bluntly, i'm really not seeing what's so groundbreaking about using indentation to represent nesting – it's a nice concise syntax, but it's just that. if there's cool things you can do using that syntax (AIUI, Tree Languages and tools built around them, which reminds me of racket-lang and their whole "language-oriented programming" idea), that might be interesting; but failing that, people will dismiss your claims of being revolutionary as crankery, which will hurt your project's image.