Sat, 20 Jul 2013 22:47:46 -0400
On 7/20/13, Joseph Wright <[log in to unmask]> wrote:
> On 17/07/2013 10:39, Michiel Helvensteijn wrote:
>>> Well, there are very many conditionals in expl3, and experience has
>>> shown that the specifiers T and F are useful for visibility (they
>>> would be even if we only provided the TF versions of conditionals and
>>> not both T and F too).
>> Oh, I love T and F.
>> Slightly off-topic question: why are there no FT variants? I've
>> encountered situations where it would have made the control flow a lot
>> more readable. This is certainly not critical but also, I expect,
>> quite painless to add.
> At one point we did have a few, but it overall seemed clearer to go with
> always having the T branch first, if at all. No technical reasons.
> Joseph Wright
One slight reason is that the FT variants would be slightly slower,
because \prg_return_true: and \prg_return_false: have a hard-wired
\use_i:nn and \use_ii:nn. Also, we don't provide any way to say "here
is a TF conditional, make me an FT one", so we would either have to
provide FT versions of the expl3 conditionals in the kernel (hence
quite many cs) or the feature would only be used by user-defined
conditionals. But then it seems that the feature would be just
tacked-on to the language, and it would not be very practical to use.