[comp.lang.misc] Useful software in Pascal

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