Mason use cases in Arkouda
There are two main use cases in mind with Mason in Arkouda.
The first use case is moving standalone modules such as sort, set operations, etc. to their own mason packages so that it is easy to create a program that tests/uses specific functionality in Arkouda in a standalone environment. This case is relatively straight-forward and would just require adding the module as a dependent module in the Arkouda build.
The second is having things like the Arkouda-contrib packages be mason packages that could be easily pulled into the Arkouda build and housed as mason packages. This is a much more difficult case, where we would need three things: (1) the functional code as a Chapel module (2) the Arkouda-specific server code and (3) the client code. It is still up for discussion as to whether this is what we want the functionality of mason to be.