Just like StaticArrays.jl has the nice SA[...] constructor, it should be possible to implement some easier-to-type HybridArray constructors. My suggestions would be a function HybridArray(n1,n2,...) which returns the type given by the arguments: either static if argument is an Integer, or dynamic otherwise (with another suggestion being to use either - or : as a shortcut for dynamic dimension). For example, HybridArray(2,:) would be a simpler alias for HybridArray{Tuple{2,StaticArrays.Dynamic()}}. (this is probably quite simple to code).
Another possibility which comes to mind would be to use cartesian product, so that, say, Vector*SVector{3} is computed as HybridArray{Tuple{StaticArrays.Dynamic(),3}}.
Just like
StaticArrays.jlhas the niceSA[...]constructor, it should be possible to implement some easier-to-typeHybridArrayconstructors. My suggestions would be a functionHybridArray(n1,n2,...)which returns the type given by the arguments: either static if argument is anInteger, or dynamic otherwise (with another suggestion being to use either-or:as a shortcut for dynamic dimension). For example,HybridArray(2,:)would be a simpler alias forHybridArray{Tuple{2,StaticArrays.Dynamic()}}. (this is probably quite simple to code).Another possibility which comes to mind would be to use cartesian product, so that, say,
Vector*SVector{3}is computed asHybridArray{Tuple{StaticArrays.Dynamic(),3}}.