On 04/12/2008, at 3:03 AM, Arno Trautmann wrote:

> why is \if:w, but \if_meaning:NN, \if_cs_meaning:NN and  
> \if_token_eq:NN?
> The syntax is the same in all cases  I would have expected :w after  
> all.

\if:w corresponds to the primitive \if, whereas \if_meaning:NN and so  
on are \ifx. From TeX by Topic:

> After \if TEX will expand until two unexpandable tokens are  
> obtained, so it is necessary to prefix expandable control sequences  
> and active characters with \noexpand when testing them with \if.

So while \if does take two tokens as input, it will also expands them  
in a weird kind of way; actually, it might even be possible to name it  
\if:ff ! But I'm not really for that idea :)

* * *

Regarding the three different names for \ifx -- yes, that needs to be  
cleaned up; but in the end there still may well be more than one name  
for it. (Well, I'm not opposed to the idea, at least.)