Closed segeljakt closed 1 year ago
For these datatypes there are matching implementations we can use in Rust. However the interfaces for these datatypes are not compatible with the Arc-Script type system. Therefore we will have to create a layer of wrappers, possibly introducing some extra overhead, to simplify the interfaces. The two most important ADTs are DataFrames and Tensors. For these we can reuse the ndarray
and polars
libraries. In addition, these two libraries have interoperability with each other which could lead to some interesting use cases.
Arc-Script Tensor <==> Rust Tensor Wrapper <==> ndarray
Arc-Script DataFrame <==> Rust DataFrame Wrapper <==> polars
Following is a list of datatypes which we might need to add in arc-script (imported ADTs). Their actual implementations will be outside of Arc-Script, in Arcon/Arctime/Rust.
All collections can 1) be iterated/streamed, 2) persisted, 3) passed around as any other value.