From owner-jsoftware@lists.interlog.com Sun Jan 31 18:45:36 1999 Organization: S&PE Telematika From: "ASB" 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 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" 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" 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 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" 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" 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 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 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 > To: 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" 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 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 >> To: 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" 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 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(<( > 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 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 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" 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 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" 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 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 > To: 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 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 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$&.|.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 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" 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 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 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" Subject: Re: Jforum: Amending columns in a matrix Date: Tue, 2 Feb 1999 20:46:10 -0500 -----Original Message----- From: Martin Neitzel 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 Subject: Re: Jforum: Amending columns in a matrix References: <000a01be4ef3$379e6720$91d23dcf@billy> J Tibollo wrote: > Can someone offer a technical explanation of why: >... 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" Subject: Jforum: fmt Date: Wed, 3 Feb 1999 16:38:43 +0100 I'm looking at the utility fmt in the script '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 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" 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 Subject: Re: Jforum: Amending columns in a matrix In-Reply-To: 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 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 Subject: Re: Jforum: Amending columns in a matrix References: 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" 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 Subject: Re: Jforum: Amending columns in a matrix In-Reply-To: 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" 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" 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 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
I think it's impossible to do = this=20 implicitly.  But explicitly you could write:
 
NB. Adverb: y. is anything, x. is = anything,=20 (x.&u.) is applied to each infix of length #x.
appliedtoinfixes = =3D: 1 :=20 0
[: y.
:
(#x.) (x.&u.)\ y.
)
and then:
 
   wsum =3D. +/ @: *
   1 2 3 wsum = appliedtoinfixes i.=20 10
8 14 20 26 32 38 44 50
 
the monadic case is defined so that:

   wsum appliedtoinfixes i. 10
|valence=20 error
|       [:y.
When to use tacit vs. explicit is a personal choice.  I use = tacits for=20 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=20 pass x. or y.
into an adverb or conjunction.
 
Henry Rich
 
-----Original = Message-----
From:=20 Piet de Jong <piet.dejong@commerce.ubc.ca>
To:=20 forum@jsoftware.com = <forum@jsoftware.com>
Dat= e:=20 Thursday, February 04, 1999 15:07
Subject: Re: Jforum: = Amending=20 columns in a matrix

On=20 the subject of the amend verb , here is someting that I sometimes = wish for=20 in J.

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.

For example

12 (+/%#) \ x

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) =

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 =



---------------------------------------------------------= -----------------------=20 J Forum: for information about this list, see=20 http://www.jsoftware.com/forum.htm ------=_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" 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" 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" 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" 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" Subject: Re: Jforum: Amending columns in a matrix References: 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" 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 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 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" 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" 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 > > '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" 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 Subject: Re: Jforum: Boxing Columns References: <36BAB0EA.18772AE@sympatico.ca> 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" 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 Subject: Re: Jforum: ,. Fill atoms Organization: Lafayette College Content-type: text/plain; charset=us-ascii References: <36BB26E3.549D0A13@sympatico.ca> 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 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" 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 Subject: Re: Jforum: Boxing Columns References: 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 Subject: Re: Jforum: Boxing Columns References: <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" 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
I am doing some gl2 graphing, and = drafted a=20 program using J402a under Win98.
 
At another location, I ran the same = program=20 using J402a, but this time under NT4.0.
 
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.
 
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.
 
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.
 
Thanks for your help (in = advance).
 
Don = Pittenger
------=_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" 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 Subject: Re: Jforum: ,. Fill atoms References: <36BB26E3.549D0A13@sympatico.ca> <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" 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" 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 Subject: Re: Jforum: ,. Fill atoms References: <36BC5FF0.6234@lafvax.lafayette.edu> 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 Subject: Re: Jforum: ,. Fill atoms References: <36BC5FF0.6234@lafvax.lafayette.edu> 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 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" 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 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 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 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" 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 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 Subject: Re: Jforum: WGL - J scripts for graphics output In-Reply-To: [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 cc: Receipt Notification Requested Subject: Re: Jforum: WGL - J scripts for graphics output (preliminary versions!) In-Reply-To: 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" 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) * pointer n no result (result, if any, is ignored and 0 is returned) Note: you can pass out the short int, tiny int and short float types without difficulty but you may have to force them to standard form (masking off bits et cetera) when you read them back in. Also, if you are sending a message, which I presume is some sort of char list you will likely need to supply the dll with a pointer describing the location of your text (is this *m). Something like require 'dll' NB. standard j4.02 dll lib text =: 'this is my message' iad =: 3 : 0 NB. (iad) integer address - returns a pointer to NB. a J array in 32bit integer form. NB. NB. monad: iaAdd =. iadd clNoun NB. NB. boo =. 'some data here ehhh!' NB. iad 'boo' ple=. 15!:6 Date: Friday, February 12, 1999 6:21 AM 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 Fri Feb 12 14:40:16 1999 Date: Fri, 12 Feb 1999 14:38:17 -0500 (EST) From: Mail Delivery Subsystem Subject: Returned mail: Service unavailable Auto-Submitted: auto-generated (failure) The original message was received at Fri, 12 Feb 1999 14:38:13 -0500 (EST) from math.uwaterloo.ca [129.97.216.42] *** ATTENTION *** Your e-mail is being returned to you because there was a problem with its delivery. The AOL address which was undeliverable is listed in the section labeled: "----- The following addresses had permanent fatal errors -----". The reason your mail is being returned to you is listed in the section labeled: "----- Transcript of Session Follows -----". The line beginning with "<<<" describes the specific reason your e-mail could not be delivered. The next line contains a second error message which is a general translation for other e-mail servers. Please direct further questions regarding this message to your e-mail administrator. --AOL Postmaster ----- The following addresses had permanent fatal errors ----- ----- Transcript of session follows ----- ... while talking to air-zb04.mail.aol.com.: >>> RCPT To: <<< 552 CraziNicci MAILBOX FULL 554 ... Service unavailable ----- Original message follows ----- Date: Fri, 12 Feb 1999 14:38:14 -0500 (EST) From: Lee Dickey Subject: Away from the terminal Over the next week or so, I expect to be connected only occassionally. If there is something important or urgent, please contact me on the 15th or 16th. Lee Dickey From owner-jsoftware@lists.interlog.com Fri Feb 12 15:16:25 1999 From: "Seymour Glass" Subject: Re: Jforum: How do I find Mapi.dll? Date: Fri, 12 Feb 1999 14:54:29 -0500 John Baker says: >Also, if you are sending a message, which I presume is some >sort of char list you will likely need to supply the dll with a >pointer describing the location of your text (is this *m)? I have to build structures and pass a pointer to them to the DLL. The verbs I use for this are: NB. y. is (possibly list of) dwords, result is byte string for them (little-endian) longwords =. 13 : ', |."1 (256 256 256 256 #: y.) { a.' NB. y. is character string, result is memory address of a copy of the string, null-terminated allostring =. (] [ [ memw (, 0&,@>:@#)~) mema@>:@# An example of use is the MapiRecipDesc structure: oaddrallo =. allostring 'glasss@mindspring.com' originallo =: allostring longwords 0,0,0,oaddrallo,0,0 which is the recipient structure needed by the DLL. originallo is a pointer to the structure, which contains some zeros and a pointer to the string. The way I read the help file (4.01), when I use the '*m' declaration, it matches either a list or an integer scalar: if a list, it produces the address of the list; if a scalar, it produces the value of the scalar. So the result of the mema call is suitable to match *m. Concerning the iad verb below: 15!:6 is not defined in 4.01, but it looks as if it returns the header for a noun. Aren't you afraid that your noun may be moved without notice by the interpreter, even in the middle of executing a verb, perhaps? If that's the case, your pointers would be unreliable & the only solid solution would be to allocate & copy, as above. I don't know whether 4.02 gives you any guarantee on the persistence of variable allocation, but without one I'd fear the worst. Henry Rich > Something like > >require 'dll' NB. standard j4.02 dll lib > >text =: 'this is my message' > >iad =: 3 : 0 > >NB. (iad) integer address - returns a pointer to >NB. a J array in 32bit integer form. >NB. >NB. monad: iaAdd =. iadd clNoun >NB. >NB. boo =. 'some data here ehhh!' >NB. iad 'boo' > >ple=. 15!:6 pa=. memr ple,4,1,4 NB. ptr to array >''$pa+memr pa,0,1,4 NB. plus offset to data >) > >vad =: <@:iad NB. also useful for dll calls > >iad 'text ' returns a pointer to the start of text. > >caveats: J version 4.02 has a different header data structure >than earlier versions this was done to facilitate mapped >arrays (iad) probably will not on earlier versions of J - >unless of course you are writing a GPF'er > >John D. Baker >bakerjd@kos.net > >-----Original Message----- >From: Seymour Glass >To: forum@jsoftware.com >Date: Friday, February 12, 1999 6:21 AM >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 -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Sat Feb 13 10:40:54 1999 References: <009a01be56c1$9534e0a0$cda056d1@seymourg> Organization: Voxel From: "Andrew Nikitin" Date: Sat, 13 Feb 1999 17:20:35 +0200 (EET) Subject: Jforum: $: I have just trapped into interesting thing: there is difference using self reference and verb name: path=:... path@] ... and path=:... $:@] ... behave differently: always $: have infinite rankm that isn't obligatory for path. By the way, is there a possibility do determine the rank of the self? nsg -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Sat Feb 13 10:41:17 1999 References: <009a01be56c1$9534e0a0$cda056d1@seymourg> Organization: Voxel From: "Andrew Nikitin" Date: Sat, 13 Feb 1999 12:12:39 +0200 (EET) Subject: Re: Jforum: How do I find Mapi.dll? 12-Feb-99 14:54 Seymour Glass wrote: > 15!:6 is not defined in 4.01, but it looks as if it returns the header You may find some undocumented j foreigns in standard scripts: eg. system/main/dll.ijs defines 15!:5, 15!:6, 15!:7, 15!:8, 15!:9, 15!:10, 15!:11 and so on and slightly describes them. Maybe their undocumentedness means they are subject to change? nsg -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Sat Feb 13 11:11:37 1999 Date: Sat, 13 Feb 1999 10:57:46 -0500 (EST) From: "Brian M. Schott" Subject: Re: Jforum: $: In-Reply-To: I noticed a slight difference between these too and sent a message to tech@software.com. My recollections are not very good, but I think one of the two methods crashed my machine when I had either an error or a deep recursion, I cannot remember which. Also, I seem to remember that $: was more efficient in either speed or memory usage when a "tail recursion" was involved. (B=) On Sat, 13 Feb 1999, Andrew Nikitin wrote: +I have just trapped into interesting thing: there is difference using self +reference and verb name: + +path=:... path@] ... + +and + +path=:... $:@] ... + +behave differently: always $: have infinite rankm that isn't obligatory for +path. + +By the way, is there a possibility do determine the rank of the self? + + +nsg -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Sat Feb 13 17:16:13 1999 Date: Sat, 13 Feb 1999 23:07:54 +0100 From: Martin Neitzel Subject: Jforum: The J source repository is declared open I'm pleased to announce that the CVS based repository for J code at juggle.gaertner.de is now open for users and contributers. Details about the repository, pointers to the required CVS software, and a tutorial how to access the repository from Unix, Windows, and MacIntosh systems can all be found at http://juggle.gaertner.de/cvs/ The juggle repository is set up to host the official J standard library for Unix systems as well as any J software (or other material) contributed by others, be it portable or platform-specific to Unix, Windows, Macs, or whatever the future brings along. The intent of this announcement is to get everybody rolling with the technology involved. If you have problems with the tutorial, the repository, or the cvs software, please let me know. Contributors have _not_ been given a head-start to put their material into the repository. Other than 1 - the J standard lib for unix systems 2 - a demo package for use with the tutorial 3 - the J Workbench (a hypertext-style, full screen debugger and development environment for tacit programming, written for "wd"-equipped systems and in beta-quality) there's nothing in it. Yet. Naturally, I would also like to encourage contributors to request an developer's account from me to store their J packages in the repository. I will not unpack other people's zip files into it because the maintainence of sources is all what CVS is about. The source control and version management provided by CVS should be a great benefit for both maintainers, co-maintainers, and users of the scripts and packages. Also, the user base of the Unix J system will have a chance to see and/or use updates to the standard library before a new official release hits the road. They are welcome to submit cvs diffs made against the repository for inclusion into the standard distribution. Martin Neitzel [PS: This announcement / invitation is going out to both the juggle-announce@gaertner.de and forum@jsoftware.com mailing lists. Followups please to the non-announcement "juggle@gaertner.de" list and "forum@jsoftware.com". Thank you.] -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Sun Feb 14 12:26:59 1999 From: "John D. Baker" Subject: Re: Jforum: How do I find Mapi.dll? Date: Sun, 14 Feb 1999 12:13:40 -0500 charset="iso-8859-1" Henry, Thanks for your description of *m. Your MAPI calls look quite interesting. When they're done you might think about making a contribution to Martin's new J repository. As for your remarks: >15!:6 is not defined in 4.01, but it looks as if it returns the header >for a noun. Aren't you afraid that your noun may be moved without >notice by the interpreter, even in the middle of executing a verb, >perhaps? If that's the case, your pointers would be unreliable & >the only solid solution would be to allocate & copy, as above. I >don't know whether 4.02 gives you any guarantee on the persistence >of variable allocation, but without one I'd fear the worst. This is a very good point. (iad) is one of Eric Iverson's creations. Eric got me started with dll programming by supplying a few key utilities and model verbs. I am hoping to meet with him next week and I will bring this point up. I know there have been changes to the way dll's are called and how data sloshes around in J. Many of these changes came about as a consequence of the LAPACK interface which can pass reliably pass massive arrays. Regarding the movement of data. I have been using the iad verb to build an ODBC interface that more fully supports the ODBC API. In my testing I have retrieved hundreds of thousands of rows without any problems of global data being moved. Either it doesn't move in j4.02 or I haven't hit that condition yet. The nt machine I work on does have a fair wack of memory. I've only paged once and that was processing a 2,500 by 2,500 table with each element a boxed char list. 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 Mon Feb 15 08:42:40 1999 From: "Bjorn G. Helgason" Subject: RE: Jforum: How do I find Mapi.dll? Date: Mon, 15 Feb 1999 07:16:28 -0000 Content-Type: multipart/mixed; boundary="---- =_NextPart_000_01BE58E7.1BAF1020" ------ =_NextPart_000_01BE58E7.1BAF1020 From: John D. Baker[SMTP:bakerjd@kos.net] > In my testing I have retrieved hundreds of thousands > of rows without any problems of global data being moved. Either > it doesn't move in j4.02 or I haven't hit that condition yet. Please explain !! What do you mean you are retrieving a lot of data with ODBC without the data being moved ? How is that possible ? Is the data you are refering to on your machine or on a server ? What database is the data kept in ? /Gosi ------ =_NextPart_000_01BE58E7.1BAF1020 Content-Type: application/ms-tnef Content-Transfer-Encoding: base64 eJ8+IisNAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAENgAQAAgAAAAIAAgABBJAG ABwBAAABAAAADAAAAAMAADADAAAACwAPDgAAAAACAf8PAQAAAEUAAAAAAAAAgSsfpL6jEBmdbgDd AQ9UAgAAAABmb3J1bUBqc29mdHdhcmUuY29tAFNNVFAAZm9ydW1AanNvZnR3YXJlLmNvbQAAAAAe AAIwAQAAAAUAAABTTVRQAAAAAB4AAzABAAAAFAAAAGZvcnVtQGpzb2Z0d2FyZS5jb20AAwAVDAEA AAADAP4PBgAAAB4AATABAAAAFgAAACdmb3J1bUBqc29mdHdhcmUuY29tJwAAAAIBCzABAAAAGQAA AFNNVFA6Rk9SVU1ASlNPRlRXQVJFLkNPTQAAAAADAAA5AAAAAAsAQDoBAAAAAgH2DwEAAAAEAAAA AAAAAxs0AQiABwAYAAAASVBNLk1pY3Jvc29mdCBNYWlsLk5vdGUAMQgBBIABACQAAABSRTogSmZv cnVtOiBIb3cgZG8gSSBmaW5kIE1hcGkuZGxsPwBZCwEFgAMADgAAAM8HAgAPAAcAEAAcAAEAGwEB IIADAA4AAADPBwIADwAHAAwAHwABABoBAQmAAQAhAAAAQUM4MEZGRjFBNEM0RDIxMThCOUEyQ0Ex RkZDMDAwMDAATQcBA5AGANADAAASAAAACwAjAAEAAAADACYAAAAAAAsAKQABAAAAAwA2AAAAAABA ADkAQNjxGrNYvgEeAHAAAQAAACQAAABSRTogSmZvcnVtOiBIb3cgZG8gSSBmaW5kIE1hcGkuZGxs PwACAXEAAQAAABYAAAABvlizGrfx/4CtxKQR0ouaLKH/wAAAAAAeAB4MAQAAAAUAAABTTVRQAAAA AB4AHwwBAAAAEAAAAGdvc2lAY2VudHJ1bS5pcwADAAYQGQ8EDAMABxBqAQAAHgAIEAEAAABlAAAA RlJPTTpKT0hOREJBS0VSU01UUDpCQUtFUkpEQEtPU05FVElOTVlURVNUSU5HSUhBVkVSRVRSSUVW RURIVU5EUkVEU09GVEhPVVNBTkRTT0ZST1dTV0lUSE9VVEFOWVBST0JMRQAAAAACAQkQAQAAAFAC AABMAgAADgQAAExaRnXUVbxt/wAKAQ8CFQKoBesCgwBQAvIJAgBjaArAc2V0MjcGAAbDAoMyA8UC AHByQnER4nN0ZW0CgzP3AuQHEwKDNANFEzUHbQKD9jUSzBTFfQqACM8J2QKABwqBDbELYG5nMTAz xjkK9AzQMTQ0DfALVQsVYQvxIAqLbGkxOHIwAtFpLRxjHEwLwjFWNgwhE1BvE9BjBUBGPQNhOgrh H9sgxgyCIEoEb2gDoEQuIEJhAmsEkFtTTVRQOgJiI/JqZEBrb3OULm4RwF0dnTM2HJ6+PgtGFFEL 8iDGKRBJA6C4bXkgE9ATwAuAZykwoiARgHZlIBnQdAiBxSpgZCowdW5kGdEEINRvZimQaAhgcwBw K5C/Cocm3CGXKD0rwQNgdwQg/wPwK/IFQABwKYAgwQJgE+CdK6NnGWAkkAMgZGEBkHggYmUp4gRg KvEjwCD+RTABBJAlnyavLf8g1TAA5THQbweQbicFQDKSNwDhA6BqNC4wEeAFsSok3TeCaDcRK/Ax 8CAFoCtQ5TAAaQIgIHkRwCPACo8VHP9QMPBhEbAgZXjBC1MgISEgVznCN0D/OpAIYClgPTA6gT7B CsAqdz8p4jIQGWAvUzHjL/IgT3hEQkM69S/2MzEx3yB4PyBIL7A3AAQgObNw7yUgAJAw4UQRSUSS QvU/Rts69RnQZgZxKfF0PpA6cv8IYSlgANA5cCVQOJI6cTIQ/RGwcipgBcBEID40MfEkkL89UUSD QvUkAAUxOBE/OvW0L0clIGk69RjxAE3QAwAQEAAAAAADABEQAAAAAEAABzCgTL+Nsli+AUAACDCg TL+Nsli+AR4APQABAAAABQAAAFJFOiAAAAAAYBc= ------ =_NextPart_000_01BE58E7.1BAF1020-- -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Mon Feb 15 09:22:29 1999 Date: Mon, 15 Feb 1999 14:47:33 +0100 (MET) From: Martin Neitzel Subject: RE: Jforum: How do I find Mapi.dll? > Please explain !! What do you mean you are retrieving a lot of data with ODBC > without the data being moved ? How is that possible ? John was refering to the original question if the data structures specific to the 15!: foreigns (data headers and such) are "moving" or sufficiently fixed for the rest of the J system not to cause serious havoc. [It's all safe when you properly annouce the memory blocks as "managed by the J allocator" / "not managed by the J allocator". Whenever you fiddle with the 15!:6 7 8 9 routines, "not managed by J" is very likely what you need and what protects against dangling data references.] Martin -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Mon Feb 15 09:52:29 1999 Date: Mon, 15 Feb 1999 08:54:59 -0500 From: Eric Iverson Organization: Iverson Software Inc. Subject: Re: Jforum: 2-D graph modes References: <000b01be521d$eb18e8c0$63fe02c7@fwh71> Donald Pittenger wrote: > > 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 My first suspicion is the video driver. In the cases I have seen where OpenGL doesn't draw properly, installing the latest video driver fixes the problem. -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Mon Feb 15 10:03:27 1999 Date: Mon, 15 Feb 1999 09:30:39 -0500 From: Cliff Reiter Subject: Re: Jforum: 2-D graph modes Organization: Lafayette College Content-type: text/plain; charset=us-ascii References: <000b01be521d$eb18e8c0$63fe02c7@fwh71.lafayette.edu> <36C82733.65E5@interlog.com> I have had trouble with gl3 graphics on a 400 MHz Dell (dual Xeon) so if you find that a video driver is the right fix, I'ld like to know. But I admit, fixing this is low on my list of priorities. Best, Cliff Eric Iverson wrote: > > Donald Pittenger wrote: > > > > 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 > > My first suspicion is the video driver. In the cases I have seen where > OpenGL doesn't draw properly, installing the latest video driver fixes > the problem. > > -------------------------------------------------------------------------------- > J Forum: for information about this list, see http://www.jsoftware.com/forum.htm -- 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 Mon Feb 15 13:05:47 1999 From: "John D. Baker" Subject: Re: Jforum: How do I find Mapi.dll? Date: Mon, 15 Feb 1999 11:25:46 -0500 charset="iso-8859-1" Martin, Thanks for your remarks. >[It's all safe when you properly annouce the memory blocks >as "managed by the J allocator" / "not managed by the J allocator". >Whenever you fiddle with the 15!:6 7 8 9 routines, "not managed >by J" is very likely what you need and what protects against >dangling data references.] This is good news for for api/dll programmers and a very good reason to upgrade to the latest J as it makes calling dll's fairly simple rather than an exercise in outsmarting the J memory manager. 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 Mon Feb 15 14:04:00 1999 From: "Donald Pittenger" Subject: Re: Jforum: 2-D graph modes Date: Mon, 15 Feb 1999 10:49:03 -0800 charset="iso-8859-1" Eric My email was a mess for several days and just now got working. I surface-mailed some stuff to Chris, which he ought to be seeing today. I talked to Dell this morning & installed a new driver, but it had no effect. The tech says that CAD software has had some problems and that the screen metrics have to be dealt with one way or another. The problem is centered on the ATI Rage card/drivers apparently, but as I pointed out above, new drivers did not help. So it has to be done (if it can) via what J tells the rest of the system. Thin lines are no problem, and this surfaced when I had reason to draw wide lines. Don't kill yourself trying to solve this, but if there is a quick fix, let me know...I haven't really studied the various metric options in gl2, and assume one of you would be in a better position to understand. Chris has received similar info. Don Pittenger -----Original Message----- From: Eric Iverson Date: Monday, February 15, 1999 6:17 AM Subject: Re: Jforum: 2-D graph modes >Donald Pittenger wrote: >> >> 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 > >My first suspicion is the video driver. In the cases I have seen where >OpenGL doesn't draw properly, installing the latest video driver fixes >the problem. > > >--------------------------------------------------------------------------- ----- >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 17 01:19:50 1999 Date: Wed, 17 Feb 1999 01:10:54 -0500 (EST) From: "Brian M. Schott" Subject: Jforum: Sharma's Multivariate Stats text In-Reply-To: <36C82733.65E5@interlog.com> I have committed to teaching Multivariate Statistics this summer using a 1997 John Wiley textbook by Subhash Sharma. The book covers multivariate techniques (all the following techniques end with the word "analysis") including factor, discriminant, cluster, MANOVA, canonical, and confirmatory factor. The book is quite unique in its CLEAR combination of mathematical underpinnings (using matrix algebra, primarily) and applications using SAS and SPSS. Has anyone developed or discovered a J script for teaching multivariate statistics? Ideally such a script would simplify the working or verifying of toy end-of-chapter problems in the manner of a TI-83 stats calculator. The students do NOT want to learn J, but might be tricked into it if such a system were really simple. Students will be using SAS in the class. Btw, I am familiar with Smillie's (sp?) great statistical stuff, but it is not oriented toward multivariate analysis. (B=) -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Wed Feb 17 06:27:19 1999 Date: Wed, 17 Feb 1999 13:10:08 +0200 From: Anssi Seppala Subject: Jforum: JDLLSERVER understands not ijr-&ijl files In-Reply-To: <006301be5913$dc8580a0$42fe02c7@fwh71> Hi all,
I can't load locked script in JDLLServer : 0!:0<'test.ijl'. Does this mean that it is not possible at all in OLE.

However I can in development session do 0!:0<'test.ijl'.

While I am providing a J application to be used as a OLE Server, I can not protect my source? Right?

Anssi

-------------------------------------------------------------------
Anssi Seppälä
Consultant, electricity market and distribution: Applications and software
e-mail: Anssi.Seppala@enease.fi                 tel: +358 9 45400550
Enease Oy                                       fax: +358 9 45400551
Mannerheimintie 66 A                            mob: +358 400 760077
FIN - 00260  HELSINKI, Finland          http://www.kolumbus.fi/enease/ -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Wed Feb 17 09:37:12 1999 Date: Wed, 17 Feb 1999 09:17:31 -0500 From: Eric Iverson Organization: Iverson Software Inc. Subject: Re: Jforum: JDLLSERVER understands not ijr-&ijl files References: <4.1.19990217130216.00b117b0@pop.kolumbus.fi> Content-Transfer-Encoding: 8bit To Anssi Seppälä: Encrypting and decrypting ijr/ijl files is done in j.exe and is not available in JDLLServer. This forces attacks on encrypted scripts to be run under j.exe and we can provide a slightly higher level of security. To protect code distributed with a JDLLServer application you need your own mechanism. One way is to define the decryption program in J directly from your front end (VB or whatever), and then read your encrypted source, decode in J, and run. Another way is to build the J source files into the front end language as string variables (encrypted if you wish). The scripts are then part of the final application exe and are not easily visible. You can set the string data into J and run it. -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Wed Feb 17 11:42:26 1999 From: smillie@cs.ualberta.ca Subject: Re: Jforum: Sharma's Multivariate Stats text Date: Wed, 17 Feb 1999 09:17:20 -0700 (MST) In-Reply-To: from "Brian M. Schott" at Feb 17, 99 01:10:54 am Brian, Yes, you have spelled my last name correctly. Thanks for using the adjective "great" in reference to my work. You are correct in saying that there is no multivariate material there, apart from ANOVA of course. You certainly don't want to teach J but you might consider introducing it unobtrusively from time to time as a convenient alternative to SAS. A colleague of mine used SAS although he always felt that APL was much better for array calculations. Kind regards, Keith -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Wed Feb 17 12:06:36 1999 From: smillie@cs.ualberta.ca Subject: Jforum: Apologies Date: Wed, 17 Feb 1999 09:50:43 -0700 (MST) Sorry for sending to everyone a reply to Brian Schott's message. I should know by now that a reply goes to all subscribers and not just to the person sending the message. Keith -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Thu Feb 18 07:34:31 1999 References: Organization: Voxel From: "Andrew Nikitin" Date: Wed, 17 Feb 1999 14:32:26 +0200 (EET) Subject: Jforum: f. Do you know that if v is some verb than v1=.v and v2=.v f. is not the same. I don't mean those well known notworthseeing cases of calling inherited methods from child class, i mean plain old j. For example: sum=:({. + $:@}.)`0:@.(0: = #) NB. recursive definition of +/ sum 1 2 3 6 v1=: sum@sum v2=: sum@sum f. v1 2 2 v2 2 |limit error: v2 | v2 2 I have found no mentions on f. must be applied to recursive verbs with caution. nsg -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Fri Feb 19 09:17:21 1999 From: "John D. Baker" Subject: Jforum: ODBC API Beta Scripts Available Date: Fri, 19 Feb 1999 08:57:15 -0500 charset="iso-8859-1" In the next release of J the current ODBC interface will be replaced with J scripts that call the ODBC API directly. The current interface supports only a small subset of the capabilities of ODBC. The new version will: 1) support column binding for higher performance retrieval of fixed length datatypes 2) execute stored procedures with simple parameters 3) handle unicode datatypes 4) provide an open source model for J programmers to extend and modify A beta version of the scripts is available at www.jsoftware.com/scripts.htm 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 Fri Feb 19 09:40:41 1999 From: "Seymour Glass" Subject: Jforum: Simple MAPI interface available Date: Fri, 19 Feb 1999 09:22:48 -0500 Content-Type: multipart/mixed; boundary="----=_NextPart_000_0001_01BE5BE9.6AA10E40" Importance: Normal X-MS-TNEF-Correlator: 000000007B9D48BCC257BE119BA4EA9C812E9FD0E41D2100 This is a multi-part message in MIME format. ------=_NextPart_000_0001_01BE5BE9.6AA10E40 charset="iso-8859-1" A partial interface to Simple MAPI is available from www.jsoftware.com/scripts.htm Simple MAPI is a Microsoft interface to email. The routines here allow you to read mail and send mail from J programs. There are some deficiencies, notably that attachments are not supported, but it's better than nothing. Henry Rich ------=_NextPart_000_0001_01BE5BE9.6AA10E40 Content-Type: application/ms-tnef; name="winmail.dat" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="winmail.dat" eJ8+IjAOAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAEIgAcAGAAAAElQTS5NaWNy b3NvZnQgTWFpbC5Ob3RlADEIAQ2ABAACAAAAAgACAAEGgAMADgAAAM8HAgATAAkAFgAAAAUADwEB A5AGAAQGAAAnAAAACwACAAEAAAALACMAAAAAAAMAJgAAAAAACwApAAAAAAADADYAAAAAAB4AcAAB AAAAIAAAAFNpbXBsZSBNQVBJIGludGVyZmFjZSBhdmFpbGFibGUAAgFxAAEAAAAWAAAAAb5cE1J7 OHGBYsewEdK5T/tiJXVhIwAAAgEdDAEAAAAbAAAAU01UUDpHTEFTU1NATUlORFNQUklORy5DT00A AAsAAQ4AAAAAQAAGDgD0aTYTXL4BAgEKDgEAAAAYAAAAAAAAAHudSLzCV74Rm6TqnIEun9DCgAAA CwAfDgEAAAADAAYQ6bIuqAMABxAEAQAAHgAIEAEAAABlAAAAQVBBUlRJQUxJTlRFUkZBQ0VUT1NJ TVBMRU1BUElJU0FWQUlMQUJMRUZST01XV1dKU09GVFdBUkVDT00vU0NSSVBUU0hUTVNJTVBMRU1B UElJU0FNSUNST1NPRlRJTlRFUkZBQwAAAAACAQkQAQAAAJgBAACUAQAAOwIAAExaRnX1lZXtAwAK AHJjcGcxMjUWMgD4C2BuDhAwMzOdAfcgAqQD4wIAY2gKwOBzZXQwIAcTAoMAUH8EVRDZCFUHsgKD DlAQdnAscnEUYRD+fQqBdWOjAFALA3VsbgIgZQumVRFwIAqxdAcxIAuAdIUEkGYA0GUgdG8GAIcH cAtQGUBNQVBJGLD5BCBhdgtwC2ACYBlAA1KPCqIKhAqAAzExIHcccFAuanNvAYB3CsBlEi4FoG0v BPRzLmj+dBtbFEEZjwXQDeADYBzCLRi8ZQDAAxAuG2pUaPsZQANgdRhwF3AEICLwCXDtGnBsCQAH 4HkIYBlSCXDYYWQgIdIacG4lABEwZyWBJSMDUiBKG2QVAG/JCcBhbR3wICAi4SPSdyPRHMAHgCAB AQ3gCJBuMSjxcywgF1ABkWx5/xlQEQAFQCowAZAQ8AeAAjAfEMAbcygiKZEloHVwcDcJEQmAKXBi I0AYsHQnfQQgYhFAGOEqAgOgKZFoVQuAZyIbSAnwcinwUl0N4GgCshtzFmEAMKADABAQAAAAAAMA ERAAAAAACwABgAggBgAAAAAAwAAAAAAAAEYAAAAAA4UAAAAAAAADAAWACCAGAAAAAADAAAAAAAAA RgAAAABShQAA8BMAAB4ABoAIIAYAAAAAAMAAAAAAAABGAAAAAFSFAAABAAAABAAAADguNQADAAeA CCAGAAAAAADAAAAAAAAARgAAAAABhQAAAAAAAAsAEIAIIAYAAAAAAMAAAAAAAABGAAAAAA6FAAAA AAAAAwARgAggBgAAAAAAwAAAAAAAAEYAAAAAEIUAAAAAAAADABKACCAGAAAAAADAAAAAAAAARgAA AAARhQAAAAAAAAMAFYAIIAYAAAAAAMAAAAAAAABGAAAAABiFAAAAAAAAHgAlgAggBgAAAAAAwAAA AAAAAEYAAAAANoUAAAEAAAABAAAAAAAAAB4AJoAIIAYAAAAAAMAAAAAAAABGAAAAADeFAAABAAAA AQAAAAAAAAAeACeACCAGAAAAAADAAAAAAAAARgAAAAA4hQAAAQAAAAEAAAAAAAAACwAsgAsgBgAA AAAAwAAAAAAAAEYAAAAAAIgAAAAAAAALAC6ACyAGAAAAAADAAAAAAAAARgAAAAAFiAAAAAAAAAsA dIAIIAYAAAAAAMAAAAAAAABGAAAAAAaFAAAAAAAACwB4gAggBgAAAAAAwAAAAAAAAEYAAAAAgoUA AAEAAAACAfgPAQAAABAAAAB7nUi8wle+EZuk6pyBLp/QAgH6DwEAAAAQAAAAe51IvMJXvhGbpOqc gS6f0AIB+w8BAAAAUQAAAAAAAAA4obsQBeUQGqG7CAArKlbCAABQU1RQUlguRExMAAAAAAAAAABO SVRB+b+4AQCqADfZbgAAAEQ6XEV4Y2hhbmdlXG1haWxib3gucHN0AAAAAAMA/g8FAAAAAwANNP03 AAACAX8AAQAAADEAAAAwMDAwMDAwMDdCOUQ0OEJDQzI1N0JFMTE5QkE0RUE5QzgxMkU5RkQwRTQx RDIxMDAAAAAASiw= ------=_NextPart_000_0001_01BE5BE9.6AA10E40-- -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Fri Feb 19 15:11:35 1999 Date: Fri, 19 Feb 1999 19:57:59 +0000 From: Mike Day Subject: Re: Jforum: WGL - J scripts for graphics output (preliminary versions!) References: Ewart I tried WGLing yesterday evening, in j402. After changing the file extensions to ijs, I got it to work - at least testwgl - BUT I can't tie down some problem with "round" which inherits a dyadic definition from numeric.ijs whereas yours is monadic. It fails for me in "interpol" first time round, but in some circs, which I can't nail down, the snails and bugs appear! I suspect there's some competition between the versions of round - and perhaps other utilities - whereby the order of choice is a bit arbitrary. They've changed the locale-handling somewhat in 402 which is probably to blame. Looks good so far when it works! Mike PS tell Henry to reply sometime to his e-mails. J E H Shaw wrote: > > 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 -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Sat Feb 20 02:24:52 1999 Date: Sat, 20 Feb 1999 09:13:21 +0200 From: Anssi Seppala Subject: Jforum: Scriptdoc should be a J standard In-Reply-To: <36CDC247.7E124FAD@cwcom.net> References: Hi everybody, Does everybody know what Scriptdoc means to help commenting scripts? The scriptdoc is a tool of J Project Manager and it is a great idea how scripts are commented so that the Scriptdoc utility can show and print you a short summary of the verbs in a long script. While there is now promoptions of code from many programmes I hope those who know exactly what Scriptdoc includes come here and tell everybody what it means because it in my opinion should be a standard ion coding and commenting. Anssi -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Sat Feb 20 04:08:44 1999 From: "Bjorn G. Helgason" Subject: RE: Jforum: Simple MAPI interface available Date: Fri, 19 Feb 1999 22:45:24 -0000 Content-Type: multipart/mixed; boundary="---- =_NextPart_000_01BE5CAF.E4C99180" ------ =_NextPart_000_01BE5CAF.E4C99180 From: Seymour Glass[SMTP:glasss@mindspring.com] > www.jsoftware.com/scripts.htm > Simple MAPI is a Microsoft interface to email. Pretty neet or should I say "wow" "Great Work!" ;-) > NB. sess sendmail (1 ; < ,: 'Henry Rich';'SMTP:glasss@mindspring.com') ; 'wow' ; 'Great Work!' /Gosi ------ =_NextPart_000_01BE5CAF.E4C99180 Content-Type: application/ms-tnef Content-Transfer-Encoding: base64 eJ8+IiIJAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAENgAQAAgAAAAIAAgABBJAG ABwBAAABAAAADAAAAAMAADADAAAACwAPDgAAAAACAf8PAQAAAEUAAAAAAAAAgSsfpL6jEBmdbgDd AQ9UAgAAAABmb3J1bUBqc29mdHdhcmUuY29tAFNNVFAAZm9ydW1AanNvZnR3YXJlLmNvbQAAAAAe AAIwAQAAAAUAAABTTVRQAAAAAB4AAzABAAAAFAAAAGZvcnVtQGpzb2Z0d2FyZS5jb20AAwAVDAEA AAADAP4PBgAAAB4AATABAAAAFgAAACdmb3J1bUBqc29mdHdhcmUuY29tJwAAAAIBCzABAAAAGQAA AFNNVFA6Rk9SVU1ASlNPRlRXQVJFLkNPTQAAAAADAAA5AAAAAAsAQDoBAAAAAgH2DwEAAAAEAAAA AAAAAxs0AQiABwAYAAAASVBNLk1pY3Jvc29mdCBNYWlsLk5vdGUAMQgBBIABACwAAABSRTogSmZv cnVtOiBTaW1wbGUgTUFQSSBpbnRlcmZhY2UgYXZhaWxhYmxlAAEPAQWAAwAOAAAAzwcCABMAFgAt ABgABQBLAQEggAMADgAAAM8HAgATABYAKgAPAAUAPwEBCYABACEAAAAyRDREQjNGQjRCQzhEMjEx OEI5QTJDQTFGRkMwMDAwMABOBwEDkAYAZAMAABIAAAALACMAAQAAAAMAJgAAAAAACwApAAEAAAAD ADYAAAAAAEAAOQDgqf2JWVy+AR4AcAABAAAAIAAAAFNpbXBsZSBNQVBJIGludGVyZmFjZSBhdmFp bGFibGUAAgFxAAEAAAAbAAAAAb5cE1J7OHGBYsewEdK5T/tiJXVhIwARcblhAB4AHgwBAAAABQAA AFNNVFAAAAAAHgAfDAEAAAAQAAAAZ29zaUBjZW50cnVtLmlzAAMABhCH3ZicAwAHEN4AAAAeAAgQ AQAAAGUAAABGUk9NOlNFWU1PVVJHTEFTU1NNVFA6R0xBU1NTQE1JTkRTUFJJTkdDT01XV1dKU09G VFdBUkVDT00vU0NSSVBUU0hUTVNJTVBMRU1BUElJU0FNSUNST1NPRlRJTlRFUkZBQ0VUAAAAAAIB CRABAAAA4QEAAN0BAACoAwAATFpGdc0rV9//AAoBDwIVAqgF6wKDAFAC8gkCAGNoCsBzZXQyNwYA BsMCgzIDxQIAcHJCcRHic3RlbQKDM7cSzAcTAoM0A8YVSDUER7cIVQeyAoM2AuQVSDcDRfcTNQdt AoB9CoAIzwnZAoAHCoENsQtgbmcxMDPeOQr6HjUUUQvCMRiwDDBVE1BvE9BjBUBGA2E6/wrhHy8g MyCmDIIGUQbACGEMIEcLYAQQW1NNVIhQOmckYnNAbQuATGRzE1ALgGcuBaBtwl0Ki2xpMzYN8CGe fxXiDAEgpgqHC2QZwQvxIL4+J48onSF/FwIoyncvAFAuanNvAYB3CsBlBSYSLwT0cy5odG3fKY8q lCz/FEMo2VMHcAtQQmUF0EFQSSAEACDqYQXQaQUAby9SNQACMI0EkGYA0DSgdG8gE+D5C3BsLiZv J38zVSl4CxmNKnVQHKACQHkgbgngEwVABbFzaAhgbGQgCTTwc2E70CJ3b3eqIj0wRxygYQVAVwWw xGshPYA7LSk51TnV8TIwTkIuPGAHkAQgEbAjJZA24iAoMT5wIDykICwhYCdICfByO9DCUjVwaCc7 JyS/JcfUJylA8Sc9USdEEj250ic+vC9HNaBpOdUbwQIAR3AAAAADABAQAAAAAAMAERAAAAAAQAAH MGCNVhlZXL4BQAAIMGCNVhlZXL4BHgA9AAEAAAAFAAAAUkU6IAAAAABR6Q== ------ =_NextPart_000_01BE5CAF.E4C99180-- -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Sat Feb 20 05:15:57 1999 Date: Sat, 20 Feb 1999 10:03:51 +0000 From: Mike Day Subject: Re: Jforum: WGL - J scripts for graphics output (preliminary versions!) References: <36CDC247.7E124FAD@cwcom.net> Sorry for broadcasting private posting in this topic Mike -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Sat Feb 20 06:52:24 1999 References: <000401be5c0f$c25d93d0$01ffde6f@papabear> Organization: Voxel From: "Andrew Nikitin" Date: Sat, 20 Feb 1999 13:34:33 +0200 (EET) Subject: Re: Jforum: ODBC API Beta Scripts Available 19-Feb-99 08:57 John D. Baker wrote: > In the next release of J the current ODBC interface will be > replaced with J scripts that call the ODBC API directly. Is it true, that the next step is to replace 11!:0 command with J scripts that call winapi directly? Or it will be 16!:x family? What do you think about entire J session manager, written completely in J? nsg -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Sat Feb 20 07:43:56 1999 References: <4.1.19990220090517.00bab650@pop.kolumbus.fi> Organization: Voxel From: "Andrew Nikitin" Date: Sat, 20 Feb 1999 14:29:58 +0200 (EET) Subject: Re: Jforum: Scriptdoc should be a J standard 20-Feb-99 09:13 Anssi Seppala wrote: > The scriptdoc is a tool of J Project Manager and it is a great idea how Tell me please, in what manner scriptdoc is connected with Project Manager? I haven't found no links from PM to SD or vice versa. May be there is some secret key in PM that calls scriptdoc over selected item? > scripts are commented so that the Scriptdoc utility can show and print you > a short summary of the verbs in a long script. Just press ctrl+F1 over some already defined verb (eg over 'load' or 'wd') and scriptdoc will be run over entire script that have defined this verb. Unfortunately not all (includeing jmf, gl2, gl3, plot) J standard libraries are commented this way. Nevertheless, you may use wd 'smsetcmd 3 2 "Scriptdocs',TAB,'F3" "docs 0" "Show list of available docs";' docs=:3 : '(((i.bind 0 0)`(scriptdoc@([{::~1:{::]))@.(0:{::]))wdselect){."1 PUBLIC_j_' to bind list of scripts to F3 key and for fast access to embedded documentation. nsg -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Sat Feb 20 09:36:31 1999 Date: Sat, 20 Feb 1999 09:25:35 -0500 From: Eric Iverson Organization: Iverson Software Inc. Subject: Re: Jforum: ODBC API Beta Scripts Available References: <000401be5c0f$c25d93d0$01ffde6f@papabear> Andrew Nikitin wrote: > > In the next release of J the current ODBC interface will be > > replaced with J scripts that call the ODBC API directly. > Is it true, that the next step is to replace 11!:0 command with J scripts > that call winapi directly? Or it will be 16!:x family? What do you think about > entire J session manager, written completely in J? It is unlikely that the 11!: family will be replaced by scripts using dll call. There's too much and it is woven in a complicated way with the event model and callbacks. However, it won't be extended where extension could easily be achieved with dll calls. Oleg's dropdown menu and Seymour's mapi are examples of dll extensions to the traditional wd domain. Facilities like ODBC were added as foreigns written in C as part of the core interpreter for historical reasons that are no longer valid. New facilities that can be added with scripts using dll calls will be done that way. Other foreign candidates for replacement with scripts with dll calls in future releases are sockets and regex. -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Sat Feb 20 10:22:59 1999 From: "Seymour Glass" Subject: RE: Jforum: ODBC API Beta Scripts Available Date: Sat, 20 Feb 1999 10:11:15 -0500 charset="iso-8859-1" In-Reply-To: <36CEC5DF.79E@interlog.com> Importance: Normal Eric said: > Other foreign candidates for replacement with scripts with dll calls in > future releases are sockets and regex. Boy, I'm for that! I have an application that uses async sockets heavily, and supporting secure transactions has me buffaloed. The secure-sockets layer (SSL) is available as a ton of C code that expects to run as part of a protocol stack; but if I call it as a DLL, I don't have a way to process the return events as J socket events. If the socket operations were J scripts, it might be easy to modify them to use the SSL code. Henry Rich -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Sat Feb 20 12:53:28 1999 Date: Sat, 20 Feb 1999 19:38:53 +0200 From: Anssi Seppala Subject: Re: Jforum: Scriptdoc should be a J standard In-Reply-To: References: <4.1.19990220090517.00bab650@pop.kolumbus.fi> Open Project Manager, highlight a script in the listbox, select from the menu Tools + View scriptdoc. Then you see the script opened in a Scriptdoc window. Anssi >Tell me please, in what manner scriptdoc is connected with Project Manager? I >haven't found no links from PM to SD or vice versa. May be there is some >secret key in PM that calls scriptdoc over selected item? -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Sat Feb 20 18:38:09 1999 Date: Sat, 20 Feb 1999 18:27:57 -0500 (EST) From: "Brian M. Schott" Subject: Jforum: box alignment bug? In-Reply-To: <4.1.19990220090517.00bab650@pop.kolumbus.fi> What's up with this? Notice that the shape of the result seems to include the box itself. (B=) 0 2 &":@] 6 5 0;1;'';'';4 +-----+-+++-+ |6 5 0|1|||4| +-----+-+++-+ $ 0 2 &":@] 6 5 0;1;'';'';4 3 13 -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Sat Feb 20 18:49:49 1999 From: "Randy MacDonald" Subject: Re: Jforum: box alignment bug? Date: Sat, 20 Feb 1999 18:39:13 -0500 charset="iso-8859-1" the ":, being format, renders the display form of the object, thus giving you a 3 13 shape character table. You were apparently trying to do something else. What was that? -----Original Message----- From: Brian M. Schott Date: February 20, 1999 8:05 PM Subject: Jforum: box alignment bug? >What's up with this? Notice that the shape of the result >seems to include the box itself. > >(B=) > > 0 2 &":@] 6 5 0;1;'';'';4 >+-----+-+++-+ >|6 5 0|1|||4| >+-----+-+++-+ > $ 0 2 &":@] 6 5 0;1;'';'';4 >3 13 > > > >--------------------------------------------------------------------------- ----- >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 20 19:11:08 1999 Date: Sat, 20 Feb 1999 18:54:22 -0500 From: David Ness Subject: Re: Jforum: box alignment bug? References: I must miss your point, Brian. I'm not sure what the `0 2&' are supposed to do, but the result _is_ a character array that's 3 by 13 isn't it? Brian M. Schott wrote: > > What's up with this? Notice that the shape of the result > seems to include the box itself. > > (B=) > > 0 2 &":@] 6 5 0;1;'';'';4 > +-----+-+++-+ > |6 5 0|1|||4| > +-----+-+++-+ > $ 0 2 &":@] 6 5 0;1;'';'';4 > 3 13 > > -------------------------------------------------------------------------------- > 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 Sun Feb 21 01:00:46 1999 Date: Sun, 21 Feb 1999 00:35:17 -0500 (EST) From: "Brian M. Schott" Subject: Re: Jforum: box alignment bug? In-Reply-To: <005901be5d2a$3a270d40$71307018@randomac.ns.on.rogers.wave.ca> Ok, I see that I misunderstood the results of ": for boxes. I expected the result to be a boxed object. I have a boxed result of shape n 3 (for example if n=6, then 6 rows of boxes and 3 columns of boxes. All boxes contain a 1 row list of whole numbers. I would like the lefthand column of boxes to be right justified and the other columns to be left justified. If I apply the box alignment format to the left column separately from the right two columns and stitch the results together, the resulting columns are displayed detached from one another (with a column of blanks between two separate column banks). So I need to be able to apply the format to the boxed columns AFTER they are already in the shape of n 3. How do I do that? (B=) On Sat, 20 Feb 1999, Randy MacDonald wrote: +the ":, being format, renders the display form of the object, +thus giving you a 3 13 shape character table. + +You were apparently trying to do something else. What was that? + -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Sun Feb 21 01:06:58 1999 Date: Sun, 21 Feb 1999 00:43:30 -0500 (EST) From: "Brian M. Schott" Subject: Re: Jforum: box alignment bug? In-Reply-To: <005901be5d2a$3a270d40$71307018@randomac.ns.on.rogers.wave.ca> Ok, to make it easier, let me give you the bigger picture. I have been trying to revise Keith Smillie's stem and leaf routines. The script below shows my problem. (B=) stem =: <. @ (%&10) each =: &.> leaf=: (10&|)@| sort =: /:~ fill =: {. + >:@{: i.@- {. SLtab=: ~.@stem ;"0 stem @{.),.(fill e. ])@:>@{. expand {:)@|: @SLtab @sort a =: 25 64 31 26 20 b =: 1 5 2 3 9 10 3 c =: 20 _11 _5 _3 2 0 0 _1 SL a SL b SL c SL each a;b;c %&2 each SL 2&* b NB. Below is a back to back stemplot which NB. takes stem leaf plots as its dyadic arguments bbS =: {."1@[ fill@~.@sort@:>@, {."1@] bbR =: (bbS e. >@{."1@]) expand {:"1@] bbL =: (bbS e. >@{."1@[) expand {:"1@[ bb =: bbL,.(<"0@bbS),.bbR (SL a+18) bb SL a NB. The bb below is preferred, but the format NB. command does not work the way I want bb =: 0 2 &":@,.@( |. each @bbL),.(<"0@bbS)":@,.bbR (SL a+18) bb SL a -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Sun Feb 21 07:29:54 1999 From: Andromeda Subject: RE: Jforum: fmt Date: Sun, 21 Feb 1999 13:07:50 +0100 Content-Type: multipart/mixed; boundary="---- =_NextPart_000_01BE5D9B.302074A0" ------ =_NextPart_000_01BE5D9B.302074A0 No.I do not agree. The correction goes into the right direction but is still not consistent: Here an example: 'b4,b2,b2' fmt 2 3$1999 8 4 1975 6 30 gives correctly the 2 x 8 matrix : 1999 8 4 1975 630 but 'z4,z2,z2' fmt 2 3$1999 8 4 1975 6 30 results in an 3 dimensional matrix (2 x 1 x 8) : 19990804 19750630 and 'b4,z2,b2' fmt ... also gives back a 3-dim matrix. /.........Milan Ondrus ---------- From: Chris Burke[SMTP:cdburke@interlog.com] Sent: Freitag, 5. Februar 1999 13:56 Subject: Re: Jforum: fmt Milan Ondrus writes: > I'm looking at the utility fmt in the script > > '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 ------ =_NextPart_000_01BE5D9B.302074A0 Content-Type: application/ms-tnef Content-Transfer-Encoding: base64 eJ8+IjQMAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAEIgAcAGAAAAElQTS5NaWNy b3NvZnQgTWFpbC5Ob3RlADEIAQ2ABAACAAAAAgACAAEEkAYAHAEAAAEAAAAMAAAAAwAAMAIAAAAL AA8OAAAAAAIB/w8BAAAARQAAAAAAAACBKx+kvqMQGZ1uAN0BD1QCAAAAAGZvcnVtQGpzb2Z0d2Fy ZS5jb20AU01UUABmb3J1bUBqc29mdHdhcmUuY29tAAAAAB4AAjABAAAABQAAAFNNVFAAAAAAHgAD MAEAAAAUAAAAZm9ydW1AanNvZnR3YXJlLmNvbQADABUMAQAAAAMA/g8GAAAAHgABMAEAAAAWAAAA J2ZvcnVtQGpzb2Z0d2FyZS5jb20nAAAAAgELMAEAAAAZAAAAU01UUDpGT1JVTUBKU09GVFdBUkUu Q09NAAAAAAMAADkAAAAACwBAOgEAAAACAfYPAQAAAAQAAAAAAAACGTQBBIABABAAAABSRTogSmZv cnVtOiBmbXQABQUBBYADAA4AAADPBwIAFQANAAcAMgAAADMBASCAAwAOAAAAzwcCABUADAA6AAcA AAA6AQEJgAEAIQAAADU4MUJCQjI3OTA1REJFMTE4NkRBNkVEMTk0M0MwNjRFAD0HAQOQBgDgBQAA FAAAAAsAIwAAAAAAAwAmAAAAAAALACkAAAAAAAMALgAAAAAAAwA2AAAAAABAADkAAGujzZJdvgEe AHAAAQAAABAAAABSRTogSmZvcnVtOiBmbXQAAgFxAAEAAAAWAAAAAb5dks2bDm6b4cmMEdKWv0RF U1QAAAAAHgAeDAEAAAAFAAAAU01UUAAAAAAeAB8MAQAAABUAAABtaWxhbi5pY2VAYmx1ZXdpbi5j aAAAAAADAAYQuu/79wMABxDIAwAAHgAIEAEAAABlAAAATk9JRE9OT1RBR1JFRVRIRUNPUlJFQ1RJ T05HT0VTSU5UT1RIRVJJR0hURElSRUNUSU9OQlVUSVNTVElMTE5PVENPTlNJU1RFTlQ6SEVSRUFO RVhBTVBMRTpCNCxCMixCMkZNVAAAAAACAQkQAQAAAFwEAABYBAAAVAkAAExaRnWb4DBV/wAKAQ8C FQKkA+QF6wKDAFATA1QCAGNoCsBzZXTuMgYABsMCgzIDxgcTAoNGMwPFAgBwcnESInOodGVtAoM0 Ew19CoCLCM8J2TsXnzI1NQKA5wqBDbELYG5nAdAZ4Ar7axLyDAFjAEAgCoUc5E4Aby5JIGRvIG5q bwVAYQnCLgqFHItUGGhlIAWhF6BjdGmxAiAgZ28HkQuAdB2wJnQfwQUQZ2gFQGRp2SAmYnUFQAQA IBUwAxD/AyEbbwxgAyAd0gWgAIEVMbcCMCNfHGA6Hn8c4UgEkEMf0AORZXhhbQtQZQMmzxziJ2I0 LGIyOSqBJyAEUAVAEiAzJAQxOSuQIDggNCDhK4A3NSA2K1AKdhyLmGdpdgeRH/VseSEz7RIgeCvB AMB0BRAvQCkP/xziK4Ur4DB9LDIsjxzjIoL0J3oqcHoqoDTgKuQLRn8VwhwVK08sUyFwB5AkgHT7 INIoUjMh0QeAAIECIAdA3S92KC8iHGAvQSkv7zD32DA4MDHGMd8wMv8c5d0AcGQqQzThKsYuQTAe AKxscx2wLeRiANBrHgC9NtAtOTEvdR5vHOIvQTEtRLRNAxADkU9AEHJ1HnNDbyWfHGcKi2xpMYM8 wALRaS0xNDQN8OcM0EojC1kxNgqgA2AVQPkgQCAtTEcKh0r7DDBLxjpGA2E6TU5LxgyCIEMWaAUQ BCBCCHBrZVuAU01UUDpjZCKAnVGBQCDxBJAXMGcuBaD8bV1M7039BmACME8vUDsJTuBlaQGQZywg NXFBUEZlYkXQCsE3AzEwMzo1NlNvTf1Ub49Vr1A7AhBF0G1AakGQfQGAdwrAHlBTIVlvVH51XGJq IDFbj1A7UijwID5KXWNhACsBSE9JUzM2n0rHNhVLxgqFRUogdwUQhRVAczstPiBJJ0LQ6Rcwb2sL gGceAAVAIUL/IpADEFewLsArAjixIUIE9fY8XWEvgT5o9mj3KlEq5LwzNFlALdUhQhGyLS+F/25y bN8igXBvNKFuH28uPNB/c2FBMguAEfAAIAQgQnB6PwSQHbBqRUnwEeBxl3Bv7wCQIFNAAgPwcAeR CGBqVPYzQ1ZyGjNy5y3VdPFBJDZnC3F2mCB3tyHgc2E+cHigEdF5fx+hIsF6LX9sZCBQahER8BVQ c9EdsGL+ZRHALgAg4ST4eHEhQCJw93/6BbEdoUlo9oCxITFqQfNoEAIgZz9GDAqFf5MiwX9CcCKA aiFAEUJwF6ALUWP3FVCCQgT1d3+gEbCBogpAzw2wE2FFsQfRTmlp8IBh5idF9jhQZ2cHkCBShwR+ dgtwC2ACYChBgmGNYC5dXcsvQZAIcIhgL2xkLv56BSCFjwqyTEiRf5KPk5/7lK9Mx0pO0GNFBbEL gGxk/3gDBuB48yLBSYAVMFfwhJLPNZ8kYku2SXBua0AgIbDgdHA6Ly+Nb47iXZD6LiGwbWVvZntk v53vCoUFFsEAojADABAQAAAAAAMAERAAAAAAQAAHMICbqnGRXb4BQAAIMICbqnGRXb4BHgA9AAEA AAAFAAAAUkU6IAAAAAADAA00/TcAADnR ------ =_NextPart_000_01BE5D9B.302074A0-- -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Sun Feb 21 09:18:32 1999 From: "Chris Burke" Subject: Re: Jforum: fmt Date: Sun, 21 Feb 1999 08:55:17 -0500 charset="iso-8859-1" > No.I do not agree. > but 'z4,z2,z2' fmt 2 3$1999 8 4 1975 6 30 results in an 3 dimensional matrix (2 x 1 x 8) : > The correction goes into the right direction but is still not consistent: Sorry, the fix introduced a new bug. Please get a new version 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 Sun Feb 21 09:20:27 1999 From: "Chris Burke" Subject: Re: Jforum: WGL - J scripts for graphics output (preliminary versions!) Date: Sun, 21 Feb 1999 08:55:29 -0500 charset="iso-8859-1" The utility "round" at some time changed from an adverb to a verb, and this may be the cause of this hiccup. -----Original Message----- From: Mike Day Date: Friday, February 19, 1999 3:00 PM Subject: Re: Jforum: WGL - J scripts for graphics output (preliminary versions!) >Ewart > >I tried WGLing yesterday evening, in j402. > >After changing the file extensions to ijs, I got it to work >- at least testwgl - BUT I can't tie down some problem with >"round" which inherits a dyadic definition from numeric.ijs >whereas yours is monadic. It fails for me in "interpol" >first time round, but in some circs, which I can't nail down, >the snails and bugs appear! -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Sun Feb 21 12:06:10 1999 From: Andromeda Subject: RE: Jforum: fmt Date: Sun, 21 Feb 1999 17:47:46 +0100 Content-Type: multipart/mixed; boundary="---- =_NextPart_000_01BE5DC2.4BA69700" ------ =_NextPart_000_01BE5DC2.4BA69700 yes ,this looks fine now... Thanks Chris , regards,Milan ---------- From: Chris Burke[SMTP:cdburke@interlog.com] Sent: Sonntag, 21. Februar 1999 14:55 Subject: Re: Jforum: fmt > No.I do not agree. > but 'z4,z2,z2' fmt 2 3$1999 8 4 1975 6 30 results in an 3 dimensional matrix (2 x 1 x 8) : > The correction goes into the right direction but is still not consistent: Sorry, the fix introduced a new bug. Please get a new version at www.jsoftware.com/source/format.zip -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm ------ =_NextPart_000_01BE5DC2.4BA69700 Content-Type: application/ms-tnef Content-Transfer-Encoding: base64 eJ8+IjAQAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAEIgAcAGAAAAElQTS5NaWNy b3NvZnQgTWFpbC5Ob3RlADEIAQ2ABAACAAAAAgACAAEEkAYAHAEAAAEAAAAMAAAAAwAAMAIAAAAL AA8OAAAAAAIB/w8BAAAARQAAAAAAAACBKx+kvqMQGZ1uAN0BD1QCAAAAAGZvcnVtQGpzb2Z0d2Fy ZS5jb20AU01UUABmb3J1bUBqc29mdHdhcmUuY29tAAAAAB4AAjABAAAABQAAAFNNVFAAAAAAHgAD MAEAAAAUAAAAZm9ydW1AanNvZnR3YXJlLmNvbQADABUMAQAAAAMA/g8GAAAAHgABMAEAAAAWAAAA J2ZvcnVtQGpzb2Z0d2FyZS5jb20nAAAAAgELMAEAAAAZAAAAU01UUDpGT1JVTUBKU09GVFdBUkUu Q09NAAAAAAMAADkAAAAACwBAOgEAAAACAfYPAQAAAAQAAAAAAAACGTQBBIABABAAAABSRTogSmZv cnVtOiBmbXQABQUBBYADAA4AAADPBwIAFQARAC8ALgAAAFsBASCAAwAOAAAAzwcCABUAEQAuAC8A AABbAQEJgAEAIQAAADE4MEQ4RUY3Qjg1REJFMTE4NkRBNkVEMTk0M0MwNjRFAFgHAQOQBgBsBAAA FAAAAAsAIwAAAAAAAwAmAAAAAAALACkAAAAAAAMALgAAAAAAAwA2AAAAAABAADkAAKHV6LldvgEe AHAAAQAAABAAAABSRTogSmZvcnVtOiBmbXQAAgFxAAEAAAAWAAAAAb5duejMrbVFAcm0EdKWv0RF U1QAAAAAHgAeDAEAAAAFAAAAU01UUAAAAAAeAB8MAQAAABUAAABtaWxhbi5pY2VAYmx1ZXdpbi5j aAAAAAADAAYQ4hWQrQMABxARAgAAHgAIEAEAAABlAAAAWUVTLFRISVNMT09LU0ZJTkVOT1dUSEFO S1NDSFJJUyxSRUdBUkRTLE1JTEFOLS0tLS0tLS0tLUZST006Q0hSSVNCVVJLRVNNVFA6Q0RCVVJL RUBJTlRFUkxPR0NPTVNFTlQ6UwAAAAACAQkQAQAAAOUCAADhAgAAtAUAAExaRnUkubxX/wAKAQ8C FQKkA+QF6wKDAFATA1QCAGNoCsBzZXTuMgYABsMCgzIDxgcTAoO6MxMNfQqACM8J2TsV/3gyNTUC gAqBDbELYG6+ZwHQGEAK+xQiDAFjAEAWIAqFG0R5B5EsdGilBAAgFZBvawQgZguAwGUgbm93Lh0w GuvKVBHAbhyBQ2gFEBvRFwqFGusWAGcLEXMsTQ8DEABwHxwK9GxpMTiCMALRaS0xNDQN8GcM0CMD C1kxNgqgA2B0+wWQBUAtJScKhyPbDDAkpnpGA2E6Ji4kpgyCHpVCAQhwa2VbU01UUNA6Y2RiKlJA C4Ak0JJyFZBnLgWgbV0lz98m3QZgAjAoDykbUwIgAjCAYWcsIDIxLiewkGVicnUKwTE5McA5MaA0 OhhALE8m3VRvky6PKRtKRgWwdW0yX3EtXnViaiThNH8pG1J6ZTkgSgIQNoE5IARQdPMhLyIzMzYj pxLyDAEkpgI+G0ROby5JIGT+bxzxBUAwsAnRHVY+9SsQgQVAJ3o0LHoyQdFGJzuyMOAgMyQxsziE IDQxoTc1IDZCoMIwIEFzdWx0BCALgPtAEAOgMz+gB3EAgQIgB0CLCoUAwHQFEHggKBIgh0ZwGsBG cDgpIDpAjD8eMBzgBaEWACTwRWEgZ35vB5ErcT/AHAAc4AUQZ75oBUBFAEi2QWIcIXNI4P5sAyA/ 4QqFBaAAgUuALlL3HxwwYEigeTDQSdIcsEZw4ytxA2BkdWMJgEAQHPAHB9ErECvgIFBsZWHvEfBJ IBIAT6V2BJBFUkAQhTvmd1KALmpzbwGA7ncKwEBgLAEvUtAIcE9w5i87UUYhLnoFIB8cVS9/CrIl KFd/WI9Zn1qvJadK/yewO2UFsQuAVBRRswbgQXH/HARMwTDQEfAc4D2NGqEMYD8V4CSlIlAeYE+Q SkB0cLg6Ly9Sj1QCNpAuSkB+bT2PJMQ8bz1/ZIwVIQABaDAAAAADABAQAAAAAAMAERAAAAAAQAAH MABkT8W5Xb4BQAAIMABkT8W5Xb4BHgA9AAEAAAAFAAAAUkU6IAAAAAADAA00/TcAAEM3 ------ =_NextPart_000_01BE5DC2.4BA69700-- -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Sun Feb 21 13:46:31 1999 From: "John D. Baker" Subject: Re: Jforum: Simple MAPI interface available Date: Sun, 21 Feb 1999 13:25:55 -0500 charset="iso-8859-1" I downloaded the MAPI script and gave it a try. It doesn't work on NT/sp4 machines. You get an immediate domain error on the first dll call. This is probably due to the differences between j4.02 / j4.01 The dll call facility has changed. It shouldn't be very difficult to fix the script for 4.02. It's also possible to simplify things a bit. J noun allocations are stable provided the noun is not reassigned. It's not necessary to make copies to insure pointer stability. Since I have a pressing need to process email from J under NT I'll see if I can make this work. -----Original Message----- From: Bjorn G. Helgason Date: Saturday, February 20, 1999 4:01 AM Subject: RE: Jforum: Simple MAPI interface available >From: Seymour Glass[SMTP:glasss@mindspring.com] > >> www.jsoftware.com/scripts.htm >> Simple MAPI is a Microsoft interface to email. > >Pretty neet or should I say "wow" "Great Work!" ;-) > >> NB. sess sendmail (1 ; < ,: 'Henry Rich';'SMTP:glasss@mindspring.com') ; 'wow' ; 'Great Work!' -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Mon Feb 22 04:29:22 1999 From: "Seymour Glass" Subject: RE: Jforum: Simple MAPI interface available Date: Mon, 22 Feb 1999 04:05:24 -0500 charset="iso-8859-1" Importance: Normal In-Reply-To: <002801be5dc7$c36e1880$01ffde6f@papabear> I would send this as a private message, but the originator's email address seems to be removed by the mailer. Bummer. Three observations, John: 1. I have received email from someone running 4.02, so I'm surprised at the domain error. I don't know that it's been run on NT, though. 2. If you can make it work for both 4.01 and 4.02, those of us on 4.01 would be obliged. 3. The strings you pass into MAPI must be null-terminated, so you will have to copy them anyway, and it might not be worth the trouble to remove the copying from the code. Henry Rich > -----Original Message----- > From: owner-jsoftware@lists.interlog.com > [mailto:owner-jsoftware@lists.interlog.com]On Behalf Of John D. Baker > Sent: Sunday, February 21, 1999 13:26 > To: forum@jsoftware.com > Subject: Re: Jforum: Simple MAPI interface available > > > I downloaded the MAPI script and gave it a try. It doesn't work on > NT/sp4 machines. You get an immediate domain error on the first > dll call. This is probably due to the differences between j4.02 / j4.01 > The dll call facility has changed. > > It shouldn't be very difficult to fix the script for 4.02. It's also > possible to > simplify things a bit. J noun allocations are stable provided > the noun is not reassigned. It's not necessary to make > copies to insure pointer stability. Since I have a pressing > need to process email from J under NT I'll see if I can make this work. > > -----Original Message----- > From: Bjorn G. Helgason > To: 'forum@jsoftware.com' > Date: Saturday, February 20, 1999 4:01 AM > Subject: RE: Jforum: Simple MAPI interface available > > > >From: Seymour Glass[SMTP:glasss@mindspring.com] > > > >> www.jsoftware.com/scripts.htm > >> Simple MAPI is a Microsoft interface to email. > > > >Pretty neet or should I say "wow" "Great Work!" ;-) > > > >> NB. sess sendmail (1 ; < ,: 'Henry > Rich';'SMTP:glasss@mindspring.com') ; > 'wow' ; 'Great Work!' > > > > ------------------------------------------------------------------ > -------------- > 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 22 10:49:22 1999 Date: Mon, 22 Feb 1999 10:06:17 -0500 From: Eric Iverson Organization: Iverson Software Inc. Subject: Re: Jforum: Simple MAPI interface available References: <000101be5e42$7b9271c0$cea056d1@seymourg> Seymour Glass wrote: > I have received email from someone running 4.02, so I'm surprised at > the domain error. I don't know that it's been run on NT, though. I thought I saw an indication that you used *m in your prototypes. This was decomitted in J4.02 and could be the cause of John's trouble. It should be fairly easy to give prototypes that will work in both 401 and 402. >The strings you pass into MAPI must be null-terminated, so you will >have to copy them anyway, and it might not be worth the trouble to >remove the copying from the code. Normal J strings are NULL terminated and can be used directly with DLL calls that require C strings. -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Mon Feb 22 10:58:52 1999 From: "Nichols, Peter" Subject: RE: Jforum: Simple MAPI interface available Date: Mon, 22 Feb 1999 08:55:35 -0600 charset="iso-8859-1" I've tried >> sess sendmail (1 ; < ,: 'Henry > Rich';'SMTP:glasss@mindspring.com') ;> 'wow' ; 'Great Work!' and it gives me a valence error on sendmail under both Win98 and NT. > Peter Nichols -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Mon Feb 22 11:11:50 1999 From: "Seymour Glass" Subject: RE: Jforum: Simple MAPI interface available Date: Mon, 22 Feb 1999 10:48:19 -0500 charset="iso-8859-1" Importance: Normal In-Reply-To: <01074BD4EEC4D1118E3200805F6542A7177DE0@SPRDALLAS2> I suspect that you did not establish the mail session before you tried to send mail. You must issue sess =. logonmail '' NB. Establish session. before you send or receive mail. I did not make this clear in the header. Henry Rich > -----Original Message----- > From: owner-jsoftware@lists.interlog.com > [mailto:owner-jsoftware@lists.interlog.com]On Behalf Of Nichols, Peter > Sent: Monday, February 22, 1999 09:56 > To: 'forum@jsoftware.com' > Subject: RE: Jforum: Simple MAPI interface available > > > I've tried > > >> sess sendmail (1 ; < ,: 'Henry > Rich';'SMTP:glasss@mindspring.com') > ;> 'wow' ; 'Great Work!' > > and it gives me a valence error on sendmail under both Win98 and NT. > > > Peter Nichols > > ------------------------------------------------------------------ > -------------- > 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 22 11:17:40 1999 From: "Seymour Glass" Subject: RE: Jforum: Simple MAPI interface available Date: Mon, 22 Feb 1999 10:46:28 -0500 charset="iso-8859-1" Importance: Normal In-Reply-To: <36D17269.7C8B@interlog.com> > I thought I saw an indication that you used *m in your prototypes. This > was decomitted in J4.02 and could be the cause of John's trouble. It > should be fairly easy to give prototypes that will work in both 401 and > 402. I changed the '*m' to 'i' after you mentioned this to me. I guess John will tell me what I did wrong. > Normal J strings are NULL terminated and can be used directly with DLL > calls that require C strings. Good. But unless I'm missing something, I have to be on 4.02 to get the address of a string, right? hhr -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Mon Feb 22 11:49:08 1999 From: "Bjorn G. Helgason" Subject: RE: Jforum: Simple MAPI interface available Date: Mon, 22 Feb 1999 13:28:42 -0000 Content-Type: multipart/mixed; boundary="---- =_NextPart_000_01BE5E67.738E4A60" ------ =_NextPart_000_01BE5E67.738E4A60 From: John D. Baker[SMTP:bakerjd@kos.net] >I downloaded the MAPI script and gave it a try. It doesn't work on > NT/sp4 machines. You get an immediate domain error on the first > dll call. This is probably due to the differences between j4.02 / j4.01 > The dll call facility has changed. I used J.402a on a Win95 for this test and it worked fine. I have not tried it on my NT yet. /Gosi ------ =_NextPart_000_01BE5E67.738E4A60 Content-Type: application/ms-tnef Content-Transfer-Encoding: base64 eJ8+IgINAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAENgAQAAgAAAAIAAgABBJAG ABwBAAABAAAADAAAAAMAADADAAAACwAPDgAAAAACAf8PAQAAAEUAAAAAAAAAgSsfpL6jEBmdbgDd AQ9UAgAAAABmb3J1bUBqc29mdHdhcmUuY29tAFNNVFAAZm9ydW1AanNvZnR3YXJlLmNvbQAAAAAe AAIwAQAAAAUAAABTTVRQAAAAAB4AAzABAAAAFAAAAGZvcnVtQGpzb2Z0d2FyZS5jb20AAwAVDAEA AAADAP4PBgAAAB4AATABAAAAFgAAACdmb3J1bUBqc29mdHdhcmUuY29tJwAAAAIBCzABAAAAGQAA AFNNVFA6Rk9SVU1ASlNPRlRXQVJFLkNPTQAAAAADAAA5AAAAAAsAQDoBAAAAAgH2DwEAAAAEAAAA AAAAAxs0AQiABwAYAAAASVBNLk1pY3Jvc29mdCBNYWlsLk5vdGUAMQgBBIABACwAAABSRTogSmZv cnVtOiBTaW1wbGUgTUFQSSBpbnRlcmZhY2UgYXZhaWxhYmxlAAEPAQWAAwAOAAAAzwcCABYADQAc ACoAAQBCAQEggAMADgAAAM8HAgAWAA0AGgApAAEAPwEBCYABACEAAAA4QTAyOUMwRTUyQ0FEMjEx OEI5QTJDQTFGRkMwMDAwMAApBwEDkAYAwAMAABIAAAALACMAAQAAAAMAJgAAAAAACwApAAEAAAAD ADYAAAAAAEAAOQDgU6hDZ16+AR4AcAABAAAALAAAAFJFOiBKZm9ydW06IFNpbXBsZSBNQVBJIGlu dGVyZmFjZSBhdmFpbGFibGUAAgFxAAEAAAAWAAAAAb5eZ0OgDpwCi8pSEdKLmiyh/8AAAAAAHgAe DAEAAAAFAAAAU01UUAAAAAAeAB8MAQAAABAAAABnb3NpQGNlbnRydW0uaXMAAwAGEL29W7UDAAcQ JgEAAB4ACBABAAAAZQAAAEZST006Sk9ITkRCQUtFUlNNVFA6QkFLRVJKREBLT1NORVRJRE9XTkxP QURFRFRIRU1BUElTQ1JJUFRBTkRHQVZFSVRBVFJZSVRET0VTTlRXT1JLT05OVC9TUDRNQUNISU5F U1kAAAAAAgEJEAEAAAA3AgAAMwIAAN8DAABMWkZ1JWOae/8ACgEPAhUCqAXrAoMAUALyCQIAY2gK wHNldDI3BgAGwwKDMgPFAgBwckJxEeJzdGVtAoMz9wLkBxMCgzQDRRM1B20Cg/Y1EswUxX0KgAjP CdkCgAcKgQ2xC2BuZzEwM7I5Cv8xNgwhE1BvE9DqYwVARgNhOgrhHFsdRiEMgiBKb2gDoEQuECBC YWsEkFtTTRBUUDpiIHJqZECga29zLm4RwF0Ki/BsaTM2DfALVRVhC/E8ID4LRhRRC/IdRkkgUGRv d24ZYGENsGSQIHRoZQXQQVAloEcE9QBwJlBnYXYmkGnzJ1EmYHJ5IEAlkAVAJcApB5BuJwVAdwWw ayAfAiAKhyNcHhckvU5UL9BzcDQgAMFoC4AHkH0ogVkIYCegEcAnYSfwbX0HgGQHMBPQJbEAwAuA IJ8EkANgBcACICZjZmkRoE50Kd8q7yTbZGwDIGP1B0BsKIFULWAEIDSBHUG7IRACYHklsApQJmBv JmOvLtAN0ASQCfBjB5FiEcCCdwnhIGo0LjAR4PovN1MxMM8x3yTbNGAvEf8zxTBgANADECgANVAR gAQgtxFxG4AJgC44PSS0IAqPGyOIJaB1EbAmUEouNC83kCgwMAEoMFcLgDk1/zBgBbEmcDSBE9AT wCdjKAH/KWImQTBwIdAgQCWgEYAn0X5uHWA+pShQCJBC4zABbXM1UCzAIHkRwD02PqUv+kchoGki HyMnF5Ik+T6lBRjxAErgAAMAEBAAAAAAAwAREAAAAABAAAcw4Oqz+2ZevgFAAAgw4Oqz+2ZevgEe AD0AAQAAAAUAAABSRTogAAAAADIK ------ =_NextPart_000_01BE5E67.738E4A60-- -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Mon Feb 22 14:05:40 1999 Date: Mon, 22 Feb 1999 20:46:38 +0200 (EET) From: Oleg Kobchenko Subject: RE: Jforum: Simple MAPI interface available In-Reply-To: <000401be5e7a$82f88a20$cea056d1@seymourg> Using the opportunity of the winapi issue gaining momentum, I would like to turn back to one question that was left unanswered previously. In win api there are a number of ways to refer to a an object: pointer (unlocked), memory handle (result of GlobalAlloc) and special resource handles (bitmaps, menus, etc). To me it was not clear from the docs, with what references the J memX verbs work. You can get the idea, how one has to juggle with memX and GlobalXXX to get proper implementation in my clipbrd.ijs package (verb clbSet). The same issue become eminent with the advent of J dll interface under Unix. On Mon, 22 Feb 1999, Seymour Glass wrote: > Good. But unless I'm missing something, I have to be on 4.02 to get the > address of a string, right? -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Mon Feb 22 14:36:32 1999 Date: Mon, 22 Feb 1999 14:16:22 -0500 From: Eric Iverson Organization: Iverson Software Inc. Subject: Re: Jforum: Simple MAPI interface available References: Oleg Kobchenko wrote: > Using the opportunity of the winapi issue gaining > momentum, I would like to turn back to one question > that was left unanswered previously. All flavors of memory allocation are built on top of the same small set of host services. As a legacy from win31 16 bit days, win32 systems still provide memory handle type services and locked/unlock services. If it weren't for the win31 16bit legacy things would be very simple. Just memory and addresses. In general J doesn't have anything to do with these things and simply uses C malloc. C malloc allocates the requested number of bytes and returns the address of the memory. In win32 an address is a 32 bit unsigned integer, which appears to the J programmer as a signed integer (but with the same 32 bits). mema uses C malloc. Passing a dll a pointer from mema and passing the pointer to memory allocated to hold the noun in the dll argument is using the same kind of memory. > On Mon, 22 Feb 1999, Seymour Glass wrote: > > Good. But unless I'm missing something, I have to be on 4.02 to get the > > address of a string, right? You could use the new facilities introduced with j402 for memory mapped files to get the address of the memory used by a name (presumably a noun) and use that integer (32 bit pointer) in the dll call. For most cases it is much simpler to just use a noun in the dll call and the dll call mechanism will worry about getting the pointer to the memory that is used for the noun. To fully understand this stuff you probably need to study books such as Richter's "Advanced Windows". Periodically revisiting the dll labs wouldn't hurt. -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Mon Feb 22 21:26:08 1999 From: "Alex Kornilovski" Subject: Re: Jforum: Simple MAPI interface available Date: Mon, 22 Feb 1999 21:14:37 -0500 charset="windows-1251" > sess =. logonmail '' NB. Establish session. > >before you send or receive mail. I did not make this clear in the header. sess =. logonmail '' NB. Establish session. Does not work for me under Win98, but sess =. logonmail 'Microsoft Outlook' NB. Establish session. works fine. I've also added attachment capability and it does work only when you are receiving mail with Microsoft Outlook, not Outlook Express. Did anybody try to do attachments? Alex -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Tue Feb 23 14:55:32 1999 References: Organization: Voxel From: "Andrew Nikitin" Date: Tue, 23 Feb 1999 14:26:20 +0200 (EET) Subject: Jforum: help indices Hello, all. Is there a simple way to know what index does one or another help topic have? I would like to tie help for keywords wd, pd, plot to appropriate User Manual help topics, but i don't know indices. nsg -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Tue Feb 23 18:12:09 1999 Date: Tue, 23 Feb 1999 23:02:47 +0200 (EET) From: Oleg Kobchenko Subject: Re: Jforum: Simple MAPI interface available In-Reply-To: <36D1AD06.6F40@interlog.com> On Mon, 22 Feb 1999, Eric Iverson wrote: > All flavors of memory allocation are built on top of the same small set > of host services. As a legacy from win31 16 bit days, win32 systems > still provide memory handle type services and locked/unlock services. If > it weren't for the win31 16bit legacy things would be very simple. Just > memory and addresses. > > In general J doesn't have anything to do with these things and simply > uses C malloc. C malloc allocates the requested number of bytes and > returns the address of the memory. In win32 an address is a 32 bit > unsigned integer, which appears to the J programmer as a signed integer > (but with the same 32 bits). > > mema uses C malloc. > > Passing a dll a pointer from mema and passing the pointer to memory > allocated to hold the noun in the dll argument is using the same kind of > memory. First of all, thank you for the feedback. It certainly makes things clearer. Now all looks very logical. However, my question arose from practical situation, in which my first shot was to use just mema. But it just didn't work. The program crashed. This is the case when in win api the specs clearly indicate an argument as HMEMORY -- the result of GlobalAlloc, not LPSOMETHING. As it seems, this relates to historycal win api functions passed through from win16, like clipboard functions. If one could only use functions with the newer type LP... arguments, memX would suffice. Please confirm my understanding: otherwise for old-style HMEMORY arg'ed funcs one should allocate with GlobalAlloc, viz. the pain-in-the-necking twist in clipbrd is inevitable? I mean it's nobody's fault, it's just the bad ancestry of win16. Also what struck me is that memr can equally well handle HMEMORY and LP... However, memw needs GlobalLocking -- otherwise it crashes. The 32 bit passed value of the meory location is of the same type. -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Tue Feb 23 18:27:13 1999 Date: Tue, 23 Feb 1999 18:14:47 -0500 From: Eric Iverson Organization: Iverson Software Inc. Subject: Re: Jforum: Simple MAPI interface available References: Oleg Kobchenko wrote: > If one could only use functions with the newer type LP... > arguments, memX would suffice. Please confirm my understanding: > otherwise for old-style HMEMORY arg'ed funcs one should allocate > with GlobalAlloc, viz. the pain-in-the-necking twist in clipbrd > is inevitable? I mean it's nobody's fault, it's just the bad > ancestry of win16. You've got it. If your call needs the old stuff (handles, locking, or whatever) you have to do the nasty work yourself. The clipboard is particularly curious. It is a combination of the old ways as well as working with shared memory. The clipboard doesn't make copies, it actually takes ownership of the memory you set. Even if it worked with LP, it still would not work with mema because mema is a pointer in the tasks memory, and the clipboard requires shared memory. -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Wed Feb 24 11:50:24 1999 Date: Wed, 24 Feb 1999 19:41:16 +0200 (EET) From: Oleg Kobchenko Subject: Re: Jforum: help indices In-Reply-To: Try to use the winhelp package. It has a help designer/compiler etc. This way you may see the topic IDs. This package allow "Authoring mode" which allows you to sniff around using special keyboard shortcuts etc. This package e.g. goes on MS Office 97 CD. On Tue, 23 Feb 1999, Andrew Nikitin wrote: > Hello, all. > > Is there a simple way to know what index does one or another help topic have? > > I would like to tie help for keywords wd, pd, plot to appropriate User Manual > help topics, but i don't know indices. > > nsg -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Wed Feb 24 12:53:05 1999 From: mellemf@nimo.com X-Lotus-FromDomain: NMPC Date: Wed, 24 Feb 1999 12:23:59 -0500 Subject: Jforum: indexing? Content-type: text/plain; charset=us-ascii Content-Disposition: inline in the jsoftware book Phrases A.indexing is the following: z=: 0{y=: 3 3 3$'ABCDEFGHIJKLMNOPQRSTUVWXYZ]' ibbb=: Subject: Jforum: listbox events Content-Disposition: inline Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by lists.interlog.com id OAA05486 What is the differnece between the button and select events in listboxes? Where is the answer to this question in the online help? -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Wed Feb 24 16:13:41 1999 From: "Seymour Glass" Subject: RE: Jforum: indexing? Date: Wed, 24 Feb 1999 12:54:08 -0500 charset="iso-8859-1" Importance: Normal In-Reply-To: <85256722.0060CFF7.00@mail.nimo.com> The question is, explain (<<1 _1) i. 3 3 (<<1 _1) is boxed, so it is opened and the elements are applied one by one to the axes of i. 3 3 . Here, there is one element, so it applies to the first axis (i. e. the axis of items, 1-cells). It is boxed (<1 _1 to be specific), so it is opened. Since the opened box is not itself boxed, it specifies the elements to be selected from its axis: here, the second and the last. So, the verb chooses items 1 and _1 from (0 1 2) , (3 4 5) ,: (6 7 8) which is (3 4 5) ,: (6 7 8) . If the opened axis-box had been boxed, it would have selected all except the second and the last elements. (<<1 _1) { i. 3 3 3 4 5 6 7 8 Henry Rich > -----Original Message----- > From: owner-jsoftware@lists.interlog.com > [mailto:owner-jsoftware@lists.interlog.com]On Behalf Of mellemf@nimo.com > Sent: Wednesday, February 24, 1999 12:24 > To: forum@JSoftware.Com > Subject: Jforum: indexing? > > > in the jsoftware book Phrases A.indexing is the following: > > z=: 0{y=: 3 3 3$'ABCDEFGHIJKLMNOPQRSTUVWXYZ]' > ibbb=: jbbb=: ijbbb=: (] ; i&{ ; ib&{ ; ibb&{ ; ibbb&{) z > ___________________ > |ABC|DEF|F|DEF|ABC| > |DEF|GHI | |GHI | | > |GHI | | | | | > --------------------------------- > > I follow the scheme though ib&{ but I have trouble envisiong what is > happening to get the result of > ibb&{ , given ibb&{ I see ibbb&{ as the "other part" > > Could someone give me a vebal passport , or a shaded diagram clarifing the > concept(s) expressed in > ibb&{? > > 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 Wed Feb 24 19:05:44 1999 Date: Wed, 24 Feb 1999 18:52:41 -0500 From: Eric Iverson Organization: Iverson Software Inc. Subject: Re: Jforum: listbox events References: <199902241402_MC2-6BB6-7480@compuserve.com> Content-Transfer-Encoding: 8bit Alain Miville de Chêne wrote: > What is the differnece between the button and select events in listboxes? Selecting a listbox entry is a select event (with the mouse or a cursor key). Enter in a select box is a button event for the selected entry. Double-click an entry gets a select event, then a button event. It can be educational to create a form with a control and then use the Code dialog to create all possible handlers. Put an smoutput into each and experiment to see what happens. > Where is the answer to this question in the online help? The select events were added later in the life of wd. I'm afraid the documentation slipped through the cracks. Thankfully we have the forum! -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Wed Feb 24 22:28:02 1999 Date: Thu, 25 Feb 1999 04:32:02 +0100 (CET) From: Martin Neitzel Subject: Re: Jforum: Scriptdoc should be a J standard >From Anssi Seppala : > > Does everybody know what Scriptdoc means to help commenting scripts? No, not everybody knows. For example, it hasn't even been integrated into the Unix library kit yet. The sad thing about scriptdoc is that it's completely tied to the wd GUI. The PM is not really the big issue here. > Subject: Jforum: Scriptdoc should be a J standard Yes. If someone could provide the scriptdoc utility in a version just returning the bare character vectors instead of subjecting them to wd handlers, I'd be more than happy to give write access to the Unix repository for its inclusion. The base functions already there, one would just have to write a new nonG-UI. Martin -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Wed Feb 24 22:28:42 1999 Date: Thu, 25 Feb 1999 02:39:33 +0100 (CET) From: Martin Neitzel Subject: RE: Jforum: ODBC API Beta Scripts Available Seymour Glass > > but if I call it as a DLL, I don't have a way to > process the return events as J socket events. Yes. This shows a quite general lack in J: one hits a road block where "event handlers", "call back functions" or "signal handlers" are required as parameters to DDL functions. Specific examples for this type of function parameters are the following: * setting up a "signal handler" in Unix. Unix has a simple but general facility to associate C functions with certain events. Events of interest to the J programmer would be: SIGINT (Ctrl-C handling equivalent to "weak interrupts" to old APLers) SIGQUIT (Ctrl-\ handling equivalent to "strong interrupts") SIGSTOP, SIGCONT (to handle stopped jobs properly (urgently needed for J)) SIGWINCH (handle window resizing to have "list" et alii behave OK) SIGHUP, SIGTERM (handle system shutdown from long running J jobs) SIGUSR1, SSIGUSR2, SIGURG (user defined interrupts, out-of-band socket data) and others which are not that often used as these ones. * ASYNCH style sockets. Let's face it: synchronous-only sockets are not for serious business. In the Windows world, ASYNC sockets require event handlers. I think J currently restricts you to synchronous, ie. blocking, sockets right now in Windows. Alternatively, "select" does a good job, but I cannot remember right now if J interfaces to that one (I'm afraid it does not and even _can_ not). It certainly doesn't under Unix where the select interface would be an absolute "must". * MIDI recording in Windows. I can write neat toy programs to create MIDI output in Windows using the standard MIDI DLLs. However, to write a sequencer, one would have to use a DLL function using a pointer to a (C) function to be called when a recording buffer has been filled. * Any Window system under Unix ... makes use of "callback functions" which are equivalent to the low-level "event handlers" in the Windows world. The parameters for these functions are highly standardized (sp?) and typically provide both for application-specific and window system-specific information. This holds for both _the_ Windows X Toolkit Intrinsics based Toolkits like Athena or Motif as for alternatives like Tk. I hope these example show the broad range of practical relevance of this "small" technical issue. The solution of this problem is non-trivial, mostly because a clash between the compiler-oriented and the interpreter-oriented worlds rears up its ugly head here. API-oriented approaches are generally to much tied to the C world and it's difficult to tranfer them into the J interpreter in a general way. [This is actually one of the reasons why I personally trust more in protocols than in APIs. And why I think that DLLs don't really make it. End of snide remark.] However, certain types of solutions are possible and even if they are not good enough for all cases, they'd be good enough for a large fraction of problems of the styles mentioned above. I'm writing this to let others know what ranks high on my "implementor's wishlist" as opposed to my wishlist under an ordinary user's hat. Martin -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Thu Feb 25 04:52:33 1999 Date: Thu, 25 Feb 1999 11:35:46 +0200 From: Anssi Seppala Subject: Jforum: . directroy in jread and fread In-Reply-To: <199902250332.EAA02359@miles.gaertner.de> My application handels data directory and subdirectories. I found that it is possible to use . (dot) as a directoryname to point to the same directory: dir data\.\*.* equals to dir data\*.* In J utilities fread manages this but jread does not. Is it possible to fix or I is this a special case that should be avoided. Anssi -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Thu Feb 25 09:24:25 1999 Date: Thu, 25 Feb 1999 09:15:58 -0500 From: Michael Lewis Organization: CDC Investments Subject: Jforum: Universal Naming Conventions in WIndows NT Content-Transfer-Encoding: 8bit Should I be able to use Microsoft’s ‘Uniform Naming Convention’, that is a file name in the format ”\\servername\pathdirs\filename.ext” with the file foreign conjunction, 0!:0? I’m trying to set-up a j profile which sits on a file server and may be accessed from a number of different machines, without relying on drive letter mappings. Any ideas? Mike Lewis -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Thu Feb 25 10:04:38 1999 Date: Thu, 25 Feb 1999 09:47:13 -0500 From: Alain Miville de Chêne Subject: Re: Jforum: listbox events Content-Disposition: inline Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by lists.interlog.com id JAA08444 Message text written by INTERNET:forum@jsoftware.com >Enter in a select box is a button event for the selected entry. Double-click an entry gets a select event, then a button event.< Yes, and single click gets a select event... -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Thu Feb 25 10:50:24 1999 From: "Chris Burke" Subject: Re: Jforum: . directroy in jread and fread Date: Thu, 25 Feb 1999 10:29:14 -0500 charset="iso-8859-1" >My application handels data directory and subdirectories. I found that it >is possible to use . (dot) as a directoryname to point to the same directory: > >dir data\.\*.* equals to dir data\*.* > >In J utilities fread manages this but jread does not. Is it possible to fix >or I is this a special case that should be avoided. > >Anssi This is a bug. If no file extension is given, jread assumes it is .ijf. The problem is that the test for whether a file extension was given was simply to check whether "." was in the name. The proper check should ignore the directory path and only test in the filename. Here is a replacement for system\packages\files\jfiles.ijs that fixes this: http://www.jsoftware.com/source/jfiles.zip This problem may occur elsewhere in the scripts. -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Thu Feb 25 11:39:51 1999 Date: Thu, 25 Feb 1999 11:21:41 -0500 From: Alain Miville de Chêne Subject: Jforum: isi graph problem Content-Disposition: inline Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by lists.interlog.com id LAA08749 I have a problem with isigraph control. I display dots on a black background. The black background is made with glflood 100 100 0 0 0,glbrush glrgb 0 0 0 NB. --- black background. The display is fine. I get what I want. However, if I place a window (any) over the isigraph and then shift it away somewhere else, the black background generally disappears and reverts to white in that part of the isigraph which was covered. If I cover the lower left corner of the isigraph, it reveals black. If I do it again but slightly higher along the bottom left to top right diagonal, I eventually get it to leave white behind. The graph has an invalidated rectangle sometimes updated, sometimes not. Bug in J? Stranger still, I zoom in and out (with windoworg and windowext) using statements such as: NavigateG_gRoutes_mbldown=: 3 : 0 MouseDown=:1 DPOS=: WindowExt LogPos ".'sysdata__COCREATOR' NB. --- note starting corner. glsel gRoutes glcapture 3 NB. --- box capture. ) NavigateG_gRoutes_mblup=: 3 : 0 glcapture 0 MouseDown=:0 UPOS=: WindowExt LogPos ".'sysdata__COCREATOR' 'X Y W H'=. (DPOS<.UPOS),|DPOS-UPOS P=. <./ WindowExt % W,H glwindowext WindowExt=: 1 round WindowExt % P glwindoworg WindowOrg=: WindowOrg + 1 round (X - -: W -~ {.WindowExt), Y - -: H -~ {:WindowExt glpaintx'' Back=:((BackI=:>: BackI){.Back),WindowOrg,WindowExt ) When I zoom in, the black background is gone. It is white. When I zoom back, it is black. -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Thu Feb 25 12:06:11 1999 Date: Thu, 25 Feb 1999 11:49:22 -0500 From: Eric Iverson Organization: Iverson Software Inc. Subject: Re: Jforum: isi graph problem References: <199902251121_MC2-6BCD-1FAB@compuserve.com> Content-Transfer-Encoding: 8bit Alain Miville de Chêne wrote: >... glflood 100 100 0 0 0 This is not a response to the problem, but is specific to your use of glflood. glflood works pixel by pixel. It starts at the starting pixel and examines all adjacent pixels for the bounday color and sets those that differ. Then it recurses. To do this fast some video drivers work out of the display buffer, not a logical image buffer. This can get it very confused. glflood is very expensive; is not supported by other platforms (Mac, CE, etc.); is ill defined; and shows up driver bugs. Avoid glflood it if at all possible! It should only be used in things like the Enigma demo. Unless I am missing something in your problem statement, a black rectangle would do what you want. If that is the case, the first thing is to change to use a rectangle, and then see what happens to the problem. -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Thu Feb 25 17:31:36 1999 Date: Thu, 25 Feb 1999 17:10:26 -0500 From: Alain Miville de Chêne Subject: Jforum: Re: isigrah problem Content-Disposition: inline Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by lists.interlog.com id RAA09359 black rectangle did the job completely. -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Thu Feb 25 22:17:20 1999 From: "Peter MacGregor" Subject: Jforum: Using J Standard Utiliites with Memory Mapped Variables Date: Fri, 26 Feb 1999 14:08:30 +1100 boundary="----=_NextPart_000_0011_01BE6191.7CA20E20" This is a multi-part message in MIME format. ------=_NextPart_000_0011_01BE6191.7CA20E20 charset="Windows-1252" Content-Transfer-Encoding: quoted-printable Some J Standard Utilities (e.g. todate, todayno and tsrep in dates.ijs) = use y. as a temporary variable name. Consequently, if you use these = utility functions with an argument that is a memory-mapped name, the = value of the memory-mapped variable will be changed by application of = the function, as explained in step 48 of the Mapped Files lab. It is easy to forget this fact if you are using memory mapped files as = arguments to standard library utilities. The lesson is: check the = source-code of any library utility before using it with memory-mapped = files, to make sure that it is not going to corrupt your database. Peter MacGregor ------=_NextPart_000_0011_01BE6191.7CA20E20 charset="Windows-1252" Content-Transfer-Encoding: quoted-printable
Some J Standard Utilities (e.g. todate, todayno and tsrep in = dates.ijs) use=20 y. as a temporary variable name.  Consequently, if you use these = utility=20 functions with an argument that is a memory-mapped name, the value of = the=20 memory-mapped variable will be changed by application of the function, = as=20 explained in step 48 of the Mapped Files lab.
 
It is easy to forget this fact if you are using memory mapped files = as=20 arguments to standard library utilities. The lesson is: check the = source-code=20 of any library utility before using it with memory-mapped files, to make = sure=20 that it is not going to corrupt your database.
 
Peter MacGregor
------=_NextPart_000_0011_01BE6191.7CA20E20-- -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Fri Feb 26 11:26:03 1999 From: "Nichols, Peter" Subject: Jforum: Captioning Main Forms Date: Fri, 26 Feb 1999 10:04:40 -0600 charset="iso-8859-1" I'm trying to change the caption on my main form that is defined by the form editor like this... pc tutor;pn "Tutor v0.0"; wd 'setcaption tutor *Hello World!' gives me a bad id error. Thanks... Peter Nichols -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Fri Feb 26 11:33:11 1999 From: "Seymour Glass" Subject: RE: Jforum: Captioning Main Forms Date: Fri, 26 Feb 1999 11:12:32 -0500 charset="iso-8859-1" Importance: Normal In-Reply-To: <01074BD4EEC4D1118E3200805F6542A7177DFC@SPRDALLAS2> Captions are for buttons. To change the name on the top bar of the form, use wd 'psel tutor;pn *Hello World!' with the psel required only if the parent is not currently selected. Henry Rich > -----Original Message----- > From: owner-jsoftware@lists.interlog.com > [mailto:owner-jsoftware@lists.interlog.com]On Behalf Of Nichols, Peter > Sent: Friday, February 26, 1999 11:05 > To: 'forum@jsoftware.com' > Subject: Jforum: Captioning Main Forms > > > I'm trying to change the caption on my main form that is defined > by the form > editor like this... > > pc tutor;pn "Tutor v0.0"; > > wd 'setcaption tutor *Hello World!' > > gives me a bad id error. > > > Thanks... > > Peter Nichols > > ------------------------------------------------------------------ > -------------- > 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 26 12:39:10 1999 Date: Fri, 26 Feb 1999 12:25:15 -0500 From: Eric Iverson Organization: Iverson Software Inc. Subject: Re: Jforum: Captioning Main Forms References: <01074BD4EEC4D1118E3200805F6542A7177DFC@SPRDALLAS2> To Nichols, Peter: wd 'setcaption tutor *Hello World!' NB. set caption in control tutor wd 'pn tutor *Hello World!' NB. set caption in parent (form) tutor -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Sat Feb 27 18:37:13 1999 From: Andromeda Subject: Jforum: isinteger Date: Sun, 28 Feb 1999 00:21:23 +0100 Content-Type: multipart/mixed; boundary="---- =_NextPart_000_01BE62B0.46DFF0C0" ------ =_NextPart_000_01BE62B0.46DFF0C0 There is a function ?isinteger" in the script VALIDATE. This function contains probably a bug in combination with strings or simple characters. Contrary to the other functions like ?isboolean" or ?isnumeric" or ?isboxed" ,which all display correctly 0 if applied to a string , "isinteger" crashes with a domain error. I'm using Windows 98 as O.S. /Milan Ondrus ------ =_NextPart_000_01BE62B0.46DFF0C0 Content-Type: application/ms-tnef Content-Transfer-Encoding: base64 eJ8+IhkXAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAEIgAcAGAAAAElQTS5NaWNy b3NvZnQgTWFpbC5Ob3RlADEIAQ2ABAACAAAAAgACAAEEkAYAhAEAAAEAAAAQAAAAAwAAMAIAAAAL AA8OAAAAAAIB/w8BAAAAPwAAAAAAAAD+QqoKGMcaEOiFC2UcJAAAAwAAAAQAAAAAAAAAGAAAAAAA AAARwbYkW9C9EYbZbtGUPAZOJIUgAAAAAAAeAAIwAQAAAAUAAABTTVRQAAAAAB4AAzABAAAAFAAA AGZvcnVtQGpzb2Z0d2FyZS5jb20AAwAVDAEAAAADAP4PBgAAAB4AATABAAAAEAAAACdGb3J1bSAo RS1tYWlsKQACAQswAQAAABkAAABTTVRQOkZPUlVNQEpTT0ZUV0FSRS5DT00AAAAAAwAAOQAAAAAL AEA6AQAAAB4A9l8BAAAAEAAAACdGb3J1bSAoRS1tYWlsKQACAfdfAQAAAD8AAAAAAAAA/kKqChjH GhDohQtlHCQAAAMAAAAEAAAAAAAAABgAAAAAAAAAEcG2JFvQvRGG2W7RlDwGTiSFIAAAAAAAAwD9 XwEAAAADAP9fAAAAAAIB9g8BAAAABAAAAAAAAAJTQAEEgAEACgAAAGlzaW50ZWdlcgDKAwEFgAMA DgAAAM8HAgAcAAAAFQAXAAAAIAEBIIADAA4AAADPBwIAHAAAAAYAIwAAAB0BAQmAAQAhAAAANjYz M0Y1Q0NBNTYyQkUxMTg2REE2RUQxOTQzQzA2NEUAPwcBA5AGADwJAAAgAAAACwACAAEAAAALACMA AAAAAAMAJgAAAAAACwApAAAAAAADADYAAAAAAEAAOQDAkPbjp2K+AR4AcAABAAAACgAAAGlzaW50 ZWdlcgAAAAIBcQABAAAAFgAAAAG+Yqfj3GxanSLOoRHSlr+0Qhnxsw8AAB4AHgwBAAAABQAAAFNN VFAAAAAAHgAfDAEAAAAVAAAAbWlsYW4uaWNlQGJsdWV3aW4uY2gAAAAAAwAGEF7wqSYDAAcQKQEA AB4ACBABAAAAZQAAAFRIRVJFSVNBRlVOQ1RJT04/SVNJTlRFR0VSIklOVEhFU0NSSVBUVkFMSURB VEVUSElTRlVOQ1RJT05DT05UQUlOU1BST0JBQkxZQUJVR0lOQ09NQklOQVRJT05XSVRIU1RSSU4A AAAAAgEJEAEAAAA1BgAAMQYAAIwOAABMWkZ15C/vwQMACgByY3BnMTI1cjIMYGMxAzABBwtgbpEO EDAzMw8WZmUPkk8B9wKkA2MCAGNoCsBzhGV0AtFwcnEyAACSKgqhbm8SUCAwAdCFAdA2D6AwNTA0 FCHzAdAUEDR9B20CgwBQA9T7Ef8TC2IT4RRQE7IY9BTQ+wcTFeQ3AuMWvxMJHHIUUJEc231FZwUg REIV5GQ0OBGOMjMekRdyINEHbSBDRR4lOR6vFEDTH98g5XlyFeQ1FjERrFwxNhYxIz8DgkcJ0Wu/ JLUOUCVPKJEmjwOCVAhwZyS1D8Aovjg2Kd8g5EL9B0B0DeAktSMBFmwfqAcT+SE3NTUvfyL3MRUk lxph/xZsJjgxFCfaHpE07inGMRT/K0gh0TTtLQcxFC6WApEI5qo7CW8wPX9lDjA1Pqr/P8E/f0CJ PpRAsj8fQu9Crc9CL0BfPq8QYDI4SHpJkf9JT0pZPpRKgkjvTL9MfUv/+0ovTfQ5DlBRRFKhSsNS oKECgnN0eWwHkGgJ4A50AAATUAPwZGN0bIUKsVxU+GFkanVUEJkFEGdoBUIaUWNmIdAOYwnAVQAD MHNuZXhfG0AHsAWwAMACc3MAUHMsYjIUUFQAYRPwXGv9CeBwC5BU31XvDCEWI0qRb1dCWeAEoAuA Z1ziV5Vi+mEbIGQCIFhAV+ZUcFYw+V2RIDFT0w5QWT9aT1tf/wwjAEFXSl5/X4ZTxA/AYI+/YZ9i r1xjVyxk/1+GMwKCfRMQY1kAa9FWMF+wLsB2JROARAEQYXUusCBQBQrAYQnAYXBoIEanAiFYxDIB aS0PkDgBQFxsaXBjaB9og2ILIHLPCVByghagcoJ3NEfhGxD+cAHQbaJWX2rPa9YlAG7AWwUQAjAt b2ADYTotgG+hd+BTdWJqBZB0d+DgRGF0ZTpYxC0RcE//cV9yb3N/dIdUYF+jDiFr0T9qRAvhDlB1 X3Zvd3FSZfNuIBsRIEhfkQSQWMQaYX95v3rPe9986whgaHALgGX7VEBuIGwBQH2/fsIccQjQ8mIK sHQ4aioPVGcggD/PgUaKgIJQC1B5L29wfOD7CxGCxXNYxB6Rg8+E34Xv/3zvdI+L74z/jgR4Anek eNnvIdCQT2kviiQ5lB+VL5sg8ERvY3UHgAIwBdBvML88oZlSmLCY8JHRAYBueGB/AGAJ8G3QnYAC AViAfoJllwDwnYBUIHBBIFx2CJD0d2sLgGQjAKEiBPAHQH8QYQFADgCRol+CooUCEG/vBUIbMRLy ePBtC1F48CEwqDpcXHcwb28RbW9gNwMQB5ClME0N4ANgc2+5AYAgTwEgDeCgcFym5tZFAMADEC5r oHSeUBsgd5jwV8GH8ngBQF+CBJB5PDcwIdGjsam1COFzeHup4p+BblRwPZCohG5kY48DIBLzAIAF kGx2bABQ/2fgDnBYgK0CAZAAIK2SoXH/ncEBwa0BGvAPcAAAZ+AM0PkBkCAuPLKs+A5QrbIusP+Z QK4vrz+wTw/AZ+AFgbHv27L/tA9sIwBn4Gyxr7Zvfbd1KbB8MgC1T7ovt2Ri/CAoApG7T61DLRC4 /72//77Pv9+tcBpgwSKt/8KPw5//sHwekMEvxq/Hv8jPrXAh0P/Fr8s/zE/NVAr5AzCYr5m/X5tN AAAPUgHQMfAgCoVUFauiIAQAILfAZnVuZdNAaQIgIIQEAHdRZZZnBJCPwGQCYHF1qkFWINdwA6B0 VHAgBPVWAEFMSURBVEUu/9a314HX1wWgAjALcQQgF3CWb2tgAmB516FidV/g/9KxBaAG0AuAeODY IgPw2fD/2iDUoQ9wBCAFsQCQpKETgPca4gDQqlFz2yYKhQhQAjD3bvCpwNngb9njo8CrodfH/wQg j9BnsNhSBuAG8F+QC5D/2RkFsdhhrcAHgAUQAODk/80G4HgJgNkKLHfbsBrg+degbGwKhV+wkwAL YN2AfwWhPZDTQd2AWEAGkNegcP8LUAiQV8DigbfA30TokKjh/9kn2H/ZggUAa3BUcAQg3vO/t8Br oKfxA6AEkANgcuENvkmPwNlUpbDUgF/CV6FxO9MABCA5ioBrcKbQLlO94Q0vpkAPUabQn5By1IAT CoU8sAAA9bAAAAADABAQAAAAAAMAERAAAAAAAwCAEP////9AAAcwQGqm0qVivgFAAAgwQGqm0qVi vgELAACACCAGAAAAAADAAAAAAAAARgAAAAADhQAAAAAAAAMAAoAIIAYAAAAAAMAAAAAAAABGAAAA ABCFAAAAAAAAAwAFgAggBgAAAAAAwAAAAAAAAEYAAAAAUoUAALcNAAADAAmACCAGAAAAAADAAAAA AAAARgAAAAABhQAAAAAAAB4AEoAIIAYAAAAAAMAAAAAAAABGAAAAAFSFAAABAAAABAAAADguMAAL ABaACCAGAAAAAADAAAAAAAAARgAAAAAOhQAAAAAAAAMAF4AIIAYAAAAAAMAAAAAAAABGAAAAABGF AAAAAAAAAwAZgAggBgAAAAAAwAAAAAAAAEYAAAAAGIUAAAAAAAAeACiACCAGAAAAAADAAAAAAAAA RgAAAAA2hQAAAQAAAAEAAAAAAAAAHgApgAggBgAAAAAAwAAAAAAAAEYAAAAAN4UAAAEAAAABAAAA AAAAAB4AKoAIIAYAAAAAAMAAAAAAAABGAAAAADiFAAABAAAAAQAAAAAAAAAeAD0AAQAAAAEAAAAA AAAAAwANNP03AADL9A== ------ =_NextPart_000_01BE62B0.46DFF0C0-- -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm From owner-jsoftware@lists.interlog.com Sun Feb 28 19:40:08 1999 From: "Chris Burke" Subject: Re: Jforum: isinteger Date: Sun, 28 Feb 1999 19:24:51 -0500 charset="iso-8859-1" >There is a function ?isinteger" in the script VALIDATE. >This function contains probably a bug in combination with strings or simple characters. > >Contrary to the other functions like ?isboolean" or ?isnumeric" or ?isboxed" ,which all >display correctly 0 if applied to a string , "isinteger" crashes with a domain error. > >I'm using Windows 98 as O.S. > >/Milan Ondrus Thanks, I suggest instead: isinteger=: (-: <.) :: 0: isreal=: (-: +) :: 0: -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm