Pandas like features

Laeeth Isharc laeeth at laeeth.com
Tue Nov 3 22:51:14 UTC 2020


On Friday, 30 October 2020 at 20:32:32 UTC, bachmeier wrote:
> On Friday, 30 October 2020 at 18:23:38 UTC, Abdulhaq wrote:
>
>> I would like to see D have a numpy equivalent but 
>> realistically you won't duplicate the numy ecosystem here, 
>> it's too much work. And why do it? Just wrap up the numpy 
>> ecosystem from D and use it like that.
>
> I would love to see this. A project to use the functionality of 
> Python, R, and Julia from inside a D program with little 
> effort. William Stein did something like that with SageMath, 
> but from a different angle. I can say the R part is simple. 
> (Not only the parts written in R, but any underlying C, C++, or 
> Fortran code with R bindings as well.) I wouldn't expect it to 
> be much harder for the other languages, but since I don't work 
> with them, I can't say. The advantage of D would be the new 
> functionality you write in D on top of the existing 
> functionality in those languages.

We can call C++ libraries from our little language written in D 
and you can even write C++ inline, compile it at runtime and call 
it thanks to Cling.

Can call python although it's not yet in master.  Initially via 
pyd but people have their own particular versions, installs and 
setups so instead moving to RPC over named pipes using nanomsg.  
That should generalise to anything other languages we would want 
to call too.  Serialisation and deserialisation isn't dirt cheap 
but the idea isn't to write inner loops in python.

There's a lot more overhead doing it this way - it's not for 
free.  But it is valuable for internal use for the problems we 
currently have.

I have a little plugin that uses your R wrapper but it's not used 
by anyone yet.

Time taken to a first version matters for us.  The first version 
doesn't usually need to be fast for user code.  This should allow 
us to access libraries without having to combine that with 
language choices.

In time I figure we could use cling to generate declarations and 
light wrappers for C++ too.

Robert Schadek made a beginning on Julia integration work but we 
haven't had time to do more than that.



More information about the Digitalmars-d mailing list