LATEX-L Archives

Mailing list for the LaTeX3 project


Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

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

Print Reply
Joseph Wright <[log in to unmask]>
Reply To:
Mailing list for the LaTeX3 project <[log in to unmask]>
Thu, 21 Apr 2011 09:35:03 +0100
text/plain (25 lines)
On 21/04/2011 09:27, Will Robertson wrote:
> Hi,
> Bruno has raised an issue [1] with \cs_new:Npn: it's slow.
> [1]:
> Around the time when the "\cs_" prefix was first introduced, Morten added a check to \cs_new:Npn to ensure you weren't trying to use it to define a command with a ":D" suffix, as they should be reserved for engine primitives.
> This seemed like a good idea at the time, but considering how often \cs_new:Npn is used in expl3, it has a definite performance hit to performing this check each and every time it's used.
> We'd like to propose dropping this check and moving it into the currently defunct l3chk module, which is designed to "switch on" these optional checks that are nice in theory but not efficient in practise. (l3chk hasn't been maintained so much but at some point I'd like to revive it.)
> Any thoughts for or against this idea?

I am in favour of this: checking for 'free' functions should really just
do that (after all, there are _lots_ of other mistakes that could be
made that are not checked).

On the l3chk module, I think it is clear we need to overhaul the
'checking' guards and so forth for a 'slower but more careful' version
of expl3 for debugging. This check would fit in there, I guess.
Joseph Wright