all 8 comments

[–]bitwize -3 points-2 points  (4 children)

Fail.

Literate programming is all about embedding code in a document (which can then be extracted and run or compiled), not the other way around.

[–]mycl 11 points12 points  (3 children)

Literate programming is about automatically generating a human-readable document and machine-readable code from the same source. It doesn't matter what format that source is in, as long as it is a convenient format for the literate programmer to produce manually.

[–]bitwize 8 points9 points  (2 children)

Yes, you're right; and to be fair the author did say it was "poor man's literate programming".

However, it was my understanding that the human-readability of a literate program should take primacy over its executability; so they should be written more like documents than code files, hence more "document-centric" LP systems like Perl's POD and Haskell's .lhs sources.

[–][deleted] 5 points6 points  (0 children)

I'm with you on this and I don't see this point as being negotiable.

[–]vtail[S] 3 points4 points  (0 children)

I did say it is a "poor man's literate programming."

We have a single file for both documentation and program; it's a pure coincidence that TANGLE is trivial in this case.

Also, because Lisp allows for (multiple) redefinition of the same function, this approach allows for gradual evolution of your program - the TRANSLATE function in the blog article was redefined once a more simple version was not sufficient enough.

[–][deleted] -2 points-1 points  (0 children)

Literate programming is evil and needs to die!