5 ms·
Instead of criticizing Knuth or the critique, I will more constructively point at a pretty good example of literate programming: jonesforth. It's pretty simple
by max-ibel 5y ago
Instead of criticizing Knuth or the critique, I will more constructively point at a pretty good example of literate programming: jonesforth. It's pretty simple to understand the complete system (in x86 assembly and forth itself). Highly recommended read, even if you are not a forth freak.
I'd love to know about similarly documented code bases. I have femtolisp on my bucket list.
- troutmskreplica 5y agolcc: https://en.wikipedia.org/wiki/LCC_(compiler) https://en.wikipedia.org/wiki/LCC_(compiler) PBRT: https://www.pbrt.org https://www.pbrt.org
- rapind 5y agoI always found literate coffeescript to be pretty neat. https://github.com/jashkenas/coffeescript/blob/master/src/scope.litcoffee https://github.com/jashkenas/coffeescript/blob/master/src/sc...
- miguelsm 5y agoThe whole of ferret's source code is in a single org-mode file, following the literate programming style: https://github.com/nakkaya/ferret/blob/master/ferret.org https://github.com/nakkaya/ferret/blob/master/ferret.org
- akkartik 5y agoJonesforth is awesome. But it is not LP. Semi-literate systems are not LP. The essence of LP is to not be constrained by some language's compiler when deciding how to explain a system to another person. Now, lots of languages today are nice enough that you can work within them and still do LP. So it is certainly possible for a program written in a semi-literate system to be LP. But that is a property of the _program_, not "Literate Haskell" or whatever. Jonesforth is written in Assembly. Assembly is not nice enough to write a Literate program in directly. It is certainly possible to write beautiful programs without LP. But I think LP is a valuable idea that we should at least understand the boundaries of. If you think Jonesforth is LP, you don't understand LP.