Raul, I have now looked at your references on frame and cell, and you
have done a real service providing the spectrum from the Primer's very
useful introduction through Roger's article on implementation. Thank
you /very/ much. Kip
> On 12/24/2011 8:17 AM, Raul Miller wrote:
>> Here is a utility which shows how J parcels arguments:
>>
>> aRgs=:1 :0
>> YRank=. #$y
>> URank=. 0>. YRank (] + [ * ]< 0:) {. u b. 0
>> ,: URank (}.;{.) $y
>> :
>> XRank=. #$x
>> YRank=. #$y
>> URank=. 0>. (XRank,YRank) (] + [ * ]< 0:) }. u b. 0
>> (({.URank) (}.;{.) $x) ,: ({:URank) (}.;{.) $y
>> )
>>
>> Example use:
>>
>> 1 + 1 2 3
>> 2 3 4
>>
>> 1 + aRgs 1 2 3
>> +-++
>> | ||
>> +-++
>> |3||
>> +-++
>>
>> The rows here represent the structure of the x and y arguments. The
>> first column is the shape of the "frame". The second column is the
>> shape of the "cells".
>>
>> If these concepts are unfamiliar, please review one or more references
>> on the subject. For example:
>>
>> http://www.jsoftware.com/help/primer/frame_and_cell.htm
>> http://www.jsoftware.com/help/dictionary/dicta.htm
>> http://www.jsoftware.com/help/dictionary/dictb.htm
>> http://www.jsoftware.com/papers/rank1.htm
>>
>> Generally speaking, however, the frames must agree (one must be a
>> prefix of the other) and the interpretation of the cells depends on
>> the verb being used.
>>
>> Here is the example you were asking about:
>>
>> d=:6 _5 7 3
>>
>> r=:<./,>./
>>
>> (-i.10)< aRgs 1 {. r d
>> +--++
>> |10||
>> +--++
>> |1 ||
>> +--++
>>
>> You can see here that the frames do not agree.
>>
>> --
>> Raul
>>
>> P.S. I sometimes have a problem where my mail client removes line ends
>> from my message. I believe I have averted that problem. However I
>> cannot test that this is the case except by sending the email message.
>> I the above message is garbled, you have my apologies.
>>
>> P.P.S. I am experimenting with a naming convention where the case of
>> the first two letters of a user defined name depend on the syntactic
>> type of that name: NOUN, Adverb, cONJUNCTION, verb
>>
>> On Fri, Dec 23, 2011 at 2:41 AM, Linda Alvord<[email protected]>
>> wrote:
>>>
>>> d=:6 _5 7 3
>>> r=: 13 :'(<./y),>./y'
>>> r
>>> <./ ,>./
>>> r d
>>> _5 7
>>> (-i.10)
>>> 0 _1 _2 _3 _4 _5 _6 _7 _8 _9
>>> 1{.r d
>>> _5
>>> (-i.10)<_5
>>> 0 0 0 0 0 0 1 1 1 1
>>>
>>> (-i.10)<1{.r d
>>> |length error
>>> | (-i.10)<1{.r d
>>>
>>> (-i.10)<(1{.r d)
>>> |length error
>>> | (-i.10)<(1{.r d)
>>>
>>> I want something like this, but this is a simple example of what doesn't
>>> work.
>>>
>>> Linda
>>>
>>> ----------------------------------------------------------------------
>>> 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