You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
refactor: remove OptionalColumn, fold nullability into BoxedColumn/UnboxedColumn via bit-packed bitmap
Replace the three-constructor Column GADT (BoxedColumn, UnboxedColumn, OptionalColumn)
with a two-constructor design where BoxedColumn and UnboxedColumn carry an optional
bit-packed validity bitmap (Nothing = no nulls, Just bm = bit i is 1 when row i is valid).
- Bitmap = VU.Vector Word8, ceil(n/8) bytes, same format as Apache Arrow
- fromMaybeVec / toMaybeVec bridge the new storage and the Maybe a interface
- KindOf (Maybe a) now dispatches to RNullableBoxed or RNullableUnboxed
- Arrow FFI simplifies: Arrow validity buffers map directly to/from Bitmap
- CSV and Binary I/O updated; Parquet nullable column assembly fixed
- All 457 tests pass
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
0 commit comments