Hi,

Just came across this curiosity that IMO may help us to design physical
types in the future.

Not sure if this was mentioned before, but it seems to me that
`DaysMilliseconds` and `MonthDayNano` belong to a broader class of physical
types "typed tuples" in that they are constructed by defining the tuple
`(t_1,t_2,...,t_N)` where t_i (e.g. int32) is representable in memory for a
given endianess, and each element of the array is written to the buffer
back to back as `<t1 in endianess><t2 in endianess>...<tN in endianess>`.

Primitive arrays such as e.g. `Int32Array` are the extreme case where the
tuple has a single entry (t1,), which leads to `<int32 in endianess>`. The
others are:
* DaysMilliseconds = (int32, int32)
* MonthDayNano = (int32, int32, int64)

In principle, we could re-write the in-memory layout page in these terms
that places all the types above in the same "bucket".

Best,
Jorge

Reply via email to