3 ms·
Ok, I admit I hadn't considered Babel (though I was vaguely aware of it) when I looked at literate programming systems. I considered CWeb, Nuweb, Noweb, and Lit
by akkartik 10y ago
Ok, I admit I hadn't considered Babel (though I was vaguely aware of it) when I looked at literate programming systems. I considered CWeb, Nuweb, Noweb, and Literate Haskell and a bunch of other semi-literate systems. I think my blind spot was to only consider approaches that were oblivious to tooling, things that I could open and read in any editor. That caused me to also miss LEO, as a commenter on the OP pointed out. I'm absolutely aware of LEO and like it, it just wasn't on my mind when writing this.
I still find your approach of interpreting my statements as strictly logical entities to be pointless at best. For the last bloody time, I know that literate programs operate on hunks that can be reordered. I still don't understand how you can think I don't know that after reading the post. Also, was it not obvious that "nobody" meant "nobody else"? And yes, of course I can't be sure that none of the six billion people on the planet has ever read a literate program. (Though if they did and they didn't say anything about it, and they didn't push back against people building crappy quasi-literate systems, are they not like the proverbial falling tree in the forest with nobody to hear it?) It's a rant, dammit. Do you know what that is? :) I'm pissed off at quasi-literate systems that keep people from realizing what Literate Programming can be, and I'm sorry that wasn't clear to you from my writing.
Are there any good example Babel programs you can recommend? I went looking and didn't find anything better/meatier than https://github.com/limist/literate-programming-examples https://github.com/limist/literate-programming-examples. I'm still skeptical that any sort of typesetting system is of much benefit; if I have to render in a split screen that's one less window for me to open code in, most likely I'll be trying to get by just reading un-rendered code. I think code should be WYSIWYG, because the slightest rendering step is overhead at the scale programmers deal with text. If I had to constantly render λ out of \lambda I'd never use it. But now that my terminal can render unicode sanely I use it all the time. Racket's Scribble system suffers the same drawback (Racket's ability to render Latex that you pointed out is utterly irrelevant in the context of this thread, without Scribble's ability to reorder code).
Anyways, if you'd send me some example Babel programs I'd love to give it a try.