I actually met Trenchard More back in the 1990s and we discussed his array 
theory and my ordinal fraction theory. It was a very pleasant meeting. 
- Bo.



Den 4:48 onsdag den 10. september 2014 skrev Raul Miller 
<rauldmil...@gmail.com>:
 

>
>
>Just use http://kx.com/software-download.php if that is what you want?
>
>Thanks,
>
>-- 
>Raul
>
>On Tue, Sep 9, 2014 at 10:39 PM, Michal D. <michal.dobrog...@gmail.com> wrote:
>> I meant that +/"1 in our fantasy language would be the equivalent of +/&.>
>> in J.
>>
>> Cheers,
>>
>> Mike
>>
>> On Tue, Sep 9, 2014 at 8:15 AM, Linda Alvord <lindaalv...@verizon.net>
>> wrote:
>>
>>> I thought Michal was indicating at the end of his message that these were
>>> the same.
>>>
>>> >Something like +/"1 x instead of +/&.> x (obviously there's not much
>>> >difference here).
>>>
>>> Linda
>>>
>>> -----Original Message-----
>>> From: programming-boun...@forums.jsoftware.com [mailto:
>>> programming-boun...@forums.jsoftware.com] On Behalf Of Michal D.
>>> Sent: Tuesday, September 09, 2014 1:14 AM
>>> To: programm...@jsoftware.com
>>> Subject: Re: [Jprogramming] Ragged Array Shapes are Trees
>>>
>>> One can imagine that it's possible for
>>>
>>>    ] x =. (<@i."0) 1+i.3
>>> +-+---+-----+
>>> |0|0 1|0 1 2|
>>> +-+---+-----+
>>>
>>> to be laid out in memory as [0 0 1 0 1 2] with an additional vector
>>> representing the starting point of each rank-1 array [0 1 3 6].  I would be
>>> willing to wager a large sum that this is much more computationally
>>> efficient than having a representation where each rank-1 array is floating
>>> off somewhere in memory [0] [0 1] [0 1 2] with an array of pointers to
>>> them.
>>>
>>> Of course this representation is possible, but somewhat verbose, to do
>>> manually in J (http://dl.acm.org/citation.cfm?id=804488).  That's why I'm
>>> fantasizing about a language where such a representation would be closer to
>>> the core of the language.
>>>
>>> Something like +/"1 x instead of +/&.> x (obviously there's not much
>>> difference here).
>>>
>>> Like we've both suggested, it may be that boxing with a sufficiently
>>> optimized interpreter is the solution.
>>>
>>> Cheers,
>>>
>>> Mike
>>>
>>> On Mon, Sep 8, 2014 at 8:10 AM, Raul Miller <rauldmil...@gmail.com> wrote:
>>>
>>> > What does this mean "shapes extended to support ragged arrays without
>>> > boxing"?
>>> >
>>> > K has ragged arrays without boxing, but K's concept of shape only
>>> > applies to the non-ragged prefix dimensions.
>>> >
>>> > Meanwhile, it seems to me that the guarantee you suggest would be
>>> > computationally expensive.
>>> >
>>> > (Not saying the ideas shouldn't be explored, but I suspect what you
>>> > are really after is a more efficient boxing implementation and that
>>> > will lead in an entirely different direction.)
>>> >
>>> > Thanks,
>>> >
>>> > --
>>> > Raul
>>> >
>>> >
>>> > On Mon, Sep 8, 2014 at 11:01 AM, Michal D. <michal.dobrog...@gmail.com>
>>> > wrote:
>>> > > Thanks Pascal, that's a nice formulation for the 2-level deep case.  It
>>> > > breaks down of course for deeper nesting but could serve as a base.
>>> > >
>>> > >     ([:|. $ ;~ $ each) ((i.2 3);(,0)) ; (i. 2 3)
>>> > > +-+-------+
>>> > > |2|+-+---+|
>>> > > | ||2|2 3||
>>> > > | |+-+---+|
>>> > > +-+-------+
>>> > >
>>> > > There's no specific problem I'm trying to solve directly in J at the
>>> > > moment.  It's more of a language design problem.  My interest in this
>>> is
>>> > a
>>> > > J like language, but with shapes extended to support ragged arrays
>>> > without
>>> > > boxing.  Failing that, we could have some optimization guarantees like
>>> > 'an
>>> > > array of boxes containing equal rank values are allocated
>>> contiguously'.
>>> > >
>>> > > Cheers,
>>> > >
>>> > > Mike
>>> > >
>>> > >
>>> > >
>>> > > On Sat, Sep 6, 2014 at 9:28 AM, 'Pascal Jasmin' via Programming <
>>> > > programm...@jsoftware.com> wrote:
>>> > >
>>> > >> Hi Michal,
>>> > >>
>>> > >> maybe this is an interesting representation for what you want?
>>> > >>
>>> > >>    ([:|. $ ;~ $ each) (i. 2 3) ; (,0) ; 0 1
>>> > >> ┌─┬─────────┐
>>> > >> │3│┌───┬─┬─┐│
>>> > >> │ ││2 3│1│2││
>>> > >> │ │└───┴─┴─┘│
>>> > >> └─┴─────────┘
>>> > >>
>>> > >>
>>> > >>
>>> > >> ----- Original Message -----
>>> > >> From: Michal D. <michal.dobrog...@gmail.com>
>>> > >> To: programm...@jsoftware.com
>>> > >> Cc:
>>> > >> Sent: Saturday, September 6, 2014 12:06 PM
>>> > >> Subject: [Jprogramming] Ragged Array Shapes are Trees
>>> > >>
>>> > >> I just came to the realization that ragged array shapes, regardless of
>>> > how
>>> > >> you want to represent them, are trees.  I would be interested in any
>>> > >> references to prior exploration of this idea.
>>> > >>
>>> > >> Some example data (boxes are used to display ragged arrays, but
>>> > otherwise
>>> > >> have no semantic meaning):
>>> > >>
>>> > >>    ] A =. i. 2 3
>>> > >> 0 1 2
>>> > >> 3 4 5
>>> > >>    ] B =. (< @ i."0) 1+i.2
>>> > >> +-+---+
>>> > >> |0|0 1|
>>> > >> +-+---+
>>> > >>    ] C =. A ; B
>>> > >> +-----+-+---+
>>> > >> |0 1 2|0|0 1|
>>> > >> |3 4 5| |   |
>>> > >> +-----+-+---+
>>> > >>    ] D =. A ; < B
>>> > >> +-----+-------+
>>> > >> |0 1 2|+-+---+|
>>> > >> |3 4 5||0|0 1||
>>> > >> |     |+-+---+|
>>> > >> +-----+-------+
>>> > >>
>>> > >> The corresponding shape trees (monospace font required, root node is
>>> on
>>> > the
>>> > >> left):
>>> > >>
>>> > >> A: 2 - 3
>>> > >>
>>> > >>        1
>>> > >>      /
>>> > >> B: 2
>>> > >>      \
>>> > >>        2
>>> > >>
>>> > >>        2 - 3
>>> > >>      /
>>> > >> C: 3 - 1
>>> > >>      \
>>> > >>        2
>>> > >>
>>> > >>        2 - 3
>>> > >>      /
>>> > >> D: 2       1
>>> > >>      \   /
>>> > >>        2
>>> > >>          \
>>> > >>            2
>>> > >>
>>> > >> In some sense the shape tree for A is compressed, the verbose
>>> > alternative
>>> > >> being:
>>> > >>
>>> > >>        3
>>> > >>      /
>>> > >> A: 2
>>> > >>      \
>>> > >>        3
>>> > >>
>>> > >> Compressing D in a similar manner leaves the full shape of the tree
>>> > >> ambiguous - there is no way to distinguish the duplicate structure of
>>> > leaf
>>> > >> 3 from the structure of leaves 1, 2.
>>> > >>
>>> > >>            3
>>> > >>          /
>>> > >> D: 2 - 2 - 1
>>> > >>          \
>>> > >>            2
>>> > >>
>>> > >> We could resolving this ambiguity by listing the shapes of all the
>>> items
>>> > >> explicitly.  The problem here is that 'compression' could very easily
>>> > lead
>>> > >> to an increase in representation size, although it is nice and uniform
>>> > for
>>> > >> ragged arrays of uniform rank.
>>> > >>
>>> > >>             3
>>> > >>           /
>>> > >>          |  3
>>> > >>          | /
>>> > >> D: 2 - 2 +
>>> > >>          | \
>>> > >>          |  1
>>> > >>           \
>>> > >>             2
>>> > >>
>>> > >> Regardless of compression, I would be interested in prior work in
>>> > >> representing shapes of ragged arrays as trees.
>>> > >>
>>> > >> Cheers,
>>> > >>
>>> > >> Mike
>>> > >> ----------------------------------------------------------------------
>>> > >> For information about J forums see
>>> http://www.jsoftware.com/forums.htm
>
>>> > >>
>>> > >> ----------------------------------------------------------------------
>>> > >> For information about J forums see
>>> http://www.jsoftware.com/forums.htm
>>> > >>
>>> > > ----------------------------------------------------------------------
>>> > > For information about J forums see http://www.jsoftware.com/forums.htm
>>> > ----------------------------------------------------------------------
>>> > For information about J forums see http://www.jsoftware.com/forums.htm
>>> >
>>> ----------------------------------------------------------------------
>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>>
>>> ----------------------------------------------------------------------
>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>>
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
>----------------------------------------------------------------------
>For information about J forums see http://www.jsoftware.com/forums.htm
>
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to