I would write it like this {G.pt ⍵}¨x1 y1,x2 y2,x3 y3 draws 3 points?
I'm not sure why it did that up there
because it delimits one list from another list
they are all after all lists from the first element.
because there is no concept of a scalar
therefore no need for ⊂ or ⊃
what I'm saying is there is no difference between a list of vectors and a table, but there is a difference between iterating over each in a table and iterating over each in a row
or in a column. but apl doesn't draw distinctions along those lines, which is a constant source of frustration because I have to do 12 rearrangements of my data just to get to the appropriate data structure
if I had 2 10⍴⍳20, I would expect ¨ to refer to each in terms of the table because i have a table, but instead it refers to each cell.... but hey that's iteration over a 1d vector
tables have rows and columns, but columns and rows have cells. so why is it that when I ¨ over a table I get each cell, so I have to convert the table to a vector of vectors, but a table IS a vector of vectors, so.... why?
so instead of allowing any sort of reference to a scalar, instead only perform vector operations. there are no scalar operations. just vectors of length ≥ 0
then do axis matching, (+ -) ⍨2 2⍴⍳4
is
1 2 + 1 2
3 4 - 3 4
the same way that regular matrix arithmetic is done
or with the idea of compartmentalize {G.pt ⍵}¨2⊂x1 y1 x2 y2 x3 y3
@dzaima to pass one it's simply {G.pt ⍵}¨x1 y1
it's just that there is no notion of boxing or unboxing. In any other language are you familiar with a way of making a list that isn't enclosed?
no, they're all inside a box already.
a list is enclosed by default
and you can't unbox a list
the concept is redundant in the extreme. why would I ever want to say [[1,2,3]] I wouldn't. I'm suggesting that , should instead mean listify the thing on the right and on the left, there are now 2 lists, not 1. [1,2,3],[1,2,3], would result in [[1,2,3],[1,2,3]]. if you want [1,2,3,1,2,3], just write (where a←[1,2,3]) a a
because after all 1 is the same as (1) and therefore 1 1 is the same as (1 1) therefore (1 2 3) (1 2 3) is the same as 1 2 3 1 2 3
but (1 2 3), (1 2 3) is the same as ((1 2 3)(1 2 3))
which would be the same as
1 2 3
1 2 3
because a table is a vector of vectors
and a scalar is nothing but a 1 item vector