Assuming transposing works, you could do [[a,a,a]' ; [a,a,a]'] which isn't 
entirely horrible

On Wednesday, February 25, 2015 at 5:50:04 PM UTC-5, Simon Danisch wrote:
>
> Okay... So how do I realize:
> a = vec3(...)
> [ a a a ; a a a]
>
> Well, all I think is, that arrays of arrays get treated like second class 
> citizens, as it is harder to work with them in the same way, as it would be 
> possible with concatenating ;)
> This is especially relevant with FixedSizeArrays coming up, as they allow 
> for tightly packed array of arrays.
> What I mean becomes obvious, if you look at the number of constructors:
> [a,b,c] for non concatenating
> vs
> [a;b;c;], [a b c], [a b c; a b c] (+ some variations) for concatenation
>
>
> 2015-02-25 23:24 GMT+01:00 Jeff Bezanson <[email protected] 
> <javascript:>>:
>
>> Transposing [vec1, vec2, vec3] will absolutely work. I think the issue
>> you saw with it was specific to ImmutableArrays. I don't know why they
>> have that behavior.
>>
>> On Wed, Feb 25, 2015 at 5:21 PM, Simon Danisch <[email protected] 
>> <javascript:>> wrote:
>> > I mean, my whole busyness is about constructing matrices of Vec2/3/4, 
>> which
>> > inherit from DenseArray.
>> > So I'm basically forced, if I'm not missing something, to do quite a 
>> bit of
>> > work to get my [vec1 vec2 vec3] going.
>> > Especially, as transpose([vec1, vec2, vec3]) doesn't seem to work, bug 
>> or
>> > not isn't known to me.
>> >
>> > 2015-02-25 23:18 GMT+01:00 Simon Danisch <[email protected] 
>> <javascript:>>:
>> >>
>> >> Well, the issue raised here was, how do you realize non concatening [a 
>> b
>> >> c]? This seems impossible now, even though that there are quite a few 
>> use
>> >> cases for it...
>> >>
>> >> 2015-02-25 23:13 GMT+01:00 Stefan Karpinski <[email protected] 
>> <javascript:>>:
>> >>>
>> >>> I actually think the plan of [a,b,c] for construction without
>> >>> concatenation and [a;b;c] and [a b c] for concatenation is pretty 
>> good. I no
>> >>> longer feel that there's any need for a new bracket like [| |]. The 
>> thing
>> >>> that clicked for me is that [a;] isn't really concatenation at all 
>> anyway.
>> >>>
>> >>> On Wed, Feb 25, 2015 at 4:58 PM, Simon Danisch <[email protected] 
>> <javascript:>>
>> >>> wrote:
>> >>>>
>> >>>> As Julia was the first language to introduce me to this kind of
>> >>>> constructs, I'm not sure about your used terms.
>> >>>> Concatenate for me would firstly mean, to just connect elements 
>> (that's
>> >>>> at least what the German translation suggests), which I would apply 
>> to the
>> >>>> process of putting the elements together into one array. The 
>> elements in my
>> >>>> case are the Vectors.
>> >>>> You seem to use it as synonymous with concatenation + flattening
>> >>>> (sticking to the function names I guess).
>> >>>> I'd say [a,b] is supposed to concatenate, but shouldn't flatten, 
>> right?
>> >>>> So yes, different syntax for concatenating, and 
>> concatenating+flattening
>> >>>> would make this case much, much clearer.
>> >>>> Then it's not this fuzzy magic thing, that sometimes happens and
>> >>>> sometimes not and both clearly encapsulates a concept and use the 
>> same basic
>> >>>> syntax.
>> >>>> So:
>> >>>> [vec, vec] => [vec, vec] # With optional typing, ensuring that you 
>> don't
>> >>>> end up with Any[]
>> >>>> [vec vec] => [vec vec]  # With optional typing, ensuring that you 
>> don't
>> >>>> end up with Any[]
>> >>>>
>> >>>> [| vec, vec |] => [el1, el2, el3, el4, ...]# With optional typing,
>> >>>> ensuring that you don't end up with Any[]
>> >>>> [| vec vec |]  => [el el2 ; el3 el4]# With optional typing, ensuring
>> >>>> that you don't end up with Any[]
>> >>>>
>> >>>> I do think, that this is very clear and consistent and doesn't leave
>> >>>> anything in doubt!
>> >>>>
>> >>>>
>> >>>> Am Mittwoch, 25. Februar 2015 19:00:01 UTC+1 schrieb Simon Danisch:
>> >>>>>
>> >>>>> Hi there,
>> >>>>> I thought default concatenation was deprecated, to make it easier to
>> >>>>> create arrays of arrays... But it became rather impossible and 
>> confusing in
>> >>>>> the horizontal case, from what I see.
>> >>>>> Is there really not a single method left from the few ways in 0.35 
>> of
>> >>>>> creating a horizontal vector of vectors?
>> >>>>> 0.4:
>> >>>>>
>> >>>>> 
>> https://gist.github.com/SimonDanisch/6972c1c090c608738e83#file-cat0-4-jl
>> >>>>> 0.3.5:
>> >>>>>
>> >>>>> 
>> https://gist.github.com/SimonDanisch/058ef76b2583c620b667#file-cat3-5-jl
>> >>>>>
>> >>>>> Am I missing something, or is this a bug?!
>> >>>>>
>> >>>>> Best,
>> >>>>> Simon
>> >>>
>> >>>
>> >>
>> >
>>
>
>

Reply via email to