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.

Reply via email to