Since it's open-source you can check on your own :-). But the short answer is:
- The only support this needs is the Julia language itself. There is no need to have it in Base (i.e., no disadvantage to having it in a package), nor does it use any features of julia that aren't there for other reasons, too. It does not access any "magic" internals. - I think it's not in the AbstractArray hierarchy, but AFAIK this is essentially for the purpose of avoiding a whole slew of ambiguity warnings. In principle there is no reason not to have this part of the AbstractArray hierarchy. - In FixedSizeArrays, tuples are used for the underlying storage. Therefore they are (1) blazingly fast to create, (2) often stored on the stack rather than the heap (and take only enough space for the elements themselves) and sometimes elided by the compiler, so they are also blazingly fast to use, and (3) immutable in value (you can't change elements after creation). FlexibleArrays may offer more options (including mutable storage), but I'm less familiar with it. Best, --Tim On Monday, April 18, 2016 05:03:55 PM Didier Verna wrote: > Tim Holy <[email protected]> wrote: > > https://github.com/SimonDanisch/FixedSizeArrays.jl and > > https://github.com/eschnett/FlexibleArrays.jl > > Thanks. What I'm actually interested in is how deep in the language > this needs to be grounded, since I guess this is not based on the > AbstractArray interface. Does it need to access the language's > internals ? How's the underlying storage done and is it as efficient > as Julia's native arrays ? > > Thank you.
