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
Bruno Le Floch <[log in to unmask]>
Reply To:
Mailing list for the LaTeX3 project <[log in to unmask]>
Fri, 22 Apr 2011 20:48:03 -0400
text/plain (40 lines)
On 4/21/11, Joseph Wright <[log in to unmask]> wrote:
> 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.

Additionnal check that l3chk could perform (but should be disablable):
that the module only defines functions which belongs to it (i.e. the
part before the first "_" is good), with perhaps something to declare
what namespace the programmer wants to use.