thanks a lot for your response. I started playing with Nim and I really like it. There are a variety of tools in data science such as numpy, pandas, torch, jax, etc. where all do part of the job.
I guess the main potential of Nim would be in writing parts of code for better efficiency. I believe Nim can completely replace `Cython` language in that sense, which is very unrobust. Also, with multi-processing feature, Nim can be super useful. I was working on a project which I implemented by C++ & Pybind11 but debugging the whole code took more than 1 week. I did it in a couple of hours by Nim. So, clean code of Nim should not be ignored. I agree about integration with Numpy but I guess it would need some work because in Numpy the underlying data is always in a big consecutive chunk of memory but it uses a `View` or `Stride` technique to manage the way this data is indexed. For example, if data is 1-dim the stride=1 which means by changing the index I move 1 step in the memory. But now assume the same and I put a stride = (1,8), then it means the first index always moved with 1 step bit second index by 8. This can be interpreted as as 2D n x 8 matrix.