On my bicycle ride today I had a "road to Damascus" moment: It is time to kill @root, or at least send to it the attic, there to be quickly forgotten.
I suspect nobody is seriously using @root, because I can tell you that the docs for @root are at present completely unintelligible. Furthermore, imo @root represents truly bad programming practice, a relic of the 1980's that has no place today. Let me be very clear. I think @root is a huge burden on Leo. It more than doubles the apparent complexity of Leo for newbies, and offers exactly *nothing* of value to anyone. After this Aha, it is obvious that I don't want to use @root, think about @root, document @root or test @root. And I don't want Leo's newbies to do so either. Without @root, Chapter 4 would be less than half as long and would actually be easy to understand :-) As usual, any simplification of Chapter 4 would likely lead to further collapses in complexity. Duh! @root is all pain and no gain for Leo. Why didn't I see this before? All comments are welcome, but there is any way anyone is going to change my mind about this. Leo deserves to lose about half its apparent weight. Edward P.S. I am willing to keep leoTangle.py in Leo's core for now, but I want to "send it to the attic" by removing any mention of it, not only in the docs, but in the settings, menus and commands as well. If somebody *really* wants to use it they can, by creating a plugin, but I actually hope that nobody does want to use it. The alternatives to @root are straightforward: a tool chain using the official noweb, CWEB, fweb or funnelweb tools, possibly combined with @language cweb. P.P.S. I think the Chapter 6, Leo and Literate Programming, while not bad "technically", harms Leo by implying that Leo is "about" LP these days. It is not, and the clearer we all can be about that the better. I'll be removing mention of CWEB and noweb from Leo's home page asap. P.P.P.S Nobody knows better than I the behind-the-scenes complexity involved in the Tangle commands, and *especially* the Untangle commands. 15+ years ago I "forced" the code to work (in C), but even transliterated to Python it is some of the worst code in Leo. I am going to be *thrilled* to be rid of it. EKR -- You received this message because you are subscribed to the Google Groups "leo-editor" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/leo-editor?hl=en.
