Programming in Mathematica - Maeder, Roman E. (Addision Wesley Pub., 1997)