Thanks! Yes I did notice Arraymancer - it looks very exciting. Also I noticed Neo. I haven't tried them yet - will do that in the next few weeks.
For plotting I am most used to Python's matplotlib and Julia's PyPlot wrapper. I am also playing with gnuplot since it's supported by almost any language out there. There is a nim package for gnuplot, too, which is great. Will try it out. Just a question about Arraymancer + Neo (or any other linear algebra package). For a most useful quick demo to be compared to Matlab and Julia, these are the most useful functions I would need: * nd-arrays (vectors and matrices) of integer, floating number, or complex values. * Slicing, concatenation, transposing... these sorts of array operations. * Broadcast basic math functions to any array. * Linear algebra (e.g. matrix multiplication, solving linear equations). * Complex 1D FFT and IFFT - this one is very important. * Some digital signal processing functions, but that's less important. * All above, running in CPU only (with MKL and/or automated multi-threading e.g. for large FFT/IFFT); plus running in GPU with minimal code change - mostly only converting CPU arrays to GPU arrays, then converting them back after the computation. (In near future: Basic descriptive statistical functions; 1D and 2D linear and spline interpolation; 1D and 2D polynomial fitting; numerical integration; ODE solver.) I'm not expecting a comprehensive set of solutions in Nim today. However, would be really nice to know what already exists. :-) Thanks again for the answer, and for the amazing Nim & Arraymancer package!