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<lindaalv...@verizon.net>   
>> 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

Reply via email to