chris@mimsy.UUCP (Chris Torek) (01/08/87)
In article <1635@enea.UUCP> sommar@enea.UUCP (Erland Sommarskog) writes: >As we all know, Pascal was never ment for "productive" programming, >just for education. On the other hand, the most compilers do offer >extentions for separate compilation, string handling etc. Of course >these extentions doesn't make Pascal very portable. By the way, as >far as I know the most of TeX is written in standard Pascal, but >you perhaps would call that useless software? Actually, TeX is written in WEB, which provides much of what is needed to make Pascal usable. TeX makes extensive use of a default case, which is not standard (and indeed not available in Berkeley Pascal: people using the Berkeley Pascal compiler on Vaxen must first run the Pascal output from Tangle through `pxp -O', at a cost of 15% slower execution than with a modified compiler). TeX also uses a handful of extensions for `real I/O', all coded as WEB macros so that the system-specific version may be inserted in line in the many places it is needed. Interestingly, TeX does NOT use `new' and `dispose', probably because these are not properly implemented in many `standard' and even `extended' Pascals! The one major extension WEB cannot provide is separate compilation, and I sorely miss it whenever I work with the TeX sources. -- In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 454 7690) UUCP: seismo!mimsy!chris ARPA/CSNet: chris@mimsy.umd.edu