LATEX-L Archives

Mailing list for the LaTeX3 project


Options: Use Classic View

Use Monospaced Font
Show Text Part by Default
Condense Mail Headers

Topic: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Sender: Mailing list for the LaTeX3 project <[log in to unmask]>
Date: Mon, 22 Jul 2013 19:04:38 +0200
Reply-To: Mailing list for the LaTeX3 project <[log in to unmask]>
MIME-Version: 1.0
Message-ID: <[log in to unmask]>
In-Reply-To: <[log in to unmask]>
Content-Type: text/plain; charset=ISO-8859-1
From: Michiel Helvensteijn <[log in to unmask]>
Parts/Attachments: text/plain (39 lines)
On Mon, Jul 22, 2013 at 5:10 PM, Joseph Wright
<[log in to unmask]> wrote:

> I was thinking more that if we look at other languages there are a
> limited number of data types, and for specialist applications you still
> have to use whatever 'base' types are available. Now, we of course
> really only have macros and TeX's build-in registers

Well... TeX is kind of unique in that it pretty much allows you to
completely redefine the language from the inside. Any datastructure
you don't have, you can add. And it will look as if it is native.

> I've no real experience of other languages, though, so perhaps I miss
> something. What does one do in say C if the data structures available
> are not suitable? (I didn't think you could even add keywords in most
> languages, so adding data types seems tricky.)

C is quite old, but even C allows the creation of new datastructures
and control-flow constructs. New keywords can be added with
preprocessor directives (which are very close to TeX command
sequences, actually; both are often referred to as macros).

What C lacks is encapsulation. Like LaTeX, it has to rely on goodwill
and convention to prevent conflicts. C++ fixed this (somewhat).

> [BTW, I'd hope expl3 is used for 'typesetting', broadly :-) Bruno may
> want to pilot the Mars rover in TeX, but ...]

TeX is Turing Complete. If you won't exploit it, someone else will.

Enhanced programming tools help us to build packages that ultimately
make life easier for authors. Below that level, treating TeX like a
general purpose language makes a lot of sense. Isn't that why you guys
are creating expl3 in the first place, and why dialects like LuaTeX