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. 

Reply via email to