If you want additional references, here's a google search that finds a few others:
(site:jsoftware.com OR "jprogramming" OR "j programming") "frame" "cell" "rank" The quotes help eliminate bogus hits. -- Raul On Sat, Dec 24, 2011 at 2:55 PM, Kip Murray <k...@math.uh.edu> wrote: > 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 ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm