LATEX-L Archives

Mailing list for the LaTeX3 project

LATEX-L@LISTSERV.UNI-HEIDELBERG.DE

Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Condense Mail Headers

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

Print Reply
Sender:
Mailing list for the LaTeX3 project <[log in to unmask]>
Date:
Fri, 22 Apr 2011 20:48:03 -0400
Reply-To:
Mailing list for the LaTeX3 project <[log in to unmask]>
Subject:
MIME-Version:
1.0
Message-ID:
In-Reply-To:
Content-Type:
text/plain; charset=ISO-8859-1
From:
Bruno Le Floch <[log in to unmask]>
Parts/Attachments:
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]: http://github.com/latex3/svn-mirror/issues/17
>>
>> 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.

Regards,
Bruno

ATOM RSS1 RSS2