On 10/03/2014 08:37, Itai Seggev wrote:> On Sat, Mar 08, 2014 at 02:42:31AM > > I'm not sure what your use case is. F[x] will of course stay unevluated until > x has some value which F knows what to do with... > > -- > Itai Seggev > Mathematica Algorithms R&D > 217-398-0700 > A typical use would be an expression like When[NumberQ[x],ToString[x]]
Somehow everyone seems to be missing the point here - of course I can solve the problem by writing some code - indeed I gave a solution in my original post - but lots of Mathematica functions can be replaced by other expressions using more primitive functions, but such functions are provided for convenience and expressiveness.
Supplying an expression that only evaluates when some condition is true, seems a pretty useful feature.
The difference between If and When, is obvious:
When delays evaluation until is condition is True.
If you want to hold an expression until (and unless) some condition is satisfied, When would seem to me to be the most expressive way to write this.