kevingurney opened a new pull request, #38357:
URL: https://github.com/apache/arrow/pull/38357

   ### Rationale for this change
   
   Now that many of the commonly-used "primitive" array types have been added 
to the MATLAB interface, we can implement an `arrow.array.ListArray` class.
   
   This pull request adds a new `arrow.array.ListArray` class which can be 
converted to a MATLAB `cell` array by calling the static `toMATLAB` method.
   
   ### What changes are included in this PR?
   
   1. Added a new `arrow.array.ListArray` MATLAB class.
   2. Added a new `arrow.type.traits.ListTraits` MATLAB class.
   
   ### Are these changes tested?
   
   Yes.
   
   1. Added a new `tListArray.m` test class.
   
   ### Are there any user-facing changes?
   
   Yes.
   
   1. Users can now create an `arrow.array.ListArray` from an `offsets` and 
`values` array. `ListArray`s can be converted into MATLAB `cell` arrays by 
calling the static `arrow.array.ListArray.toMATLAB` method.
   
   ### Notes
   
   1. We chose to use the "missing-class" `missing` value as the 
`NullSubstitutionValue` for the time being for `ListArray`. However, we 
eventually want to add `arrow.array.NullArray`, and will most likely want to 
use the "missing-class" `missing` value to represent `NullArray` values in 
MATLAB. So, this could cause some ambiguity in the future. We have been 
thinking about whether we should consider introducing some sort of special 
"sentinel value" to represent null values when converting to MATLAB `cell` 
arrays. Perhaps, something like `arrow.Null`, or something to that effect, in 
order to avoid this ambiguity. If we think it makes sense to do that, we may 
want to retroactively change the `NullSubstitutionValue` to be `arrow.Null` and 
break compatibility. Since we are still in pre-`0.1`, we don't think the impact 
of such a behavior change would be very large.
   2. Implementing `ListArray` is fairly involved. So, in the spirit of 
incremental delivery, we chose not to include an implementation of 
`arrow.array.ListArray.fromMATLAB` in this initial pull request. We plan on 
following up with some more changes to `arrow.array.ListArray` in #38353 and 
#38354.
   
   ### Future Directions
   
   1. #38353
   2. #38354
   3. Consider adding a null sentinel value like `arrow.Null` for conversion to 
MATLAB `cell` arrays.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to