that daemon's trying to grind me down:
The following information was provided by the package's contributor.
Name of contribution: expl3 Author's name: LaTeX3 Project Location on CTAN: /macros/latex/contrib/expl3 Summary description: Packages supporting LaTeX3 programming conventions License type: lppl
Announcement text given by the package's contributor:
The expl3 bundle: Low-level LaTeX3 programming conventions
The files of the expl3 bundle provide a low-level API for TeX programmers with special syntax conventions, completely separating it from document level syntax. Hence, the commands provided are not intended for use at the document level nor for use in describing design layouts in document class files.
This API provides the foundation on which the LaTeX3 kernel and other advanced extensions are built. Special care has been taken so that they can be used within a LaTeX2e context as regular packages.
The TeX and eTeX primitives are all given a new name according to these conventions. However, in the main direct use of the primitives is not required or encouraged: the expl3 modules define an independent low-level LaTeX3 programming language.
At present, the expl3 modules are designed to be loaded on top of LaTeX2e:
usepackage{expl3}
In time, a LaTeX3 format will be produced based on this code. This allows the code to be used in LaTeX2e packages now while a stand-alone LaTeX3 is developed.
This release (SVN 1881)
As the existing LaTeX3 code is used by more people and for more purposes, some of the original ideas are being re-examined and inconsistencies and bugs are being addressed. This release reflects the consolidation process, which is of course ongoing.
The robustness of functions has been revised, and all functions should now be either protected or fully expandable. This is regarded as a general pattern for LaTeX3: any function which is not expandable should be defined using cs_set_protected:Npn, etc.
On variables, the definitions for l_set:Nn and related functions now allow # tokens in token lists, for example:
l_set:Nn l_my_tl { single~#~token! }
We hope that this means that token registers (toks) functions are needed for the small number of primitive token registers and for LaTeX2e work only. Feedback on this change is very welcome.
The file and keyval modules have been revised to provide only higher-level functions for general use. The lower level functions are either renamed, removed or not documented, and the intention is that everything will be done via the documented functions.
In l3msg, msg_set:nnnn, etc., now read messages with expl3 category codes (spaces are ignored). While this requires a little more typing we feel that the consistency it brings is valuble.
One area of active discussion is whether register creation should be local or global. This release includes *experimental* support for locally-created registers using the <var>_new_local:N functions. Be warned that this concept is included for discussion and may not be retained in the longer term.
There are a number of other minor changes, as the team are hard at work in a number of areas.
The LaTeX3 Project
i have installed the new version and updated the catalogue repository. thanks for the upload.
Users may view the package catalogue entry at http://www.tex.ac.uk/tex-archive/help/Catalogue/entries/expl3.html or they may browse the package directory at http://www.tex.ac.uk/tex-archive/macros/latex/contrib/expl3
the catalogue entry will change a bit, overnight tonight.
Robin Fairbairns
For the CTAN team