Print

Print


On 15/09/2014 05:55, aparsloe wrote:
> I have found a number of instances where I have wanted to generate a
> variant with varying degrees of branching, e.g.
> 
> \cs_generate_variant:Nn \tl_case:Nn { No }
> \cs_generate_variant:Nn \tl_case:NnT { No }
> \cs_generate_variant:Nn \tl_case:NnF { No }
> 
> I find myself envious of the functionality available with
> \prg_new_conditional:Npnn and its ilk where multiple degrees of
> branching can be coded in a single statement using a subset of { p, F,
> T, TF }. It would be nice to be able to write something similar, e.g.
> 
> \cs_generate_variant:Nnn \tl_case:Nn { No } { , F, T }
> 
> where the empty slot before the first comma denotes the nonbranching
> variant.
> 
> I don't imagine I'm the first to have thought this, so presumably there
> is good (or at least some) reason for not providing the functionality.
> It would be good to know.
> 
> Andrew

I don't remember any technical reasons for not doing this: I guess
primarily we've not needed it often enough.

Probably this would go into \prg_... as it's only applicable to
conditionals (we have \prg_new_eq_conditional:NNn and
\prg_set_eq_conditional:NNn). I guess something like
\prg_generate_conditional_variant:Nnn would be an appropriate name.

Thoughts?
--
Joseph Wright