lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Hans Hagen <pragma@wxs.nl> writes:

> On 11-5-2010 10:17, Leo Razoumov wrote:
>> On 2010-05-11, Hans Hagen<pragma@wxs.nl>  wrote:
>>> On 11-5-2010 2:10, Leo Razoumov wrote:
>>>
>>> With respect to the macro language, it's not that bad for coding
>>> documents, but Lua is definitely quite handy for extending the
>>> machinery. All aspects of TeX are opened up successively but no
>>> large fundamental extensions are written in c as one is supposed to
>>> use Lua.
>>>
>>
>> TeX macro language is an unmitigated disaster for writing macro packages.
>
> well, i agree that some things are pretty hard to do in tex but keep
> in mind that its a typographical programming language and i'm quite
> sure that it was not meant as general purpose programming language but
> for writing styles for books; anyone who wants to write a general
> purpose macro package (dealing with all situations) goes beyond its
> intention
>
> 'disaster' is not the right qualification

It's rather close.  It has two language subsystems, one lame and one
blind, and neither can get any work finished on its own, but they are
not staying in the same room.  The lame one is TeX's mouth, not being
able to assign to variables.  A preprocessing expansion system.  The
blind one is TeX's stomach, not being able to make decisions by looking
at variables.

You can only assign values to variables in the stomach, and can only
make decisions based on variables in the mouth.  There are times when
only the mouth is active and the stomach is shut off.

Calling this contraption a "language" is a euphemism.  It is adding
complexity into a pot and stirring until Turing starts turning in his
grave.  Then it is released into the world.

In contrast, METAFONT is a rather cleanly designed system, even though
it has preprocessing stages of its own.

-- 
David Kastrup