💾 Archived View for blitter.com › apl-books › APLSE › www.sigapl.org › Archives › waterloo_archive ›… captured on 2024-08-18 at 19:33:47.
⬅️ Previous capture (2022-07-17)
-=-=-=-=-=-=-
From owner-jsoftware@lists.interlog.com Sun Jan 31 18:45:36 1999 Organization: S&PE Telematika From: "ASB" <asb@lnk.tm.odessa.ua> Subject: Jforum: matrix rotating Date: Mon, 1 Feb 1999 01:32:35 +0200 In APL I can rotate rows of matrix independently. Can I do this in J in some simple way? -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Sun Jan 31 18:57:58 1999 Delivered-To: fixup-forum@jsoftware.com@fixme Date: Sun, 31 Jan 1999 15:49:05 -0800 From: greg heil <gheil@uswest.net> Subject: Re: Jforum: matrix rotating References: <199901312335.BAA12000@Tele.TM.Odessa.UA> ASB wrote: > In APL I can rotate rows of matrix independently. Can I do this in J in some simple way? Try variants of 1 2 3 |."0 1 i.3 5 1 2 3 4 0 7 8 9 5 6 13 14 10 11 12 Key is " (rank) operator. greg heil mailto:gheil@acm.org http://www.scn.org/tl/anvil -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Sun Jan 31 19:53:56 1999 From: "Jay Daulton" <jovenova@earthlink.net> Subject: Jforum: Re: wdview Date: Sun, 31 Jan 1999 16:53:49 -0800 charset="iso-8859-1" Is there an alternative script to the supplied windows text viewer - wdview - that can handle more than 20K bytes? I have an application that would require upwards of 3 megs. I am using J3.05b. Jay Daulton -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Sun Jan 31 23:51:16 1999 From: "John D. Baker" <bakerjd@kos.net> Subject: Re: Jforum: Re: wdview Date: Sun, 31 Jan 1999 22:34:11 -0500 charset="iso-8859-1" The text viewer uses a standard windows control and the amount of text it can handle is os dependent. For win 3.1x, 95/98 20k sounds about right. Under NT you can safely go up to 2megs. For 3megs you need to get ahold of a good windows text editor that can be be run by winexec commands or embedded as an ole/activeX control on a J form. -----Original Message----- From: Jay Daulton <jovenova@earthlink.net> Date: Sunday, January 31, 1999 7:48 PM Subject: Jforum: Re: wdview >Is there an alternative script to the supplied windows text viewer - > wdview - that >can handle more than 20K bytes? I have an application that would require >upwards of 3 megs. >I am using J3.05b. > > >Jay Daulton > > >--------------------------------------------------------------------------- ----- >J Forum: for information about this list, see http://www.jsoftware.com/forum.htm > -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Mon Feb 1 11:56:14 1999 References: <016001be4ba3$254cdfa0$360b14d1@f3nbp> Organization: Voxel From: "Andrew Nikitin" <nsg@voxel.kharkov.ua> Date: Mon, 1 Feb 1999 13:21:19 +0200 (EET) Subject: Jforum: @: and [: 10 ([: >: <.@^.)1208021x 7 10 (>: @: <.@^.)1208021x |domain error | 10 (>:@:<.@^.)1208021 After some meditation i have decided that such behaviour is completely correct, but it still looks some puzzling. BTW, this example shows that composition in J isn't associative as it is in mathematic, so, be careful. nsg -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Mon Feb 1 12:15:16 1999 From: "Seymour Glass" <glasss@mindspring.com> Subject: Re: Jforum: @: and [: Date: Mon, 1 Feb 1999 11:58:47 -0500 Why is this behavior correct? Since 10 ^. 1208021x |domain error I would have thought that 10 ([: >: <.@^.)1208021x would fail too. Why doesn't it? It looks like the 1208021x is being converted to 1208021, but I don't see why. Henry Rich -----Original Message----- From: Andrew Nikitin <nsg@voxel.kharkov.ua> Date: Monday, February 01, 1999 11:39 Subject: Jforum: @: and [: > > 10 ([: >: <.@^.)1208021x >7 > 10 (>: @: <.@^.)1208021x >|domain error >| 10 (>:@:<.@^.)1208021 > >After some meditation i have decided that such behaviour is completely >correct, but it still looks some puzzling. > >BTW, this example shows that composition in J isn't associative as it is in >mathematic, so, be careful. > > >nsg > > > >--------------------------------------------------------------------------- ----- >J Forum: for information about this list, see http://www.jsoftware.com/forum.htm -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Mon Feb 1 12:53:14 1999 Date: Mon, 1 Feb 1999 19:38:45 +0200 (EET) From: Oleg Kobchenko <gccinc@usa.net> Subject: Re: Jforum: @: and [: In-Reply-To: <001401be4e04$250876e0$f7a956d1@seymourg> Also ineteresting is 10 ^.&<. 1208021 6.08207 10 ^.&<. 1208021x |domain error | 10 ^.&<.1208021 On Mon, 1 Feb 1999, Seymour Glass wrote: > Why is this behavior correct? Since > > 10 ^. 1208021x > |domain error > > I would have thought that 10 ([: >: <.@^.)1208021x > would fail too. Why doesn't it? It looks like the > 1208021x is being converted to 1208021, but I don't > see why. > > Henry Rich > > -----Original Message----- > From: Andrew Nikitin <nsg@voxel.kharkov.ua> > To: forum@JSoftware.Com <forum@JSoftware.Com> > Date: Monday, February 01, 1999 11:39 > Subject: Jforum: @: and [: > > > > > > 10 ([: >: <.@^.)1208021x > >7 > > 10 (>: @: <.@^.)1208021x > >|domain error > >| 10 (>:@:<.@^.)1208021 > > > >After some meditation i have decided that such behaviour is completely > >correct, but it still looks some puzzling. > > > >BTW, this example shows that composition in J isn't associative as it is in > >mathematic, so, be careful. > > > > > >nsg > > > > > > > >--------------------------------------------------------------------------- > ----- > >J Forum: for information about this list, see > http://www.jsoftware.com/forum.htm > > > > -------------------------------------------------------------------------------- > J Forum: for information about this list, see http://www.jsoftware.com/forum.htm > -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Mon Feb 1 13:32:48 1999 From: "Seymour Glass" <glasss@mindspring.com> Subject: Re: Jforum: @: and [: Date: Mon, 1 Feb 1999 13:19:24 -0500 I see now. The key is in Dictionary II.G para. 1, which says that '<.@f and >.@f produce entended integer results when applied to extended integer arguments'. So 10 ^. 1000001x |domain error | 10 ^.1000001 10 ^. 1000000x 6 10 <.@^. 1000001x 6 but: 10 <.@:^. 1000001x |domain error | 10 <.@:^.1000001 Here is another interesting tidbit: 10 (^. 1001"_) 1001x 3.00043 I expected this to fail, because 10 would be converted to extended by the larger verb and then applied to ^. . But apparently this didn't happen. Dictionary II.G says 'dyadic functions...convert their arguments to the same type'. Apparently the conversion is performed only by the 'primitive functions' referred to earlier in the paragraph. Henry Rich -----Original Message----- From: Oleg Kobchenko <gccinc@usa.net> Date: Monday, February 01, 1999 12:39 Subject: Re: Jforum: @: and [: >Also ineteresting is > > 10 ^.&<. 1208021 >6.08207 > 10 ^.&<. 1208021x >|domain error >| 10 ^.&<.1208021 > > >On Mon, 1 Feb 1999, Seymour Glass wrote: > >> Why is this behavior correct? Since >> >> 10 ^. 1208021x >> |domain error >> >> I would have thought that 10 ([: >: <.@^.)1208021x >> would fail too. Why doesn't it? It looks like the >> 1208021x is being converted to 1208021, but I don't >> see why. >> >> Henry Rich >> >> -----Original Message----- >> From: Andrew Nikitin <nsg@voxel.kharkov.ua> >> To: forum@JSoftware.Com <forum@JSoftware.Com> >> Date: Monday, February 01, 1999 11:39 >> Subject: Jforum: @: and [: >> >> >> > >> > 10 ([: >: <.@^.)1208021x >> >7 >> > 10 (>: @: <.@^.)1208021x >> >|domain error >> >| 10 (>:@:<.@^.)1208021 >> > >> >After some meditation i have decided that such behaviour is completely >> >correct, but it still looks some puzzling. >> > >> >BTW, this example shows that composition in J isn't associative as it is in >> >mathematic, so, be careful. >> > >> > >> >nsg >> > >> > >> > >> >--------------------------------------------------------------------------- >> ----- >> >J Forum: for information about this list, see >> http://www.jsoftware.com/forum.htm >> >> >> >> ------------------------------------------------------------------------- ------- >> J Forum: for information about this list, see http://www.jsoftware.com/forum.htm >> > > >--------------------------------------------------------------------------- ----- >J Forum: for information about this list, see http://www.jsoftware.com/forum.htm -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Tue Feb 2 09:32:16 1999 From: "Nichols, Peter" <pnichols@sprinc.com> Subject: Jforum: Amending columns in a matrix Date: Fri, 29 Jan 1999 15:25:17 -0600 charset="iso-8859-1" Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by lists.interlog.com id JAA23049 Given a simple matrix a=:i.3 3 a 0 1 2 3 4 5 6 7 8 I can get the second column. 1{"1 a 1 4 7 But if I try to amend it in an intuitive way. (12 13 14) 1}"1 a �rank error � (12 13 14) 1}"1 a What is the J equivalent of APL's a[;1]assign iota 3 Thanks -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Tue Feb 2 10:19:49 1999 Date: Tue, 02 Feb 1999 10:00:00 -0500 From: Cliff Reiter <reiterc@lafvax.lafayette.edu> Subject: Re: Jforum: Amending columns in a matrix Organization: Lafayette College Content-type: text/plain; charset=iso-8859-1 References: <01074BD4EEC4D1118E3200805F6542A7177DAE@SPRDALLAS2.lafayette.edu> A solution to your question using rank is (read it as amend position 1 in each row) 12 13 14 (1)}"0 1 i.3 3 0 12 2 3 13 5 6 14 8 More generally 12 13 14(<(<i.0);1)} i. 3 3 0 12 2 3 13 5 6 14 8 Studying the boxed cases of m. in "from" is worthwhile Best, Cliff Nichols, Peter wrote: > > Given a simple matrix > > a=:i.3 3 > a > 0 1 2 > 3 4 5 > 6 7 8 > > I can get the second column. > > 1{"1 a > 1 4 7 > > But if I try to amend it > in an intuitive way. > > (12 13 14) 1}"1 a > �rank error > � (12 13 14) 1}"1 a > > What is the J equivalent of APL's > a[;1]assign iota 3 -- Clifford A. Reiter Mathematics Department, Lafayette College Easton, PA 18042 USA, 610-330-5277 ^^^ Note new phone exchange http://www.lafayette.edu/~reiterc -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Tue Feb 2 10:24:07 1999 From: mellemf@nimo.com X-Lotus-FromDomain: NMPC Date: Tue, 2 Feb 1999 09:58:07 -0500 Subject: Re: Jforum: Amending columns in a matrix Content-type: text/plain; charset=us-ascii Content-Disposition: inline a=:i.3 3 (12 13 14) 1}"0 1 a Your intuition is good , but apply it (with rank ) to both sides. -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Tue Feb 2 10:32:24 1999 Date: Tue, 2 Feb 1999 16:17:19 +0100 (MET) From: Martin Neitzel <neitzel@gaertner.de> Subject: Re: Jforum: Amending columns in a matrix (12 13 14) 1}"0 1 a -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Tue Feb 2 14:47:52 1999 Delivered-To: fixup-forum@jsoftware.com@fixme Date: Tue, 02 Feb 1999 09:43:14 -0800 From: greg heil <gheil@uswest.net> Subject: Re: Jforum: Amending columns in a matrix References: <01074BD4EEC4D1118E3200805F6542A7177DAE@SPRDALLAS2> "Nichols, Peter" wrote: > What is the J equivalent of APL's a[;1]assign iota 3 try (i.3) 1}"0 1 a=:i.3 3 0 0 2 3 1 5 6 2 8 or (9) 1}"1 a 0 9 2 3 9 5 6 9 8 PS your clock seems to be off by 3 days, its Ground Hogs day here in Seattle (nobody is seeing their shadow either;-) greg heil mailto:gheil@acm.org http://www.scn.org/tl/anvil -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Tue Feb 2 16:39:32 1999 From: "J Tibollo" <jtibollo@backassociates.com> Subject: Re: Jforum: Amending columns in a matrix Date: Tue, 2 Feb 1999 16:30:07 -0500 charset="iso-8859-1" Can someone offer a technical explanation of why: (i.3) 1}"0 1 a=:i.3 3 gives: 0 0 2 3 1 5 6 2 8 and, a=:i.3 3 1 {"1 a 1 4 7 while, (i.3) 1 }"1 a |rank error | (i.3) 1}"1 a Just curious - why do you need to use "0 1 instead of "1 ? Thanks, Joe Tibollo -----Original Message----- From: greg heil <gheil@uswest.net> Date: Tuesday, February 02, 1999 2:38 PM Subject: Re: Jforum: Amending columns in a matrix >"Nichols, Peter" wrote: > >> What is the J equivalent of APL's > a[;1]assign iota 3 > >try > (i.3) 1}"0 1 a=:i.3 3 >0 0 2 >3 1 5 >6 2 8 > >or > (9) 1}"1 a >0 9 2 >3 9 5 >6 9 8 > >PS your clock seems to be off by 3 days, its Ground Hogs >day here in Seattle (nobody is seeing their shadow either;-) > >greg heil >mailto:gheil@acm.org >http://www.scn.org/tl/anvil > >--------------------------------------------------------------------------- ----- >J Forum: for information about this list, see http://www.jsoftware.com/forum.htm > -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Tue Feb 2 16:43:40 1999 From: "Nichols, Peter" <pnichols@sprinc.com> Subject: Jforum: Reassigning a matrix in a column Date: Mon, 1 Feb 1999 09:40:40 -0600 If a=:i.3 3 How do I make the 2nd column be 98 99 100? Thanks -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Tue Feb 2 17:15:48 1999 Date: Tue, 02 Feb 1999 16:03:13 -0600 From: Paul Gauthier <pap.gauthier@sympatico.ca> Subject: Re: Jforum: Amending columns in a matrix References: <000a01be4ef3$379e6720$91d23dcf@billy> I will try my best, which is not much... In the help facility you can find in Definitions: The three ranks (in the order monadic, left, and right) are also indicated, using the symbol _ for an infinite (unbounded) rank, and with ranks dependent on the ranks of argument verbs shown as mu, lv, etc. So, if you do: b=: 10 40 70 a=:i.3 3 b 1}"0 1 a Does what you know now try this: b=:1 3$10 40 70 then: b 1}"0 2 a b 1}"1 0 2 a b 1}1 2 a b 1}1 1 2 a Regards/Paul J Tibollo wrote: > Can someone offer a technical explanation of why: > > (i.3) 1}"0 1 a=:i.3 3 > > gives: > > 0 0 2 > 3 1 5 > 6 2 8 > > and, > > a=:i.3 3 > > 1 {"1 a > 1 4 7 > > while, > > (i.3) 1 }"1 a > |rank error > | (i.3) 1}"1 a > > Just curious - why do you need to use "0 1 instead of "1 ? > > Thanks, > Joe Tibollo > > -----Original Message----- > From: greg heil <gheil@uswest.net> > To: forum@jsoftware.com <forum@jsoftware.com> > Date: Tuesday, February 02, 1999 2:38 PM > Subject: Re: Jforum: Amending columns in a matrix > > >"Nichols, Peter" wrote: > > > >> What is the J equivalent of APL's > > a[;1]assign iota 3 > > > >try > > (i.3) 1}"0 1 a=:i.3 3 > >0 0 2 > >3 1 5 > >6 2 8 > > > >or > > (9) 1}"1 a > >0 9 2 > >3 9 5 > >6 9 8 > > > >PS your clock seems to be off by 3 days, its Ground Hogs > >day here in Seattle (nobody is seeing their shadow either;-) > > > >greg heil > >mailto:gheil@acm.org > >http://www.scn.org/tl/anvil > > > >--------------------------------------------------------------------------- > ----- > >J Forum: for information about this list, see > http://www.jsoftware.com/forum.htm > > > > -------------------------------------------------------------------------------- > J Forum: for information about this list, see http://www.jsoftware.com/forum.htm -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Tue Feb 2 17:21:46 1999 Date: Tue, 02 Feb 1999 16:07:27 -0600 From: Paul Gauthier <pap.gauthier@sympatico.ca> Subject: Re: Jforum: Reassigning a matrix in a column References: <01074BD4EEC4D1118E3200805F6542A7177DB2@SPRDALLAS2> a=:i.3 3 b=:98 99 100 b 1}"0 1 a 98 99 100(1)}"0 1 a "Nichols, Peter" wrote: > If a=:i.3 3 > How do I make the 2nd column be 98 99 100? > > Thanks > > -------------------------------------------------------------------------------- > J Forum: for information about this list, see http://www.jsoftware.com/forum.htm -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Tue Feb 2 17:24:34 1999 Date: Tue, 2 Feb 1999 23:12:27 +0100 (MET) From: Martin Neitzel <neitzel@gaertner.de> Subject: Re: Jforum: Amending columns in a matrix > Can someone offer a technical explanation of why: > > [some stuff elided] > > 1 {"1 a > 1 4 7 > > while, > > (i.3) 1 }"1 a > |rank error > | (i.3) 1}"1 a > > Just curious - why do you need to use "0 1 instead of "1 ? First of all, { and } are different beasts. While 1{ looks very similar to 1} , the structure is completely different. 1 { a left argument next to a dyad (no valid phrase as is) 1 } adverb (rather, "adnoun") next to its operand "1" => a verb Next, while { and } look symmetric and they are related, they have nevertheless the own requirements and argument ranks. Now to your question: > Just curious - why do you need to use "0 1 instead of "1 ? (i.3) 1 }"1 a ^^^^^ ^ NB. hope you have a monospaced font is x 1 }"1 y ^^^ is x verb"1 y Now, verb"1 (a new verb on its own) is clearly applied dyadically. In the dyadic case, verb"1 is just a short form for verb"1 1 . (Which again is just a short form for verb"1 1 1 with order 'mr lr rr'; that's where the 3{body}amp;.|.n kicks in in the Dictionary's u"n entry.) But verb"0 1 is what you want: mate scalars from the left with rows from the right; for each pair, do the 1} shove-it-in thing. (1}) "1 1 yields a rank error because a row (0 1 2) would be paired with any other row from the left (say, 4 5 6). But 0 1 2 (1}) 4 5 6 rightly complains at you because you cannot amend the scalar 5 with an entire vector. The Dictionary requires for x m} y : $x must be a suffix of $m{y Hope this helps, Martin PS: 1000 thanks for omitting that HTML encoding this time! -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Tue Feb 2 18:40:57 1999 Date: Tue, 02 Feb 1999 17:30:32 -0600 From: Paul Gauthier <pap.gauthier@sympatico.ca> Subject: Re: Jforum: Reassigning a matrix in a column References: <01074BD4EEC4D1118E3200805F6542A7177DB2@SPRDALLAS2> <36B7771F.984D21@sympatico.ca> Some timing issues. Now, please do not forget that internally, data is stored in a ravel wise order and therefore: 100000 (6!:2)'b 1}"0 1 a' 0.0001395 100000 (6!:2)'|:b 1}|:a' 0.000106 So, if two transposes keep the timing faster than directly replacing a column, what about doing a transpose at the start of your procedure, replace all the rows you need to replace then transpose again... Regards/Paul Paul Gauthier wrote: > a=:i.3 3 > b=:98 99 100 > b 1}"0 1 a > 98 99 100(1)}"0 1 a > > "Nichols, Peter" wrote: > > > If a=:i.3 3 > > How do I make the 2nd column be 98 99 100? > > > > Thanks > > > > -------------------------------------------------------------------------------- > > J Forum: for information about this list, see http://www.jsoftware.com/forum.htm > > -------------------------------------------------------------------------------- > J Forum: for information about this list, see http://www.jsoftware.com/forum.htm -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Tue Feb 2 18:45:01 1999 From: "Nollaig MacKenzie" <Nollaig@YorkU.CA> Date: Tue, 02 Feb 1999 18:30:41 -0500 (EST) In-Reply-To: <01074BD4EEC4D1118E3200805F6542A7177DAE@SPRDALLAS2> Subject: Re: Jforum: Amending columns in a matrix Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by lists.interlog.com id SAA23826 On Fri, 29 Jan 1999 15:25:17 -0600, Nichols, Peter wrote: >Given a simple matrix > > a=:i.3 3 > a >0 1 2 >3 4 5 >6 7 8 > > >I can get the second column. > > 1{"1 a >1 4 7 > >But if I try to amend it >in an intuitive way. > > (12 13 14) 1}"1 a > rank error > (12 13 14) 1}"1 a > >What is the J equivalent of APL's >a[;1]assign iota 3 > This kicked in a motto I made for myself the last time I was writing in J (3.05): If the cell-rank don't work, try the frame. Consider: a=. i. 3 3 b=. i.3 3 3 v=. 11 14 17 m=. 100*i.3 3 v 1 }"1 a �rank error � v 1}"1 a v 1}"_1 a 0 11 2 3 14 5 6 17 8 m 1}"1 b �rank error � m 1}"1 b m 1}"_2 b 0 0 2 3 100 5 6 200 8 9 300 11 12 400 14 15 500 17 18 600 20 21 700 23 24 800 26 m 1}"2 b �rank error � m 1}"2 b m 1}"_1 b 0 1 2 0 100 200 6 7 8 9 10 11 300 400 500 15 16 17 18 19 20 600 700 800 24 25 26 I never understood this, since frame-rank (negative n in "n) and cell-rank (positive n in "n) should behave something like this, shouldn't they?: If the rank of A is R, and m+n = R, then "(-m) is equivalent to "n eh? Cheers, N. -- hostname if connected: Amhuinnsuidhe.DynIP.COM http://www.yorku.ca/faculty/academic/nollaig/ For PGP public key, send e-mail to: key@Four11.com with body: Nollaig@YorkU.CA -- -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Tue Feb 2 19:13:40 1999 Date: Wed, 3 Feb 1999 01:03:53 +0100 (MET) From: Martin Neitzel <neitzel@gaertner.de> Subject: Re: Jforum: Amending columns in a matrix > I never understood this, since frame-rank (negative n in "n) and > cell-rank (positive n in "n) should behave something like this, > shouldn't they?: > > If the rank of A is R, and m+n = R, then "(-m) is equivalent to "n > > eh? Yes if you consider _one_ spec m with respect to _one_ argument A. Not if you consider _one_ sepc m with respect to _two_ args A and B. Then: > a=. i. 3 3 > b=. i.3 3 3 > v=. 11 14 17 > m=. 100*i.3 3 > v 1 }"1 a => "1 1 > v 1}"_1 a => "_1 _1 (here positively: "0 1) > m 1}"1 b => "1 1 > m 1}"2 b => "2 2 > m 1}"_1 b => "_1 _1 (here positively: "1 1) Do you see the differences now? After you duplicate the single rank spec properly for the left and rigth side, you can do the usual frame/cell arithmetic. One each side separately. Martin -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Tue Feb 2 19:34:21 1999 Date: Wed, 3 Feb 1999 01:22:18 +0100 (MET) From: Martin Neitzel <neitzel@gaertner.de> Subject: Re: Jforum: Amending columns in a matrix Oops, I trimmed a bit too much. So here it comes: > m 1}"_2 b => "_2 _2 (here positively: "0 0) OK OK... it's not strictly "positively". "Cell-wise", then. Martin -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Tue Feb 2 20:56:34 1999 From: "Seymour Glass" <glasss@mindspring.com> Subject: Re: Jforum: Amending columns in a matrix Date: Tue, 2 Feb 1999 20:46:10 -0500 -----Original Message----- From: Martin Neitzel <neitzel@gaertner.de> Date: Tuesday, February 02, 1999 19:03 Subject: Re: Jforum: Amending columns in a matrix >> I never understood this, since frame-rank (negative n in "n) and >> cell-rank (positive n in "n) should behave something like this, >> shouldn't they?: >> >> If the rank of A is R, and m+n = R, then "(-m) is equivalent to "n >> >> eh? > >Yes if you consider _one_ spec m with respect to _one_ argument A. >Not if you consider _one_ sepc m with respect to _two_ args A and B. [ useful and accurate examples omitted ] But advanced users should note that "(-m) is actually equivalent to "n"_ rather than to "n (in other words, the derived verb has infinite rank): 0:@(]"_1) i. 5 5 0 0:@(]"1) i. 5 5 0 0 0 0 0 0:@(]"1"_) i. 5 5 0 or more plainly: (]"1) b. 0 1 1 1 (]"_1) b. 0 _ _ _ Henry Rich -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Tue Feb 2 22:30:18 1999 Delivered-To: fixup-forum@jsoftware.com@fixme Date: Tue, 02 Feb 1999 19:20:14 -0800 From: greg heil <gheil@uswest.net> Subject: Re: Jforum: Amending columns in a matrix References: <000a01be4ef3$379e6720$91d23dcf@billy> J Tibollo wrote: > Can someone offer a technical explanation of why: >... <snip> while, > (i.3) 1 }"1 a > |rank error > | (i.3) 1}"1 a Here you are trying to cram (technical term there;-) a vector (i.3) into the second (1}) scalar of each row ("1). > Just curious - why do you need to use "0 1 instead of "1 ? The 0 says to use scalars as the left argument of the amend action and the 1 to use row vectors as the, corresponding, right argument. To just use one 1 implies cramming (getting technical again;) a vector into a scalar slot as that 1 is repeated to derive the verbs rank for both left and right args. greg heil mailto:gheil@acm.org http://www.scn.org/tl/anvil -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Wed Feb 3 10:57:14 1999 From: "Ondrus, Milan" <milan.ondrus@csfb.com> Subject: Jforum: fmt Date: Wed, 3 Feb 1999 16:38:43 +0100 I'm looking at the utility fmt in the script <format> 'b4' fmt 3456 gives the char-matrix 3456 but 'z4' fmt 3456 gives the char-matrix 0456 ... inserts a zero at the first position and wipes out the 3. 'z3' fmt 345 gives 045 ... again the first position disappears. This z-formatting seems to behave inconsistent with b-formatting or do I see that wrong? ..................... /Milan Ondrus -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Wed Feb 3 12:55:36 1999 Date: Wed, 03 Feb 1999 17:11:49 -0800 From: Roger Stokes <qk57@dial.pipex.com> Subject: Jforum: A Book About J References: <89FE544F2452D21190A50060B0684BF309B0AB@szrh00305.tszrh.csfb.com> If anyone would like to take a look at http://dspace.dial.pipex.com/rstokes/book.htm you will see some chapters of a book about J which I'm in the middle of writing. About one-third of the projected text is available on the website, and and another one-third is in draft, to appear soon. Your comments and criticisms would be very much appreciated. Many thanks. -- Regards: Roger Stokes rstokes@dial.pipex.com - or - qk57@dial.pipex.com -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Thu Feb 4 13:20:09 1999 Date: 4 Feb 99 10:01:59 -0800 Subject: Re: Jforum: Amending columns in a matrix From: "Piet de Jong" <piet.dejong@commerce.ubc.ca> X-Fontfamily: Geneva X-Fontsize: 12 Content-Transfer-Encoding: quoted-printable On the subject of ammending colums, what is the easiest way to ammend a single row of a matrix. By this I mean an adverb (call it A say) such that ( 5 1 2) 1 A i.3 3 puts the row 5 1 2 in the second (ie 1) row of i.3 3. I realize you can transpose the matrix do the column amendment as discussed here and transpose again. But this seems clumsy. Is there an easier, more >>transparent<<<< way. This also leads me to the question why ammend is "atom" rather than "item" based. Most of the time J (as I understand it) is "item" based. -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Thu Feb 4 13:57:21 1999 Date: Thu, 4 Feb 1999 20:33:55 +0200 (EET) From: Oleg Kobchenko <gccinc@usa.net> Subject: Re: Jforum: Amending columns in a matrix In-Reply-To: <B2DF2098-985F40@137.82.66.177> M=: i. 3 3 M 0 1 2 3 4 5 6 7 8 _1 _2 _3 (0)} M _1 _2 _3 3 4 5 6 7 8 In J 'items' ARE the rows, etc, generally the top of the rank. On 4 Feb 1999, Piet de Jong wrote: > On the subject of ammending colums, what is the easiest way to > > ammend a single row of a matrix. By this I mean an adverb (call it A > say) such that > > > ( 5 1 2) 1 A i.3 3 > > > puts the row 5 1 2 in the second (ie 1) row of i.3 3. > > > I realize you can transpose the matrix do the column amendment as > discussed here and transpose again. But this seems clumsy. Is there > an easier, more > > >>transparent<<<< way. > > > This also leads me to the question why ammend is "atom" rather than > "item" based. Most of the time J (as I understand it) is "item" > based. > > -------------------------------------------------------------------------------- > J Forum: for information about this list, see http://www.jsoftware.com/forum.htm > -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Thu Feb 4 13:57:53 1999 Date: Thu, 4 Feb 1999 19:44:48 +0100 (MET) From: Martin Neitzel <neitzel@gaertner.de> Subject: Re: Jforum: Amending columns in a matrix Piet de Jong: > > On the subject of ammending colums, what is the easiest way to > ammend a single row of a matrix. By this I mean an adverb (call it A > say) such that > > ( 5 1 2) 1 A i.3 3 > > puts the row 5 1 2 in the second (ie 1) row of i.3 3. Well, this one is easy. Your A _is_ amend (}). > This also leads me to the question why ammend is "atom" rather than > "item" based. Most of the time J (as I understand it) is "item" > based. x m} y _is_ item based for the most trivial case (an open m). The value(s) in m will then indicate which ITEMs of y will be amended. It's only when m is boxed that other axes than the first axis come into play, i.e. finer selections of y then items. So, where do you get the impression that m} would be atom based? All in all, I have the impression there must be some misunderstanding. Martin -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Thu Feb 4 14:03:50 1999 Date: Thu, 04 Feb 1999 12:50:17 -0600 From: Paul Gauthier <pap.gauthier@sympatico.ca> Subject: Re: Jforum: Amending columns in a matrix References: <B2DF2098-985F40@137.82.66.177> You just want the standard amand adverb... (5 1 2)1}i.3 3 5 1 2(1)}i.3 3 N.B.: two transposes are not clumsy if you do it for efficiency Regards/Paul Piet de Jong wrote: > On the subject of ammending colums, what is the easiest way to > ammend a single row of a matrix. By this I mean an adverb (call it A say) such that > > ( 5 1 2) 1 A i.3 3 > > puts the row 5 1 2 in the second (ie 1) row of i.3 3. > > I realize you can transpose the matrix do the column amendment as discussed here and transpose again. But this seems clumsy. Is there an easier, more > >>transparent<< way. > > This also leads me to the question why ammend is "atom" rather than "item" based. Most of the time J (as I understand it) is "item" based. > -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Thu Feb 4 15:23:43 1999 Date: 4 Feb 99 12:07:10 -0800 Subject: Re: Jforum: Amending columns in a matrix From: "Piet de Jong" <piet.dejong@commerce.ubc.ca> X-Fontfamily: Geneva X-Fontsize: 12 Content-Transfer-Encoding: quoted-printable On the subject of the amend verb , here is someting that I sometimes wish for in J. Consider u} where u is a verb. Then u "sees " the argument on the left. However this is not the case with the adverb \. Thus with u\, the verb u does not "see "the argument on the left. Sometimes it would be nice to have u be able to take both left and right arguments. For example 12 (+/%#) \ x computes the mean of each block ("infixes") of 12 items in x. However if you want a weighted average with weights specified on the left then things are not so convenient. You can do it but its a bit of workaround. Ideally you would want u to be able determine the length and order of the weighted average from the left and apply them to the right. Can this be done easily and >>transparently<<<<. (No explicit definitions please) This brings me to another issue which I have not figured out in J. Why and when should I prefer an explicit definition to a tacit one.? Is it right that generally speaking tacit ones are much preferred (the dictionary etc seems to intimate as much). -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Thu Feb 4 15:57:47 1999 Date: Thu, 4 Feb 1999 22:38:29 +0200 (EET) From: Oleg Kobchenko <gccinc@usa.net> Subject: Re: Jforum: Amending columns in a matrix In-Reply-To: <B2DF3DEF-9F44A8@137.82.66.177> It's not very clear what exactly you were looking for. One of my supositions would be: [x=. 3 4 5 6 3 4 5 6 NB. simple average of infixes 2 (+/ % #)\ x 3.5 4.5 5.5 NB. weighted average of infixes 0.7 0.3 ([: (+/ % #)"1 [ *"1 #@[ ]\ ]) x 1.65 2.15 2.65 On 4 Feb 1999, Piet de Jong wrote: > On the subject of the amend verb , here is someting that I sometimes > wish for in J. > > > Consider u} where u is a verb. Then u "sees " the argument on the > left. However this is not the case with the adverb \. Thus with u\, > the verb u does not "see "the argument on the left. Sometimes it > would be nice to have u be able to take both left and right arguments. > > > For example > > > 12 (+/%#) \ x > > > computes the mean of each block ("infixes") of 12 items in x. > However if you want a weighted average with weights specified on the > left then things are not so convenient. You can do it but its a bit > of workaround. Ideally you would want u to be able determine the > length and order of the weighted average from the left and apply them > to the right. Can this be done easily and >>transparently<<<<. > (No explicit definitions please) -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Thu Feb 4 16:05:09 1999 Date: 4 Feb 99 12:47:55 -0800 Subject: Re: Jforum: Amending columns in a matrix From: "Piet de Jong" <piet.dejong@commerce.ubc.ca> X-Fontfamily: Geneva X-Fontsize: 12 Content-Transfer-Encoding: quoted-printable Thanks to all for the information that amend IS item based. The confusion arose from the version of J 6.2 (1992) I run on my HP200LX. In this version amend is atom based. and indeed a statement such as (5 1 2) 1} i. 3 3 yields a "rank error". Also the dictionary I use (the most studied book in my library) , relating to version 6.2, appears to state that amend is atom based. On my newer version of J, (3.05 or thereabouts) amend indeed behaves as item based. I'm glad it is item based since this seems to make more sense. -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Thu Feb 4 16:23:07 1999 From: "Seymour Glass" <glasss@mindspring.com> Subject: Re: Jforum: Amending columns in a matrix Date: Thu, 4 Feb 1999 16:07:09 -0500 boundary="----=_NextPart_000_00B5_01BE5058.6AC51E80" This is a multi-part message in MIME format. ------=_NextPart_000_00B5_01BE5058.6AC51E80 charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable I think it's impossible to do this implicitly. But explicitly you could = write: NB. Adverb: y. is anything, x. is anything, (x.&u.) is applied to each = infix of length #x. appliedtoinfixes =3D: 1 : 0 [: y. : (#x.) (x.&u.)\ y. ) and then: wsum =3D. +/ @: * 1 2 3 wsum appliedtoinfixes i. 10 8 14 20 26 32 38 44 50 the monadic case is defined so that: wsum appliedtoinfixes i. 10 |valence error | [:y. When to use tacit vs. explicit is a personal choice. I use tacits for = functions whose definition is not likely to change, i. e. my utility functions, and = explicits for application-specific work. And, as here, explicits when you need to = pass x. or y. into an adverb or conjunction. Henry Rich -----Original Message----- From: Piet de Jong <piet.dejong@commerce.ubc.ca> Date: Thursday, February 04, 1999 15:07 Subject: Re: Jforum: Amending columns in a matrix On the subject of the amend verb , here is someting that I sometimes = wish for in J. =20 Consider u} where u is a verb. Then u "sees " the argument on the = left. However this is not the case with the adverb \. Thus with u\, the = verb u does not "see "the argument on the left. Sometimes it would be = nice to have u be able to take both left and right arguments. =20 For example=20 =20 12 (+/%#) \ x =20 computes the mean of each block ("infixes") of 12 items in x. = However if you want a weighted average with weights specified on the = left then things are not so convenient. You can do it but its a bit of = workaround. Ideally you would want u to be able determine the length and = order of the weighted average from the left and apply them to the right. = Can this be done easily and >>transparently<<. (No explicit definitions = please)=20 =20 This brings me to another issue which I have not figured out in J. = Why and when should I prefer an explicit definition to a tacit one.? Is = it right that generally speaking tacit ones are much preferred (the = dictionary etc seems to intimate as much).=20 =20 =20 =20 = -------------------------------------------------------------------------= ------- J Forum: for information about this list, see = http://www.jsoftware.com/forum.htm ------=_NextPart_000_00B5_01BE5058.6AC51E80 charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable <!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 HTML//EN"> <HTML> <HEAD> <META content=3Dtext/html;charset=3Diso-8859-1 = http-equiv=3DContent-Type> <META content=3D'"MSHTML 4.72.3509.100"' name=3DGENERATOR> </HEAD> <BODY bgColor=3D#ffffff> <DIV><FONT color=3D#000000><FONT size=3D3>I think it's impossible to do = this=20 implicitly. But explicitly you could write:</FONT></FONT><FONT=20 size=3D3></FONT></DIV> <DIV><FONT color=3D#000000><FONT size=3D3></FONT></FONT><FONT=20 size=3D3></FONT> </DIV> <DIV><FONT face=3D"" size=3D3>NB. Adverb: y. is anything, x. is = anything,=20 (x.&u.) is applied to each infix of length #x.<BR>appliedtoinfixes = =3D: 1 :=20 0<BR>[: y.<BR>:<BR>(#x.) (x.&u.)\ y.<BR>)<BR></FONT></DIV> <DIV>and then:</DIV> <DIV> </DIV> <DIV> wsum =3D. +/ @: *<BR> 1 2 3 wsum = appliedtoinfixes i.=20 10<BR>8 14 20 26 32 38 44 50</DIV> <DIV> </DIV> <DIV>the monadic case is defined so that:</DIV> <DIV><BR> wsum appliedtoinfixes i. 10<BR>|valence=20 error<BR>| [:y.<BR></DIV> <DIV>When to use tacit vs. explicit is a personal choice. I use = tacits for=20 functions whose</DIV> <DIV>definition is not likely to change, i. e. my utility functions, and = explicits for</DIV> <DIV>application-specific work. And, as here, explicits when you = need to=20 pass x. or y.</DIV> <DIV>into an adverb or conjunction.</DIV> <DIV> </DIV> <DIV>Henry Rich</DIV> <DIV><FONT face=3DArial size=3D2><B></B></FONT> </DIV> <DIV><FONT face=3DArial size=3D2><B>-----Original = Message-----</B><BR><B>From:=20 </B>Piet de Jong <<A=20 href=3D"mailto:piet.dejong@commerce.ubc.ca">piet.dejong@commerce.ubc.ca</= A>><BR><B>To:=20 </B><A href=3D"mailto:forum@jsoftware.com">forum@jsoftware.com</A> = <<A=20 href=3D"mailto:forum@jsoftware.com">forum@jsoftware.com</A>><BR><B>Dat= e:=20 </B>Thursday, February 04, 1999 15:07<BR><B>Subject: </B>Re: Jforum: = Amending=20 columns in a matrix<BR><BR></DIV> <BLOCKQUOTE=20 style=3D"BORDER-LEFT: #000000 solid 2px; MARGIN-LEFT: 5px; PADDING-LEFT: = 5px"></FONT>On=20 the subject of the amend verb , here is someting that I sometimes = wish for=20 in J.<BR><BR>Consider u} where u is a verb. Then u "sees " = the=20 argument on the left. However this is not the case with the adverb = \. Thus=20 with u\, the verb u does not "see "the argument on the = left.=20 Sometimes it would be nice to have u be able to take both left and = right=20 arguments.<BR><BR>For example <BR><BR>12 (+/%#) \ x<BR><BR>computes = the mean=20 of each block ("infixes") of 12 items in x. However if you = want a=20 weighted average with weights specified on the left then things are = not so=20 convenient. You can do it but its a bit of workaround. Ideally you = would=20 want u to be able determine the length and order of the weighted = average=20 from the left and apply them to the right. Can this be done easily = and=20 >>transparently<<. (No explicit definitions please) = <BR><BR>This=20 brings me to another issue which I have not figured out in J. Why = and when=20 should I prefer an explicit definition to a tacit one.? Is it right = that=20 generally speaking tacit ones are much preferred (the dictionary etc = seems=20 to intimate as much).=20 = <BR><BR><BR><BR>---------------------------------------------------------= -----------------------=20 J Forum: for information about this list, see=20 http://www.jsoftware.com/forum.htm</BLOCKQUOTE></BODY></HTML> ------=_NextPart_000_00B5_01BE5058.6AC51E80-- -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Thu Feb 4 16:50:20 1999 From: "Nichols, Peter" <pnichols@sprinc.com> Subject: RE: Jforum: Reassigning a matrix in a column Date: Tue, 2 Feb 1999 15:47:54 -0600 charset="iso-8859-1" Never mind. For some reason my posts are going out several days after I actually send them. I've already gotten several great answers. -----Original Message----- From: Nichols, Peter [SMTP:pnichols@sprinc.com] Sent: Monday, February 01, 1999 9:41 AM To: 'forum@jsoftware.com' Subject: Jforum: Reassigning a matrix in a column If a=:i.3 3 How do I make the 2nd column be 98 99 100? Thanks ---------------------------------------------------------------------------- ---- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Thu Feb 4 17:47:25 1999 From: "Nichols, Peter" <pnichols@sprinc.com> Subject: Jforum: Boxing Columns Date: Wed, 3 Feb 1999 14:02:24 -0600 I got this function from Roger Stokes book in progress. It boxes the x-cells of y. cells =: 4 : '< " x. y.' In a 3x3 matrix, the 0-cells are the individual cells. 1-cells are the rows, and 2-cells are the whole matrix. But how would you box the columns of a matrix? I know I could transpose but it seems like there should be a more elegant way. Thanks. -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Thu Feb 4 18:49:10 1999 From: "John D. Baker" <bakerjd@kos.net> Subject: Jforum: Tacit and Explicit Date: Thu, 4 Feb 1999 18:35:57 -0500 charset="iso-8859-1" Piet de Jong writes: >This brings me to another issue which I have not figured out in J. Why and when should I prefer an explicit >definition to a tacit one.? Is it right that generally speaking tacit ones are much preferred (the dictionary etc >seems to intimate as much). Sometime after I first learned J I realized that spending inordinate amounts of time looking for tacit solutions to problems that are trivially solved with explicit expressions is J's variation on APL's one-liner-real-men-don't-loop disease. The decision to use tacit vs. explicit definitions should be based on rational criteria. Here's my J checklist. I use similar guidelines when programming in APL and even when mulling over the macro/function dilemma in C. 1) If you can quickly bash off a tacit definition without stopping to think about it use a tacit expression. 2) If your verb is the argument of an adverb or conjunction and is going to be executed thousands (or more) times, e,g. u&.> somebighonkinglist It often, (but not always), pays to use tacit definitions. If a line is going to be executed only once the tacit/explicit issue is moot. Your time is better spent thinking about what's on that line rather than looking for a tacit version of it. 3) If you are creating local words inside other definitions try and make them tacit. Keep in mind that excessive embedding is pretty clear sign that you need a locale or class object. 4) If your word naturally occupies a few lines of code and all of the above applies use an explicit definition. The first time you have to turn on the debugger you will be rewarded for your tacit restraint. 5) If you are interested in exploring J semantics solely for it's own sake then tacits are superb teachers. It is for this reason that tacits are so frequently used in The J Dictionary. 6) If you have a lot of time on your hands and you belong to some bizarre ultra-loony-mad-programmer's-cult, (like the dwindling but still in denial pure Java sect), then I'm sorry -- you can't use explicit definitions because the J interpreter detects fanatics and automatically disables explicit definitions. John D. Baker bakerjd@kos.net -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Thu Feb 4 21:30:30 1999 Date: Fri, 05 Feb 1999 03:18:46 +0100 From: "d.alis" <dalis@balcab.ch> Subject: Re: Jforum: Boxing Columns References: <01074BD4EEC4D1118E3200805F6542A7177DBA@SPRDALLAS2> Whatever J is about, surely it is about writing cells =: <" instead of cells =: 4 : '< " x. y.' Or does no-one agree? DAL Nichols, Peter wrote: > I got this function from Roger Stokes book in progress. It boxes the > x-cells of y. > > cells =: 4 : '< " x. y.' > > In a 3x3 matrix, the 0-cells are the individual cells. 1-cells are the > rows, and 2-cells are the whole matrix. But how would you box the columns > of a matrix? I know I could transpose but it seems like there should be a > more elegant way. > > Thanks. > > -------------------------------------------------------------------------------- > J Forum: for information about this list, see http://www.jsoftware.com/forum.htm -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Thu Feb 4 21:47:49 1999 Date: Fri, 05 Feb 1999 03:27:44 +0100 From: "d.alis" <dalis@balcab.ch> Subject: Re: Jforum: Amending columns in a matrix References: <B2DF477D-A18397@137.82.66.177> The Dictionary needs to be read with care. Compare the noun and verb cases... a=: 1 3 5 Anoun =. a Averb =. a"_ 100 200 300 Anoun } i. 6 3 0 1 2 100 200 300 6 7 8 100 200 300 12 13 14 100 200 300 100 200 300 Averb } i. 6 3 0 100 2 200 4 300 6 7 8 9 10 11 12 13 14 15 16 17 Piet de Jong wrote: > Thanks to all for the information that amend IS item based. > > The confusion arose from the version of J 6.2 (1992) I run on my > HP200LX. In this version amend is atom based. and indeed a statement such as > > (5 1 2) 1} i. 3 3 > > yields a "rank error". Also the dictionary I use > (the most studied book in my library) , relating to version 6.2, appears to state that amend is atom based. > > On my newer version of J, (3.05 or thereabouts) amend indeed behaves as item based. I'm glad it is item based since this seems to make more sense. > > -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Fri Feb 5 04:11:00 1999 References: <89FE544F2452D21190A50060B0684BF309B0AB@szrh00305.tszrh.csfb.com> Organization: Voxel From: "Andrew Nikitin" <nsg@voxel.kharkov.ua> Date: Thu, 4 Feb 1999 13:52:38 +0200 (EET) Subject: Re: Jforum: fmt 3-Feb-99 16:38 Ondrus, Milan wrote: > I'm looking at the utility fmt in the script <format> Conjunction expandby marked by label 'v' instead of 'c' in scriptdoc. Line 3 in hexdump verb would be better changed from bar=. 179{a. NB. original version into something like bar=. 9{,9!:6 '' nsg -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Fri Feb 5 04:12:09 1999 Date: Fri, 05 Feb 1999 02:50:51 -0600 From: Paul Gauthier <pap.gauthier@sympatico.ca> Subject: Re: Jforum: Boxing Columns References: <01074BD4EEC4D1118E3200805F6542A7177DBA@SPRDALLAS2> Please read the Phrase book Chapter 5 on structures, section C on special matrices and lists. You will find: m42=:<"1@|: NB.Box each column of a matrix Yes, it is tranposed...Nope I don't know of a more elegant way... "Nichols, Peter" wrote: > I got this function from Roger Stokes book in progress. It boxes the > x-cells of y. > > cells =: 4 : '< " x. y.' > > In a 3x3 matrix, the 0-cells are the individual cells. 1-cells are the > rows, and 2-cells are the whole matrix. But how would you box the columns > of a matrix? I know I could transpose but it seems like there should be a > more elegant way. > > Thanks. > > -------------------------------------------------------------------------------- > J Forum: for information about this list, see http://www.jsoftware.com/forum.htm -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Fri Feb 5 07:48:32 1999 References: <36BAB0EA.18772AE@sympatico.ca> Organization: Voxel From: "Andrew Nikitin" <nsg@voxel.kharkov.ua> Date: Fri, 5 Feb 1999 13:06:13 +0200 (EET) Subject: Re: Jforum: Boxing Columns 5-Feb-99 02:50 Paul Gauthier wrote: > m42=:<"1@|: NB.Box each column of a matrix > Another way of understanding phrase "box columns" is <@,."1@|: i.3 3 +-+-+-+ |0|1|2| |3|4|5| |6|7|8| +-+-+-+ > "Nichols, Peter" wrote: > > I know I could transpose but it seems like there should be a > > more elegant way. The only thing that is more elegent than Transpose is dyadic transpose. nsg -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Fri Feb 5 08:13:34 1999 From: "Chris Burke" <cdburke@interlog.com> Subject: Re: Jforum: fmt Date: Fri, 5 Feb 1999 07:56:03 -0500 charset="iso-8859-1" Milan Ondrus writes: > I'm looking at the utility fmt in the script <format> > > 'b4' fmt 3456 gives the char-matrix 3456 > > but > > 'z4' fmt 3456 gives the char-matrix 0456 ... inserts a zero at the first >position and wipes out the 3. > > 'z3' fmt 345 gives 045 ... again the first position disappears. > > This z-formatting seems to behave inconsistent with b-formatting or do I >see that wrong? This is a bug and a replacement script which includes Andrew Nikitin's suggestions is available at www.jsoftware.com/source/format.zip -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Fri Feb 5 10:21:45 1999 From: "Seymour Glass" <glasss@mindspring.com> Subject: Re: Jforum: Boxing Columns Date: Fri, 5 Feb 1999 10:06:24 -0500 ->But how would you box the columns >of a matrix? I know I could transpose but it seems like there should be a >more elegant way. I thought that if you extracted each column and boxed it, without doing the transpose, you might use less space, since only one copy of the whole array would be required. On a large array this would still be a loser, since the transpose could have better hit ratio in cache and virtual memory. But when I tried it: a =. (<@{~ <@(a:&;)"0@i.@{:@$) I found that this version took more space than <"1@|: . Just a little more: each one takes about twice the space of the original matrix. At least in J4.01, which seems to accelerate <"1 . Henry Rich -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Fri Feb 5 12:30:46 1999 Date: Fri, 05 Feb 1999 11:14:11 -0600 From: Paul Gauthier <pap.gauthier@sympatico.ca> Subject: Re: Jforum: Boxing Columns References: <36BAB0EA.18772AE@sympatico.ca> <ABb2jksCL9@voxel.kharkov.ua> Understanding is nice...Timing is also nice... m42=:<"1@|: m42x=:<@,."1@|: Timing: 10000(6!:2)'m42 i.3 3' 0.000104 10000(6!:2)'m42x i.3 3' 0.000121 Andrew Nikitin wrote: > 5-Feb-99 02:50 Paul Gauthier wrote: > > m42=:<"1@|: NB.Box each column of a matrix > > > > Another way of understanding phrase "box columns" is > > <@,."1@|: i.3 3 > +-+-+-+ > |0|1|2| > |3|4|5| > |6|7|8| > +-+-+-+ > > > "Nichols, Peter" wrote: > > > I know I could transpose but it seems like there should be a > > > more elegant way. > > The only thing that is more elegent than Transpose is dyadic transpose. > > nsg > > -------------------------------------------------------------------------------- > J Forum: for information about this list, see http://www.jsoftware.com/forum.htm -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Sat Feb 6 09:25:04 1999 References: <36BB26E3.549D0A13@sympatico.ca> Organization: Voxel From: "Andrew Nikitin" <nsg@voxel.kharkov.ua> Date: Sat, 6 Feb 1999 15:55:00 +0200 (EET) Subject: Jforum: ,. Dictionary says: "The fit conjunction (,.!.f) provides fill specified by the items of f." In what cases such fill is applied? When arguments agree in length, then no need in fill arise. When they don't -- length error occurs. ie: (i.2) ,. (i.3) |length error | (i.2) ,.(i.3) (i.2) ,.!.9 (i.3) |length error | (i.2) ,.!.9(i.3) Is there an example of j phrase containing ,.!.f with the result depending on f? Why there exist such inconsistent thing as "length error"? Why not to reshape arguments to common length as for ,: always? nsg -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Sat Feb 6 10:43:05 1999 Date: Sat, 06 Feb 1999 10:29:52 -0500 From: Cliff Reiter <reiterc@lafvax.lafayette.edu> Subject: Re: Jforum: ,. Fill atoms Organization: Lafayette College Content-type: text/plain; charset=us-ascii References: <36BB26E3.549D0A13@sympatico.ca> <ABqc4lsWUB@voxel.kharkov.ua> Andrew Nikitin wrote: > > Dictionary says: > > "The fit conjunction (,.!.f) provides fill specified by the items of f." > > In what cases such fill is applied? When arguments agree in length, then no Perhaps Stitch isn't really what you want. Stitch is handy, but often I find I really need adjoin when I thought about stitch first. Consider the following examples ]c1=.,.1 2 3 NB. col 1 1 2 3 ]c2=.,.10*1 2 3 4 5 NB. col 2 10 20 30 40 50 pca=. ,!. _ &.|: NB. padded column adjoin using infinity for fill c1 pca c2 1 10 2 20 3 30 _ 40 _ 50 (i.3 3) pca i.4 4 0 1 2 0 1 2 3 3 4 5 4 5 6 7 6 7 8 8 9 10 11 _ _ _ 12 13 14 15 Does pca do what you want? Also consider stitch with fill: (i.2 3 4) ,.!. _] 10*i.2 3 7 0 1 2 3 _ _ _ 4 5 6 7 _ _ _ 8 9 10 11 _ _ _ 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 12 13 14 15 _ _ _ 16 17 18 19 _ _ _ 20 21 22 23 _ _ _ 210 220 230 240 250 260 270 280 290 300 310 320 330 340 350 360 370 380 390 400 410 > need in fill arise. When they don't -- length error occurs. ie: > > (i.2) ,. (i.3) > |length error > | (i.2) ,.(i.3) > (i.2) ,.!.9 (i.3) > |length error > | (i.2) ,.!.9(i.3) > > Is there an example of j phrase containing ,.!.f with the result depending on > f? > > Why there exist such inconsistent thing as "length error"? Why not to reshape > arguments to common length as for ,: always? > > nsg -- Clifford A. Reiter Mathematics Department, Lafayette College Easton, PA 18042 USA, 610-330-5277 ^^^ Note new phone exchange http://www.lafayette.edu/~reiterc -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Sat Feb 6 11:10:51 1999 Date: Sat, 6 Feb 1999 17:56:45 +0200 (EET) From: Oleg Kobchenko <gccinc@usa.net> Subject: Re: Jforum: Boxing Columns In-Reply-To: <36BB26E3.549D0A13@sympatico.ca> Timing is pay for what you wanna get. In Nikitin's case we get added value of visually preserving the shape. Consider: <"1@|: i.3 3 +-----+-----+-----+ |0 3 6|1 4 7|2 5 8| +-----+-----+-----+ <@,."1@|: i.3 3 +-+-+-+ |0|1|2| |3|4|5| |6|7|8| +-+-+-+ NB. Here we add value afterwards ,.&.>@:<"1@|: i.3 3 +-+-+-+ |0|1|2| |3|4|5| |6|7|8| +-+-+-+ NB. Hence the timing 10000(6!:2)'<"1@|: i.3 3' 0.0001342 10000(6!:2)',.&.>@:<"1@|: i.3 3' 0.0001913 10000(6!:2)'<@,."1@|: i.3 3' 0.0001713 On Fri, 5 Feb 1999, Paul Gauthier wrote: > Understanding is nice...Timing is also nice... > > m42=:<"1@|: > m42x=:<@,."1@|: > > Timing: > > 10000(6!:2)'m42 i.3 3' > 0.000104 > > 10000(6!:2)'m42x i.3 3' > 0.000121 > > Andrew Nikitin wrote: > > > 5-Feb-99 02:50 Paul Gauthier wrote: > > > m42=:<"1@|: NB.Box each column of a matrix > > > > > > > Another way of understanding phrase "box columns" is > > > > <@,."1@|: i.3 3 > > +-+-+-+ > > |0|1|2| > > |3|4|5| > > |6|7|8| > > +-+-+-+ > > > > > "Nichols, Peter" wrote: > > > > I know I could transpose but it seems like there should be a > > > > more elegant way. > > > > The only thing that is more elegent than Transpose is dyadic transpose. > > > > nsg -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Sat Feb 6 12:10:42 1999 From: "Bjorn G. Helgason" <gosi@centrum.is> Subject: RE: Jforum: Amending columns in a matrix Date: Sat, 6 Feb 1999 16:56:48 -0000 Content-Type: multipart/mixed; boundary="---- =_NextPart_000_01BE51F1.F02B72A0" ------ =_NextPart_000_01BE51F1.F02B72A0 From: d.alis[SMTP:dalis@balcab.ch] > a=: 1 3 5 > Anoun =. a > Averb =. a"_ > 100 200 300 Anoun } i. 6 3 > 100 200 300 Averb } i. 6 3 Nice touch !!! /Gosi ------ =_NextPart_000_01BE51F1.F02B72A0 Content-Type: application/ms-tnef Content-Transfer-Encoding: base64 eJ8+IiUQAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAENgAQAAgAAAAIAAgABBJAG ABwBAAABAAAADAAAAAMAADADAAAACwAPDgAAAAACAf8PAQAAAEUAAAAAAAAAgSsfpL6jEBmdbgDd AQ9UAgAAAABmb3J1bUBqc29mdHdhcmUuY29tAFNNVFAAZm9ydW1AanNvZnR3YXJlLmNvbQAAAAAe AAIwAQAAAAUAAABTTVRQAAAAAB4AAzABAAAAFAAAAGZvcnVtQGpzb2Z0d2FyZS5jb20AAwAVDAEA AAADAP4PBgAAAB4AATABAAAAFgAAACdmb3J1bUBqc29mdHdhcmUuY29tJwAAAAIBCzABAAAAGQAA AFNNVFA6Rk9SVU1ASlNPRlRXQVJFLkNPTQAAAAADAAA5AAAAAAsAQDoBAAAAAgH2DwEAAAAEAAAA AAAAAxs0AQiABwAYAAAASVBNLk1pY3Jvc29mdCBNYWlsLk5vdGUAMQgBBIABACkAAABSRTogSmZv cnVtOiBBbWVuZGluZyBjb2x1bW5zIGluIGEgbWF0cml4AC8OAQWAAwAOAAAAzwcCAAYAEAA4ADAA BgBcAQEggAMADgAAAM8HAgAGABAAMAAhAAYARQEBCYABACEAAAAyMkExOUFFQkRDQkREMjExOEI5 QTJDQTFGRkMwMDAwMABWBwEDkAYAzAIAABIAAAALACMAAQAAAAMAJgAAAAAACwApAAEAAAADADYA AAAAAEAAOQBAyi6v8VG+AR4AcAABAAAAKQAAAFJFOiBKZm9ydW06IEFtZW5kaW5nIGNvbHVtbnMg aW4gYSBtYXRyaXgAAAAAAgFxAAEAAAAWAAAAAb5R8a7a65qhI73cEdKLmiyh/8AAAAAAHgAeDAEA AAAFAAAAU01UUAAAAAAeAB8MAQAAABAAAABnb3NpQGNlbnRydW0uaXMAAwAGEHl8dL8DAAcQYgAA AB4ACBABAAAAYwAAAEZST006REFMSVNTTVRQOkRBTElTQEJBTENBQkNIQT06MTM1QU5PVU49QUFW RVJCPUEiMTAwMjAwMzAwQU5PVU5JNjMxMDAyMDAzMDBBVkVSQkk2M05JQ0VUT1VDSC9HT1NJAAAC AQkQAQAAAEYBAABCAQAA7wIAAExaRnX4a3D3/wAKAQ8CFQKoBesCgwBQAvIJAgBjaArAc2V0MjcG AAbDAoMyA8UCAHByQnER4nN0ZW0CgzP3AuQHEwKDNANFEzUHbQKD9jUSzBTFfQqACM8J2QKABwqB DbELYG5nMTAzsjkK/zE2DCETUG8T0OpjBUBGA2E6CuEcWx1GMQyCIGQuB0AEAFtTIE1UUDpkIAJA YtUHQGMBoC4RcF0KiyAQPDM2DfALVRRRC/EgPiceFyNEHTdhPR4AMSD4MyA1CocLZBVhI38kisxB bghgA6A9LiUwJd87Ju8n/HYEkB/AKSIiX38pbyp/JHsboC5QAdAuUDNDMBEoxFx9IGkpMDb/JZAh ryK3Lg8vHzApLGMxLwcLCjNVNwVOaWNlIOZ0CGARcCAhOdA3BTcFuC9HbwCQNwUY8QA74AAAAwAQ EAAAAAADABEQAAAAAEAABzCAzZqI8FG+AUAACDCAzZqI8FG+AR4APQABAAAABQAAAFJFOiAAAAAA q7A= ------ =_NextPart_000_01BE51F1.F02B72A0-- -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Sat Feb 6 12:35:22 1999 Date: Sat, 06 Feb 1999 11:26:40 -0600 From: Paul Gauthier <pap.gauthier@sympatico.ca> Subject: Re: Jforum: Boxing Columns References: <Pine.LNX.4.04.9902061747430.2148-100000@spin.vl.net.ua> Timing is pay for what I wanna get... Well ! and what about that for a visual effect... <"2,"0|:i.3 3 +-+-+-+ |0|1|2| |3|4|5| |6|7|8| +-+-+-+ 10000(6!:2)'<"2,"0|:i.3 3' 0.000159 10000(6!:2)'<@,."1@|: i.3 3' 0.00017 Oleg Kobchenko wrote: > Timing is pay for what you wanna get. In Nikitin's > case we get added value of visually preserving the shape. > Consider: > > <"1@|: i.3 3 > +-----+-----+-----+ > |0 3 6|1 4 7|2 5 8| > +-----+-----+-----+ > <@,."1@|: i.3 3 > +-+-+-+ > |0|1|2| > |3|4|5| > |6|7|8| > +-+-+-+ > > NB. Here we add value afterwards > > ,.&.>@:<"1@|: i.3 3 > +-+-+-+ > |0|1|2| > |3|4|5| > |6|7|8| > +-+-+-+ > > NB. Hence the timing > > 10000(6!:2)'<"1@|: i.3 3' > 0.0001342 > > 10000(6!:2)',.&.>@:<"1@|: i.3 3' > 0.0001913 > > 10000(6!:2)'<@,."1@|: i.3 3' > 0.0001713 > > On Fri, 5 Feb 1999, Paul Gauthier wrote: > > > Understanding is nice...Timing is also nice... > > > > m42=:<"1@|: > > m42x=:<@,."1@|: > > > > Timing: > > > > 10000(6!:2)'m42 i.3 3' > > 0.000104 > > > > 10000(6!:2)'m42x i.3 3' > > 0.000121 > > > > Andrew Nikitin wrote: > > > > > 5-Feb-99 02:50 Paul Gauthier wrote: > > > > m42=:<"1@|: NB.Box each column of a matrix > > > > > > > > > > Another way of understanding phrase "box columns" is > > > > > > <@,."1@|: i.3 3 > > > +-+-+-+ > > > |0|1|2| > > > |3|4|5| > > > |6|7|8| > > > +-+-+-+ > > > > > > > "Nichols, Peter" wrote: > > > > > I know I could transpose but it seems like there should be a > > > > > more elegant way. > > > > > > The only thing that is more elegent than Transpose is dyadic transpose. > > > > > > nsg > > -------------------------------------------------------------------------------- > J Forum: for information about this list, see http://www.jsoftware.com/forum.htm -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Sat Feb 6 15:15:08 1999 Date: Sat, 06 Feb 1999 14:07:49 -0600 From: Peter Nichols <pnichols@airmail.net> Subject: Re: Jforum: Boxing Columns References: <Pine.LNX.4.04.9902061747430.2148-100000@spin.vl.net.ua> <36BC7B4F.AE39B789@sympatico.ca> Working on Saturday? Or just amusing yourself. Well, this idiom is the strangest to my mind so far. I kind of like it though. So what are you working at these days? Oh, this is my personal email, the other is at work. Ciao Paul Gauthier wrote: > > Timing is pay for what I wanna get... > Well ! and what about that for a visual effect... > <"2,"0|:i.3 3 > +-+-+-+ > |0|1|2| > |3|4|5| > |6|7|8| > +-+-+-+ > 10000(6!:2)'<"2,"0|:i.3 3' > 0.000159 > 10000(6!:2)'<@,."1@|: i.3 3' > 0.00017 > > Oleg Kobchenko wrote: > > > Timing is pay for what you wanna get. In Nikitin's > > case we get added value of visually preserving the shape. > > Consider: > > > > <"1@|: i.3 3 > > +-----+-----+-----+ > > |0 3 6|1 4 7|2 5 8| > > +-----+-----+-----+ > > <@,."1@|: i.3 3 > > +-+-+-+ > > |0|1|2| > > |3|4|5| > > |6|7|8| > > +-+-+-+ > > > > NB. Here we add value afterwards > > > > ,.&.>@:<"1@|: i.3 3 > > +-+-+-+ > > |0|1|2| > > |3|4|5| > > |6|7|8| > > +-+-+-+ > > > > NB. Hence the timing > > > > 10000(6!:2)'<"1@|: i.3 3' > > 0.0001342 > > > > 10000(6!:2)',.&.>@:<"1@|: i.3 3' > > 0.0001913 > > > > 10000(6!:2)'<@,."1@|: i.3 3' > > 0.0001713 > > > > On Fri, 5 Feb 1999, Paul Gauthier wrote: > > > > > Understanding is nice...Timing is also nice... > > > > > > m42=:<"1@|: > > > m42x=:<@,."1@|: > > > > > > Timing: > > > > > > 10000(6!:2)'m42 i.3 3' > > > 0.000104 > > > > > > 10000(6!:2)'m42x i.3 3' > > > 0.000121 > > > > > > Andrew Nikitin wrote: > > > > > > > 5-Feb-99 02:50 Paul Gauthier wrote: > > > > > m42=:<"1@|: NB.Box each column of a matrix > > > > > > > > > > > > > Another way of understanding phrase "box columns" is > > > > > > > > <@,."1@|: i.3 3 > > > > +-+-+-+ > > > > |0|1|2| > > > > |3|4|5| > > > > |6|7|8| > > > > +-+-+-+ > > > > > > > > > "Nichols, Peter" wrote: > > > > > > I know I could transpose but it seems like there should be a > > > > > > more elegant way. > > > > > > > > The only thing that is more elegent than Transpose is dyadic transpose. > > > > > > > > nsg > > > > -------------------------------------------------------------------------------- > > J Forum: for information about this list, see http://www.jsoftware.com/forum.htm > > -------------------------------------------------------------------------------- > J Forum: for information about this list, see http://www.jsoftware.com/forum.htm -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Sat Feb 6 17:24:22 1999 From: "Donald Pittenger" <dbpitt@demlab.com> Subject: Jforum: 2-D graph modes Date: Sat, 6 Feb 1999 14:13:25 -0800 boundary="----=_NextPart_000_0008_01BE51DA.DC1B2740" This is a multi-part message in MIME format. ------=_NextPart_000_0008_01BE51DA.DC1B2740 charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable I am doing some gl2 graphing, and drafted a program using J402a under = Win98. At another location, I ran the same program using J402a, but this time = under NT4.0. The latter graph had bold lines that should have been uniform width (as = they were in the Win98 setting) stretched in the vertical direction...as = if they were built from tiny character blocs rather than square pixels. So far as I know, the J environments are identical, aside from the = operating system and the fact that the case 1 computer is a Compaq = 300Mhz Pentium and case 2 is a Dell 400Mhz Pentium. Also, the case 2 = computer's J was downloaded a few days before that for case 1, if that = means anything. Does anyone have any suggestions as to how to get those lines back to = constant width? The wd on-line docs suggest the default glmap ought to = deal with this without intervention. Thanks for your help (in advance). Don Pittenger ------=_NextPart_000_0008_01BE51DA.DC1B2740 charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable <!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 HTML//EN"> <HTML> <HEAD> <META content=3Dtext/html;charset=3Diso-8859-1 = http-equiv=3DContent-Type> <META content=3D'"MSHTML 4.72.3110.7"' name=3DGENERATOR> </HEAD> <BODY bgColor=3D#ffffff> <DIV><FONT color=3D#000000 size=3D2>I am doing some gl2 graphing, and = drafted a=20 program using J402a under Win98.</FONT></DIV> <DIV><FONT color=3D#000000 size=3D2></FONT> </DIV> <DIV><FONT color=3D#000000 size=3D2>At another location, I ran the same = program=20 using J402a, but this time under NT4.0.</FONT></DIV> <DIV><FONT color=3D#000000 size=3D2></FONT> </DIV> <DIV><FONT color=3D#000000 size=3D2>The latter graph had bold lines that = should have=20 been uniform width (as they were in the Win98 setting) stretched in the = vertical=20 direction...as if they were built from tiny character blocs rather than = square=20 pixels.</FONT></DIV> <DIV><FONT color=3D#000000 size=3D2></FONT> </DIV> <DIV><FONT color=3D#000000 size=3D2>So far as I know, the J environments = are=20 identical, aside from the operating system and the fact that the = case 1=20 computer is a Compaq 300Mhz Pentium and case 2 is a Dell 400Mhz = Pentium. =20 Also, the case 2 computer's J was downloaded a few days before that for = case 1,=20 if that means anything.</FONT></DIV> <DIV><FONT color=3D#000000 size=3D2></FONT> </DIV> <DIV><FONT color=3D#000000 size=3D2>Does anyone have any suggestions as = to how to=20 get those lines back to constant width? The wd on-line docs = suggest the=20 default glmap ought to deal with this without intervention.</FONT></DIV> <DIV><FONT color=3D#000000 size=3D2></FONT> </DIV> <DIV><FONT color=3D#000000 size=3D2>Thanks for your help (in = advance).</FONT></DIV> <DIV><FONT color=3D#000000 size=3D2></FONT> </DIV> <DIV><FONT color=3D#000000 size=3D2>Don = Pittenger</FONT></DIV></BODY></HTML> ------=_NextPart_000_0008_01BE51DA.DC1B2740-- -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Sat Feb 6 22:51:04 1999 From: "Seymour Glass" <glasss@mindspring.com> Subject: Re: Jforum: ,. Date: Sat, 6 Feb 1999 22:39:48 -0500 >Is there an example of j phrase containing ,.!.f with the result depending on >f? (i. 3 3 2) ,.!._ i. 3 1 0 1 2 3 4 5 0 _ 6 7 8 9 10 11 1 _ 12 13 14 15 16 17 2 _ Henry Rich -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Sun Feb 7 04:14:54 1999 Date: Sun, 07 Feb 1999 03:05:09 -0600 From: Paul Gauthier <pap.gauthier@sympatico.ca> Subject: Re: Jforum: ,. Fill atoms References: <36BB26E3.549D0A13@sympatico.ca> <ABqc4lsWUB@voxel.kharkov.ua> <36BC5FF0.6234@lafvax.lafayette.edu> I agree with Cliff and will just add a little touch. v2pca=:|:@:(,:!.9) NB. vectors to padded column adjoin using 9 for fill (i.2)v2pca(i.3) 0 0 1 1 9 2 Why ?, my old habit of timing again... 10000(6!:2)'(,"0 i.2)pca(i.3)' 0.000203 10000(6!:2)'(i.2)v2pa(i.3)' 0.000138 Cliff Reiter wrote: > Andrew Nikitin wrote: > > > > Dictionary says: > > > > "The fit conjunction (,.!.f) provides fill specified by the items of f." > > > > In what cases such fill is applied? When arguments agree in length, then no > > Perhaps Stitch isn't really what you want. Stitch is handy, but often > I find I really need adjoin when I thought about stitch first. > > Consider the following examples > > ]c1=.,.1 2 3 NB. col 1 > 1 > 2 > 3 > ]c2=.,.10*1 2 3 4 5 NB. col 2 > 10 > 20 > 30 > 40 > 50 > pca=. ,!. _ &.|: NB. padded column adjoin using infinity for fill > c1 pca c2 > 1 10 > 2 20 > 3 30 > _ 40 > _ 50 > > (i.3 3) pca i.4 4 > 0 1 2 0 1 2 3 > 3 4 5 4 5 6 7 > 6 7 8 8 9 10 11 > _ _ _ 12 13 14 15 > > Does pca do what you want? > Also consider stitch with fill: > > (i.2 3 4) ,.!. _] 10*i.2 3 7 > 0 1 2 3 _ _ _ > 4 5 6 7 _ _ _ > 8 9 10 11 _ _ _ > 0 10 20 30 40 50 60 > 70 80 90 100 110 120 130 > 140 150 160 170 180 190 200 > > 12 13 14 15 _ _ _ > 16 17 18 19 _ _ _ > 20 21 22 23 _ _ _ > 210 220 230 240 250 260 270 > 280 290 300 310 320 330 340 > 350 360 370 380 390 400 410 > > > need in fill arise. When they don't -- length error occurs. ie: > > > > (i.2) ,. (i.3) > > |length error > > | (i.2) ,.(i.3) > > (i.2) ,.!.9 (i.3) > > |length error > > | (i.2) ,.!.9(i.3) > > > > Is there an example of j phrase containing ,.!.f with the result depending on > > f? > > > > Why there exist such inconsistent thing as "length error"? Why not to reshape > > arguments to common length as for ,: always? > > > > nsg > -- > Clifford A. Reiter > Mathematics Department, Lafayette College > Easton, PA 18042 USA, 610-330-5277 > ^^^ Note new phone exchange > http://www.lafayette.edu/~reiterc > > -------------------------------------------------------------------------------- > J Forum: for information about this list, see http://www.jsoftware.com/forum.htm -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Mon Feb 8 16:44:18 1999 From: "Chris Burke" <cdburke@interlog.com> Subject: Jforum: J402 for Mac Date: Mon, 8 Feb 1999 16:24:12 -0500 charset="iso-8859-1" J402 for the Mac (PowerPC and 68K) is now available at www.jsoftware.com -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Tue Feb 9 11:06:27 1999 References: <36BC5FF0.6234@lafvax.lafayette.edu> Organization: Voxel From: "Andrew Nikitin" <nsg@voxel.kharkov.ua> Date: Tue, 9 Feb 1999 16:13:03 +0200 (EET) Subject: Re: Jforum: ,. Fill atoms 6-Feb-99 10:29 Cliff Reiter wrote: > Also consider stitch with fill: > > (i.2 3 4) ,.!. _] 10*i.2 3 7 > 0 1 2 3 _ _ _ > 4 5 6 7 _ _ _ > 8 9 10 11 _ _ _ > 0 10 20 30 40 50 60 > 70 80 90 100 110 120 130 > 140 150 160 170 180 190 200 > > 12 13 14 15 _ _ _ > 16 17 18 19 _ _ _ > 20 21 22 23 _ _ _ > 210 220 230 240 250 260 270 > 280 290 300 310 320 330 340 > 350 360 370 380 390 400 410 I have catch it up: catenate (and stitch) applies fill element to pad items to common shape, but it doesn't ravel frames (_1 frames in the case of ,.), so length error occurs when frames disagree in length. And this error occurs not "in" , (or ,.) but in " (,.=:,"_1 , as dictionary claims) This job is rather for " conjunction, who executes implicit looping over left and right operands simultaneously. So, it is " or something in place of it, who must create additional fill items for the shorter argument. nsg -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Tue Feb 9 12:20:49 1999 Date: Tue, 09 Feb 1999 10:58:55 -0600 From: Paul Gauthier <pap.gauthier@sympatico.ca> Subject: Re: Jforum: ,. Fill atoms References: <36BC5FF0.6234@lafvax.lafayette.edu> <ABl94msycH@voxel.kharkov.ua> Remember my prior message ? I agree with Cliff and will just add a little touch. v2pca=:|:@:(,:!.9) NB. vectors to padded column adjoin using 9 for fill (i.2)v2pca(i.3) 0 0 1 1 9 2 Why ?, my old habit of timing again... 10000(6!:2)'(,"0 i.2)pca(i.3)' 0.000203 10000(6!:2)'(i.2)v2pa(i.3)' 0.000138 Well, you could have two verbs, let say: v0=:(,:!.9) v1=:|:@:v0 An atomic argument in x,:y is first reshaped to the shape of the other (or to a list if the other argument is also atomic); the results are then itemized and catenated, as in (,:x),(,:y) .The fit conjunction (,:!.f) provides fill specified by the items of f. As per the vocabulary. I hope this fits your need.../Paul Andrew Nikitin wrote: > 6-Feb-99 10:29 Cliff Reiter wrote: > > Also consider stitch with fill: > > > > (i.2 3 4) ,.!. _] 10*i.2 3 7 > > 0 1 2 3 _ _ _ > > 4 5 6 7 _ _ _ > > 8 9 10 11 _ _ _ > > 0 10 20 30 40 50 60 > > 70 80 90 100 110 120 130 > > 140 150 160 170 180 190 200 > > > > 12 13 14 15 _ _ _ > > 16 17 18 19 _ _ _ > > 20 21 22 23 _ _ _ > > 210 220 230 240 250 260 270 > > 280 290 300 310 320 330 340 > > 350 360 370 380 390 400 410 > > I have catch it up: catenate (and stitch) applies fill element to pad items to > common shape, but it doesn't ravel frames (_1 frames in the case of ,.), so > length error occurs when frames disagree in length. And this error occurs not > "in" , (or ,.) but in " (,.=:,"_1 , as dictionary claims) > > This job is rather for " conjunction, who executes implicit > looping over left and right operands simultaneously. So, it is " or something > in place of it, who must create additional fill items for the shorter > argument. > > nsg > > -------------------------------------------------------------------------------- > J Forum: for information about this list, see http://www.jsoftware.com/forum.htm -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Tue Feb 9 16:49:30 1999 Date: Tue, 09 Feb 1999 15:32:33 -0600 From: Paul Gauthier <pap.gauthier@sympatico.ca> Subject: Re: Jforum: ,. Fill atoms References: <36BC5FF0.6234@lafvax.lafayette.edu> <ABl94msycH@voxel.kharkov.ua> Please help me understand what exactly you are trying to achieve... For example: m=:i.2 3 n=.i.4 l=:,!._ NB. append lines c=:|:@:((|:@[),!._|:@]) NB. append columns m l n 0 1 2 _ 3 4 5 _ 0 1 2 3 m c n 0 1 2 0 3 4 5 1 _ _ _ 2 _ _ _ 3 is it something like the above ?...Regards/Paul Andrew Nikitin wrote: > 6-Feb-99 10:29 Cliff Reiter wrote: > > Also consider stitch with fill: > > > > (i.2 3 4) ,.!. _] 10*i.2 3 7 > > 0 1 2 3 _ _ _ > > 4 5 6 7 _ _ _ > > 8 9 10 11 _ _ _ > > 0 10 20 30 40 50 60 > > 70 80 90 100 110 120 130 > > 140 150 160 170 180 190 200 > > > > 12 13 14 15 _ _ _ > > 16 17 18 19 _ _ _ > > 20 21 22 23 _ _ _ > > 210 220 230 240 250 260 270 > > 280 290 300 310 320 330 340 > > 350 360 370 380 390 400 410 > > I have catch it up: catenate (and stitch) applies fill element to pad items to > common shape, but it doesn't ravel frames (_1 frames in the case of ,.), so > length error occurs when frames disagree in length. And this error occurs not > "in" , (or ,.) but in " (,.=:,"_1 , as dictionary claims) > > This job is rather for " conjunction, who executes implicit > looping over left and right operands simultaneously. So, it is " or something > in place of it, who must create additional fill items for the shorter > argument. > > nsg > > -------------------------------------------------------------------------------- > J Forum: for information about this list, see http://www.jsoftware.com/forum.htm -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Wed Feb 10 11:14:23 1999 Date: Wed, 10 Feb 1999 09:52:45 -0600 From: Paul Gauthier <pap.gauthier@sympatico.ca> Subject: Jforum: Shame on me... For those APL old timers, enclose on axis (origin 0 of course) could be simulated in J with this: ea=:4 :'<"($,x.)]:x.|:y.' But this should be used for getting used to J, the timing on this one is terrible...Regards/Paul -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Fri Feb 12 06:32:27 1999 From: "Seymour Glass" <glasss@mindspring.com> Subject: Jforum: How do I find Mapi.dll? Date: Fri, 12 Feb 1999 06:13:26 -0500 I am trying to send Email from a J program. I decided that the MAPI interface was the one to use (comments on that decision welcomed), so I wrote the program, ending with mailrc =. 'Mapi MAPISendMail i i i *m i i' cd 0;0;msgallo;0;0 but this returns _1, indicating 'library not found'. I see the library in c:\Windows\System\Mapi.dll. What do I need to do to access the library? I have tried specifying 'Mapi.dll' and 'C:\Windows\System\Mapi' and 'C:\Windows\System\Mapi.dll' in the argument to cd, without success. Henry Rich -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Fri Feb 12 09:02:49 1999 Date: Fri, 12 Feb 1999 07:46:59 -0600 From: Paul Gauthier <pap.gauthier@sympatico.ca> Subject: Jforum: Oups! errata... In my prior message, winsck.dll should have been written winsck.ocx (the utility registers both .dll and .ocx). Regards/Paul -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Fri Feb 12 09:11:58 1999 Date: Fri, 12 Feb 1999 13:48:36 GMT From: J E H Shaw <strgh@csv.warwick.ac.uk> Subject: Jforum: WGL - J scripts for graphics output (preliminary versions!) Dear All, On my homepage are some tentative J scripts implementing WGL, a simple graphics language with ISIG & postscript output. I find the scripts useful for including graphics within LaTeX documents (you'll need psfrag, available from the ctan archives, if you have graphics containing text that needs interpreting by TeX). The only current documentation is a 5-year-old WGL manual describing the language + an implementation in APL*PLUS & tpic, but all my J code is of course self-documenting anyway :-) See http://www.warwick.ac.uk/statsdept/Staff/JEHS/jehwgl.htm Regards, Ewart Shaw PS: The above is all using J3. After a rough year I hope to be able to get & use J4 soon, and work again on my 'Warwick Guide to J'. Thanks again to everyone who commented on it, and please forgive my rudeness if I forgot to respond to you personally. -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Fri Feb 12 09:13:16 1999 Date: Fri, 12 Feb 1999 13:51:48 GMT From: J E H Shaw <strgh@csv.warwick.ac.uk> Subject: Jforum: Problems with =. =: and timex I've encountered awkward problems while writing a verb that automatically obtains timings for each line of a second (defined) verb. The following is the best I've come up with (invoked by timefn 'fun';y or timefn x;'fun';y): timefn=: verb define 50 timefn y. : xTMP=: 0 pick y. fTMP=. ;/ ('';1;1;1) {:: 5!:1 ] _2{y. yTMP=: _1 pick y. (x.&timeline each ,. ]) fTMP ) timeline=: dyad define sTMP=. (y. rplc 'y.';'yTMP') rplc 'x.';'xTMP' aTMP=. x. timex sTMP rplc '=:';'=.' do sTMP rplc '=.';'=:' aTMP ) I still seem to need global assignments (=:) even after replacing the `timeline each' in timefn by a loop to keep all invocations of timex within a single verb: NB. replace '(x.&timeline each ,. ]) fTMP' by... tTMP=. i.0 for_iTMP. i. # fTMP do. sTMP=. ((iTMP{fTMP) rplc 'y.';'yTMP') rplc 'x.';'xTMP' tTMP=. tTMP, x. timex sTMP rplc '=:';'=.' do sTMP rplc '=.';'=:' end. (;/tTMP) ,. ;/fTMP ) Can anyone suggest how to write a timefn verb without creating/overwriting globals? It must be able to handle lines like 'x.=. x. , 0' in the 'fun'-:fTMP function. A related query concerns the inability to create local variables in a specified locale (to tidy up the looping version of timefn): NB. attempt to create local y_tmp_ (3 : 'y_tmp_=: y.') 1 1 (3 : 'y_tmp_=. y.') 2 |nonce error | y_tmp_ =.y. y_tmp_ 1 Similarly I can't have 'for_i_tmp_. ... do. ... end.' I imagine that this sort of locale abuse might be frowned upon, but is the above behaviour explained in the J documentation? (I may well have overlooked or misunderstood it!) -- Ewart Shaw -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Fri Feb 12 09:34:57 1999 From: M.Day@fscii.maff.gov.uk Fri, 12 Feb 1999 13:54:50 +0000 Fri, 12 Feb 1999 14:15:37 +0000 Fri, 12 Feb 1999 14:15:04 +0000 Date: Fri, 12 Feb 1999 14:15:04 +0000 Content-Identifier: m1210212141447aa Alternate-Recipient: Allowed In-Reply-To: <199902121348.NAA08272@mimosa.csv.warwick.ac.uk> Subject: Re: Jforum: WGL - J scripts for graphics output (preliminary versions!) Ewart (sorry to broadcast this, J-listers, but I've lost Ewart's e-address.) Reminds me of BAPLA's APL Stats Library (ASL) etc - is anybody maintaining it, adding to it ...? I remember WGL (or similar) being extolled by the Warwickmen. Mike 215pm 12 2 99 (m.day@fscii.maff.gov.uk) JEHS said: >Dear All, >On my homepage are some tentative J scripts implementing WGL, >..... -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Fri Feb 12 09:47:46 1999 From: "Seymour Glass" <glasss@mindspring.com> Subject: Re: Jforum: How do I find Mapi.dll? - found Date: Fri, 12 Feb 1999 09:21:43 -0500 Oh, I see now, it's Mapi32.dll Henry Rich -----Original Message----- From: Seymour Glass <glasss@mindspring.com> Date: Friday, February 12, 1999 06:15 Subject: Jforum: How do I find Mapi.dll? >I am trying to send Email from a J program. > >I decided that the MAPI interface was the one to use (comments >on that decision welcomed), so I wrote the program, ending with > >mailrc =. 'Mapi MAPISendMail i i i *m i i' cd 0;0;msgallo;0;0 > >but this returns _1, indicating 'library not found'. I see the library in >c:\Windows\System\Mapi.dll. What do I need to do to access >the library? I have tried specifying 'Mapi.dll' and >'C:\Windows\System\Mapi' and 'C:\Windows\System\Mapi.dll' >in the argument to cd, without success. > >Henry Rich > > > >--------------------------------------------------------------------------- ----- >J Forum: for information about this list, see http://www.jsoftware.com/forum.htm -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Fri Feb 12 10:22:29 1999 Date: Fri, 12 Feb 1999 15:00:17 +0000 (GMT) From: J E H Shaw <strgh@csv.warwick.ac.uk> Subject: Re: Jforum: WGL - J scripts for graphics output In-Reply-To: <m1210212141447aa*/I=M/S=Day/OU=FSCII/O=MAFF/PRMD=MAFF400/ADMD=ATTmail/C=GB/@MHS> [Following up Mike Day's post about WGL & ASL (APL Stats Language] WGL started life as `gr', an unholy mixture of C, Fortran 77 & 68000 assembler I wrote in 1985. Many of the papers in `the Statistician' 36:2-3 (`Practical Bayesian Statistics') include gr output. When I came to Warwick I translated gr to APL, which then formed the basis for ASL. I don't know if anyone still maintains or even uses ASL, but I intend to add further J scripts with higher-level graphics, using the basic WGL language, to my WWW pages. Real Soon Now. -- Ewart Shaw J.E.H.Shaw [Ewart Shaw] strgh@uk.ac.warwick TEL: +44 203 523069 Department of Statistics, University of Warwick, Coventry CV4 7AL, U.K. http://www.warwick.ac.uk/statsdept/Staff/JEHS/ yacc - the piece of code that understandeth all parsing -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Fri Feb 12 10:39:50 1999 Date: Fri, 12 Feb 1999 15:03:24 +0000 (GMT) From: J E H Shaw <strgh@csv.warwick.ac.uk> cc: Receipt Notification Requested <forum@jsoftware.com> Subject: Re: Jforum: WGL - J scripts for graphics output (preliminary versions!) In-Reply-To: <m1210212141447aa*/I=M/S=Day/OU=FSCII/O=MAFF/PRMD=MAFF400/ADMD=ATTmail/C=GB/@MHS> Dear Mike, Thank you for your comment - I've sent a note about WGL, ASL etc. to jforum. I'd be interested to hear your comments on WGL if you should use it or just look at it - I'm not aware of any bugs, but am painfully aware of meny inefficiencies. Regards, Ewart J.E.H.Shaw [Ewart Shaw] strgh@uk.ac.warwick TEL: +44 203 523069 Department of Statistics, University of Warwick, Coventry CV4 7AL, U.K. http://www.warwick.ac.uk/statsdept/Staff/JEHS/ yacc - the piece of code that understandeth all parsing -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Fri Feb 12 14:39:33 1999 From: "John D. Baker" <bakerjd@kos.net> Subject: Re: Jforum: How do I find Mapi.dll? Date: Fri, 12 Feb 1999 14:20:46 -0500 charset="iso-8859-1" I'm curious about the *m declaration in your call. I've been doing a lot of J/WinAPI programming lately and as far as I know the you can only declare: c character (1 byte) s short integer (2 byte) i integer (4 byte) f short floating-point (4 byte) d floating point (8 byte) j complex (16 byte) (not as result)