Responses to Ankh
-
A transclusion - from what I remember from Ted Nelson's lecture series he held here some time ago - has the important (and good!) property that it refers always to the same version of the document, but if you went and checked the other end of the transclusion, you could see that that part of the text had been seriously modified (and you could see the diff between the transcluded version and the current version, too). And you can transclude only a part of the text, if you like. So, claiming that the XML entity reference is anything like transclusion is not really fair. But yeah, it does have some similarities (the ability to fetch from the network, for example, XML entities do that don't they).
-
It is important to realize that literate programming is not just a fancy method for commenting your code. The ability to rearrange the program text and thus for example ignore required nitty-gritty you are not interested to write just now (and put off its code to another section) is in some senses at least as important as the documentation-code dichotomy. For example, the design method of stepwise refinement becomes an actual possibility only after you start doing it the literate way: this allows you to incorporate the refinement steps of the design in the actual code that will be compiled and then executed. In other words, literate programming makes pseudocode executable.
-
I agree that the module problem is a real one with literate tools. Do you know Knuth's solution, as seen in for example Stanford GraphBase and the MMIX simulator? He composes the modules as separate literate works, which no doubt become chapters in the book. I don't personally find that style appealing, but it is a solution. I have personally decided to try out the include file mechanism: I split the program into include files which are then put together by CWEB as a single source for either CC or TeX.
-
GZigZag is not just "a simple data structure to avoid having to understand more complex one". Rather, it is a metastructure: you can define the usual lists, trees and whatnot inside the ZigZag structure quite easily. ZigZag the data structure gives you automatic memory management, persistent storage, distributed data structures et cetera, once it's fully implemented. GZigZag is actually a system in its own right: it has its own way of looking at data, everything is a cell (compare to everything is a file in Unix), and it provides you with means of data storage (persistent cells) and networking (distributed cells). I don't understand much of it yet - its way of looking at the world is sufficiently different from the conventional view that it needs adjusting to - but I can say (having seen demos of it and discussed it with Ted Nelson and Tuomas Lukka, the main architects) that it looks cool.
Wrote more TeWiS and figured out some of litprog.
Question
Does anybody know a Plain TeX (not LaTeX or Texinfo) rendering of the GNU General Public License, version 2?
