Thanks @Craige_Hales ! I like it. Let me see if I can work it into the next Challenge. Should we try to avoid any iteration or just For (and its derivatives)? One way of avoiding iteration is through expression evaluation. If you're unfamiliar with this approach, check out @joseph_morgan 's Discovery tutorial, point 1. For the above problem, the function might look something like this:
convertNumberToCharacter = Function({inList},{i=1,outList={}},
outList[1::N Items(inList)] = Expr(Char(inList[i++]));
Eval List(outList);
);
/* You can check it out using the code below.
tStart = HP Time();
alist = As List(J(10000,1,Random Normal(1e6,1e5)));
newList = convertNumberToCharacter(alist);
Print((HP Time()-tStart)/1e6);
*/
I have tried this in a few of the Challenges and, while succinct, tends to take longer and is harder to understand (unless you are fairly familiar with expression handling).