On 24/12/2018 10:45, Frank Mittelbach wrote:
> Am 24.12.2018 um 10:22 schrieb Joseph Wright:
>>
>> Bear in mind that the code here is often optimised or is set up for
>> bootstrapping, particularly if you look at the early stuff.
>
> which is really another way of saying that the core kernel code is
> something that is not meant to (and in fact in many cases to able to)
> show expl3 coding conventions.
> For example, \exp_after:wN is something that in package code should be
> rarely if ever needed (and if you are using it then it usually means
> that you are thinking too much in the TeX model of expansion). However,
> while providing the core expl3 functionality it is obviously needed and
> so you will see that a lot in kernel code.
>
> Better places for understanding expl3 convention would therefore be
> packages such as siunitx etc or many of the answers given by @egreg on
> Stack Exchange.
I'm hoping to finish v3 of siunitx over the holidays or soon after: it's
probably a better model for *new* code than looking at the current
release. See https://github.com/josephwright/siunitx for the present.
Joseph