Hacker Newsnew | comments | show | ask | jobs | submit login

I really hope that this Bataan death march of porting LaTeX to the iPad is the final word on whether or not literate programming is a worthwhile endeavor.



It doesn't have to do with literate programming per se.

It has to do with a very widespread and powerful legacy system (with extreme requirements for backwards-compatability and portability) that happened to be written decades ago in, basically, Pascal.

Furthermore, the people doing this port don't seem to have total command of the tex infrastructure. This has held them back.

For instance, they didn't know what kpathsea was until well after they started their port ("As best we could tell kpathsea is a library to find fonts and scripts in the sprawling TeX distribution...", from http://texpadapp.com/2011/12/10/price-of-amessy-latex-not-fo...).

kpathsea is a basic library that anyone who has tweaked TeX configurations would know about. It has a certain syntax for subdirectory searching that you have to learn, as well as a utility command (kpsewhich) that you run quite a lot to debug "file-not-found" problems.

-----


Knuth's Web literate programming system is based on transforming the literate sources two different ways: "weave" transforms the source into the published book form, and "tangle" strips all comments, and massively rearranges the source into compilable Pascal (Rearranging was probably a somewhat Pascal specific feature, and newer literate programming systems don't necessarily rearrange anymore, I think).

Since their C code is based on the tangled code, their transformation discards the ENTIRE comments of the original source (and simply not stripping the comments would not help, because in the rearranged order they wouldn't make much sense anymore). Essentially, they are rendering TeX illiterate.

I can't conceive how this could possibly lead to a more maintainable product. TeX has a perfectly workable way of making arbitrary local changes through "Changefiles". The Pascal/C code was never meant to be edited directly.

-----




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact

Search: