💾 Archived View for blitter.com › apl-books › APLSE › www.sigapl.org › Archives › waterloo_archive ›… captured on 2024-08-18 at 19:33:47.

View Raw

More Information

⬅️ Previous capture (2022-07-17)

-=-=-=-=-=-=-

From owner-jsoftware@lists.interlog.com  Sun Jan 31 18:45:36 1999
Organization: S&PE Telematika
From: "ASB" <asb@lnk.tm.odessa.ua>
Subject: Jforum: matrix rotating
Date: Mon, 1 Feb 1999 01:32:35 +0200

In APL I can rotate rows of matrix independently.
Can I do this in J in some simple way?

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Sun Jan 31 18:57:58 1999
Delivered-To: fixup-forum@jsoftware.com@fixme
Date: Sun, 31 Jan 1999 15:49:05 -0800
From: greg heil <gheil@uswest.net>
Subject: Re: Jforum: matrix rotating
References: <199901312335.BAA12000@Tele.TM.Odessa.UA>

ASB wrote:

> In APL I can rotate rows of matrix independently.
 Can I do this in J in some simple way?

Try variants of

   1 2 3 |."0 1 i.3 5
 1  2  3  4  0
 7  8  9  5  6
13 14 10 11 12

Key is " (rank) operator.

greg heil
mailto:gheil@acm.org
http://www.scn.org/tl/anvil

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Sun Jan 31 19:53:56 1999
From: "Jay Daulton" <jovenova@earthlink.net>
Subject: Jforum: Re: wdview
Date: Sun, 31 Jan 1999 16:53:49 -0800
	charset="iso-8859-1"

Is there an alternative script to the supplied windows text viewer -
 wdview - that
can handle more than 20K bytes? I have an application that would require
upwards of 3 megs.
I am using J3.05b.

Jay Daulton

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Sun Jan 31 23:51:16 1999
From: "John D. Baker" <bakerjd@kos.net>
Subject: Re: Jforum: Re: wdview
Date: Sun, 31 Jan 1999 22:34:11 -0500
	charset="iso-8859-1"

The text viewer uses a standard windows control and the
amount of text it can handle is os dependent. For win 3.1x, 95/98
20k sounds about right.  Under NT you can safely go up to 2megs.
For 3megs you need to get ahold of a good windows text editor that
can be be run by winexec commands or embedded as an
ole/activeX control on a J form.

-----Original Message-----
From: Jay Daulton <jovenova@earthlink.net>
Date: Sunday, January 31, 1999 7:48 PM
Subject: Jforum: Re: wdview

>Is there an alternative script to the supplied windows text viewer -
> wdview - that
>can handle more than 20K bytes? I have an application that would require
>upwards of 3 megs.
>I am using J3.05b.
>
>
>Jay Daulton
>
>
>---------------------------------------------------------------------------
-----
>J Forum: for information about this list, see
http://www.jsoftware.com/forum.htm
>

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Mon Feb  1 11:56:14 1999
References: <016001be4ba3$254cdfa0$360b14d1@f3nbp>
Organization: Voxel
From: "Andrew Nikitin" <nsg@voxel.kharkov.ua>
Date: Mon,  1 Feb 1999 13:21:19 +0200 (EET)
Subject: Jforum: @: and [:

   10 ([: >: <.@^.)1208021x
7
   10 (>: @: <.@^.)1208021x
|domain error
|   10    (>:@:<.@^.)1208021

After some meditation i have decided that such behaviour is completely
correct, but it still looks some puzzling.

BTW, this example shows that composition in J isn't associative as it is in
mathematic, so, be careful.

nsg

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Mon Feb  1 12:15:16 1999
From: "Seymour Glass" <glasss@mindspring.com>
Subject: Re: Jforum: @: and [:
Date: Mon, 1 Feb 1999 11:58:47 -0500

Why is this behavior correct?  Since

   10 ^. 1208021x
|domain error

I would have thought that 10 ([: >: <.@^.)1208021x
would fail too.  Why doesn't it?  It looks like the
1208021x is being converted to 1208021, but I don't
see why.

Henry Rich

-----Original Message-----
From: Andrew Nikitin <nsg@voxel.kharkov.ua>
Date: Monday, February 01, 1999 11:39
Subject: Jforum: @: and [:

>
>   10 ([: >: <.@^.)1208021x
>7
>   10 (>: @: <.@^.)1208021x
>|domain error
>|   10    (>:@:<.@^.)1208021
>
>After some meditation i have decided that such behaviour is completely
>correct, but it still looks some puzzling.
>
>BTW, this example shows that composition in J isn't associative as it is in
>mathematic, so, be careful.
>
>
>nsg
>
>
>
>---------------------------------------------------------------------------
-----
>J Forum: for information about this list, see
http://www.jsoftware.com/forum.htm

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Mon Feb  1 12:53:14 1999
Date: Mon, 1 Feb 1999 19:38:45 +0200 (EET)
From: Oleg Kobchenko <gccinc@usa.net>
Subject: Re: Jforum: @: and [:
In-Reply-To: <001401be4e04$250876e0$f7a956d1@seymourg>

Also ineteresting is

   10 ^.&<. 1208021
6.08207
   10 ^.&<. 1208021x
|domain error
|   10    ^.&<.1208021

On Mon, 1 Feb 1999, Seymour Glass wrote:

> Why is this behavior correct?  Since
>
>    10 ^. 1208021x
> |domain error
>
> I would have thought that 10 ([: >: <.@^.)1208021x
> would fail too.  Why doesn't it?  It looks like the
> 1208021x is being converted to 1208021, but I don't
> see why.
>
> Henry Rich
>
> -----Original Message-----
> From: Andrew Nikitin <nsg@voxel.kharkov.ua>
> To: forum@JSoftware.Com <forum@JSoftware.Com>
> Date: Monday, February 01, 1999 11:39
> Subject: Jforum: @: and [:
>
>
> >
> >   10 ([: >: <.@^.)1208021x
> >7
> >   10 (>: @: <.@^.)1208021x
> >|domain error
> >|   10    (>:@:<.@^.)1208021
> >
> >After some meditation i have decided that such behaviour is completely
> >correct, but it still looks some puzzling.
> >
> >BTW, this example shows that composition in J isn't associative as it is in
> >mathematic, so, be careful.
> >
> >
> >nsg
> >
> >
> >
> >---------------------------------------------------------------------------
> -----
> >J Forum: for information about this list, see
> http://www.jsoftware.com/forum.htm
>
>
>
> --------------------------------------------------------------------------------
> J Forum: for information about this list, see http://www.jsoftware.com/forum.htm
>

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Mon Feb  1 13:32:48 1999
From: "Seymour Glass" <glasss@mindspring.com>
Subject: Re: Jforum: @: and [:
Date: Mon, 1 Feb 1999 13:19:24 -0500

I see now.  The key is in Dictionary II.G para. 1, which says that '<.@f and
>.@f produce entended integer results when applied to extended integer
arguments'.

So

   10 ^. 1000001x
|domain error
|   10    ^.1000001
   10 ^. 1000000x
6
   10 <.@^. 1000001x
6

but:

   10 <.@:^. 1000001x
|domain error
|   10    <.@:^.1000001

Here is another interesting tidbit:

   10 (^. 1001"_) 1001x
3.00043

I expected this to fail, because 10 would be converted to extended by the
larger verb and then applied to ^. .  But apparently this didn't happen.
Dictionary II.G says 'dyadic functions...convert their arguments to the same
type'.  Apparently the conversion is performed only by the 'primitive
functions'
referred to earlier in the paragraph.

Henry Rich

-----Original Message-----
From: Oleg Kobchenko <gccinc@usa.net>
Date: Monday, February 01, 1999 12:39
Subject: Re: Jforum: @: and [:

>Also ineteresting is
>
>   10 ^.&<. 1208021
>6.08207
>   10 ^.&<. 1208021x
>|domain error
>|   10    ^.&<.1208021
>
>
>On Mon, 1 Feb 1999, Seymour Glass wrote:
>
>> Why is this behavior correct?  Since
>>
>>    10 ^. 1208021x
>> |domain error
>>
>> I would have thought that 10 ([: >: <.@^.)1208021x
>> would fail too.  Why doesn't it?  It looks like the
>> 1208021x is being converted to 1208021, but I don't
>> see why.
>>
>> Henry Rich
>>
>> -----Original Message-----
>> From: Andrew Nikitin <nsg@voxel.kharkov.ua>
>> To: forum@JSoftware.Com <forum@JSoftware.Com>
>> Date: Monday, February 01, 1999 11:39
>> Subject: Jforum: @: and [:
>>
>>
>> >
>> >   10 ([: >: <.@^.)1208021x
>> >7
>> >   10 (>: @: <.@^.)1208021x
>> >|domain error
>> >|   10    (>:@:<.@^.)1208021
>> >
>> >After some meditation i have decided that such behaviour is completely
>> >correct, but it still looks some puzzling.
>> >
>> >BTW, this example shows that composition in J isn't associative as it is
in
>> >mathematic, so, be careful.
>> >
>> >
>> >nsg
>> >
>> >
>> >
>>
>---------------------------------------------------------------------------
>> -----
>> >J Forum: for information about this list, see
>> http://www.jsoftware.com/forum.htm
>>
>>
>>
>> -------------------------------------------------------------------------
-------
>> J Forum: for information about this list, see
http://www.jsoftware.com/forum.htm
>>
>
>
>---------------------------------------------------------------------------
-----
>J Forum: for information about this list, see
http://www.jsoftware.com/forum.htm

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Tue Feb  2 09:32:16 1999
From: "Nichols, Peter" <pnichols@sprinc.com>
Subject: Jforum: Amending columns in a matrix
Date: Fri, 29 Jan 1999 15:25:17 -0600
	charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by lists.interlog.com id JAA23049

Given a simple matrix

   a=:i.3 3
   a
0 1 2
3 4 5
6 7 8

I can get the second column.

   1{"1 a
1 4 7

But if I try to amend it
in an intuitive way.

   (12 13 14) 1}"1 a
�rank error
�   (12 13 14)    1}"1 a

What is the J equivalent of APL's
a[;1]assign iota 3

Thanks

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Tue Feb  2 10:19:49 1999
Date: Tue, 02 Feb 1999 10:00:00 -0500
From: Cliff Reiter <reiterc@lafvax.lafayette.edu>
Subject: Re: Jforum: Amending columns in a matrix
Organization: Lafayette College
Content-type: text/plain; charset=iso-8859-1
References: <01074BD4EEC4D1118E3200805F6542A7177DAE@SPRDALLAS2.lafayette.edu>

A solution to your question using rank is
(read it as amend position 1 in each row)

   12 13 14 (1)}"0 1 i.3 3
0 12 2
3 13 5
6 14 8

More generally
   12 13 14(<(<i.0);1)} i. 3 3
0 12 2
3 13 5
6 14 8

Studying the boxed cases of m. in "from" is worthwhile
  Best,
  Cliff

Nichols, Peter wrote:
>
> Given a simple matrix
>
>    a=:i.3 3
>    a
> 0 1 2
> 3 4 5
> 6 7 8
>
> I can get the second column.
>
>    1{"1 a
> 1 4 7
>
> But if I try to amend it
> in an intuitive way.
>
>    (12 13 14) 1}"1 a
> �rank error
> �   (12 13 14)    1}"1 a
>
> What is the J equivalent of APL's
> a[;1]assign iota 3

--
Clifford A. Reiter
Mathematics Department, Lafayette College
Easton, PA 18042 USA,   610-330-5277
                            ^^^ Note new phone exchange
http://www.lafayette.edu/~reiterc

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Tue Feb  2 10:24:07 1999
From: mellemf@nimo.com
X-Lotus-FromDomain: NMPC
Date: Tue, 2 Feb 1999 09:58:07 -0500
Subject: Re: Jforum: Amending columns in a matrix
Content-type: text/plain; charset=us-ascii
Content-Disposition: inline

a=:i.3 3
(12 13 14) 1}"0 1 a

Your intuition is good , but apply it (with rank ) to both sides.

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Tue Feb  2 10:32:24 1999
Date: Tue, 2 Feb 1999 16:17:19 +0100 (MET)
From: Martin Neitzel <neitzel@gaertner.de>
Subject: Re:  Jforum: Amending columns in a matrix

    (12 13 14) 1}"0 1 a

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Tue Feb  2 14:47:52 1999
Delivered-To: fixup-forum@jsoftware.com@fixme
Date: Tue, 02 Feb 1999 09:43:14 -0800
From: greg heil <gheil@uswest.net>
Subject: Re: Jforum: Amending columns in a matrix
References: <01074BD4EEC4D1118E3200805F6542A7177DAE@SPRDALLAS2>

"Nichols, Peter" wrote:

> What is the J equivalent of APL's
 a[;1]assign iota 3

try
   (i.3) 1}"0 1 a=:i.3 3
0 0 2
3 1 5
6 2 8

or
   (9) 1}"1 a
0 9 2
3 9 5
6 9 8

PS your clock seems to be off by 3 days, its Ground Hogs
day here in Seattle (nobody is seeing their shadow either;-)

greg heil
mailto:gheil@acm.org
http://www.scn.org/tl/anvil

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Tue Feb  2 16:39:32 1999
From: "J Tibollo" <jtibollo@backassociates.com>
Subject: Re: Jforum: Amending columns in a matrix
Date: Tue, 2 Feb 1999 16:30:07 -0500
	charset="iso-8859-1"

Can someone offer a technical explanation of why:

(i.3) 1}"0 1 a=:i.3 3

gives:

0 0 2
3 1 5
6 2 8

and,

a=:i.3 3

   1 {"1 a
1 4 7

while,

   (i.3) 1 }"1 a
|rank error
|   (i.3)    1}"1 a

Just curious - why do you need to use "0 1   instead of "1   ?

Thanks,
Joe Tibollo

-----Original Message-----
From: greg heil <gheil@uswest.net>
Date: Tuesday, February 02, 1999 2:38 PM
Subject: Re: Jforum: Amending columns in a matrix

>"Nichols, Peter" wrote:
>
>> What is the J equivalent of APL's
> a[;1]assign iota 3
>
>try
>   (i.3) 1}"0 1 a=:i.3 3
>0 0 2
>3 1 5
>6 2 8
>
>or
>   (9) 1}"1 a
>0 9 2
>3 9 5
>6 9 8
>
>PS your clock seems to be off by 3 days, its Ground Hogs
>day here in Seattle (nobody is seeing their shadow either;-)
>
>greg heil
>mailto:gheil@acm.org
>http://www.scn.org/tl/anvil
>
>---------------------------------------------------------------------------
-----
>J Forum: for information about this list, see
http://www.jsoftware.com/forum.htm
>

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Tue Feb  2 16:43:40 1999
From: "Nichols, Peter" <pnichols@sprinc.com>
Subject: Jforum: Reassigning a matrix in a column
Date: Mon, 1 Feb 1999 09:40:40 -0600

If a=:i.3 3
How do I make the 2nd column be 98 99 100?

Thanks

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Tue Feb  2 17:15:48 1999
Date: Tue, 02 Feb 1999 16:03:13 -0600
From: Paul Gauthier <pap.gauthier@sympatico.ca>
Subject: Re: Jforum: Amending columns in a matrix
References: <000a01be4ef3$379e6720$91d23dcf@billy>

I will try my best, which is not much...

In the help facility you can find in Definitions:

The three ranks (in the order monadic, left, and right) are also indicated, using
the symbol _ for an infinite (unbounded) rank, and with ranks dependent on the ranks
of argument verbs shown as mu, lv, etc.

So, if you do:
b=: 10 40 70
a=:i.3 3

b 1}"0 1 a

Does what you know now try this:
b=:1 3$10 40 70
then:
b 1}"0 2 a
b 1}"1 0 2 a
b 1}1 2 a
b 1}1 1 2 a

Regards/Paul

J Tibollo wrote:

> Can someone offer a technical explanation of why:
>
> (i.3) 1}"0 1 a=:i.3 3
>
> gives:
>
> 0 0 2
> 3 1 5
> 6 2 8
>
> and,
>
> a=:i.3 3
>
>    1 {"1 a
> 1 4 7
>
> while,
>
>    (i.3) 1 }"1 a
> |rank error
> |   (i.3)    1}"1 a
>
> Just curious - why do you need to use "0 1   instead of "1   ?
>
> Thanks,
> Joe Tibollo
>
> -----Original Message-----
> From: greg heil <gheil@uswest.net>
> To: forum@jsoftware.com <forum@jsoftware.com>
> Date: Tuesday, February 02, 1999 2:38 PM
> Subject: Re: Jforum: Amending columns in a matrix
>
> >"Nichols, Peter" wrote:
> >
> >> What is the J equivalent of APL's
> > a[;1]assign iota 3
> >
> >try
> >   (i.3) 1}"0 1 a=:i.3 3
> >0 0 2
> >3 1 5
> >6 2 8
> >
> >or
> >   (9) 1}"1 a
> >0 9 2
> >3 9 5
> >6 9 8
> >
> >PS your clock seems to be off by 3 days, its Ground Hogs
> >day here in Seattle (nobody is seeing their shadow either;-)
> >
> >greg heil
> >mailto:gheil@acm.org
> >http://www.scn.org/tl/anvil
> >
> >---------------------------------------------------------------------------
> -----
> >J Forum: for information about this list, see
> http://www.jsoftware.com/forum.htm
> >
>
> --------------------------------------------------------------------------------
> J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Tue Feb  2 17:21:46 1999
Date: Tue, 02 Feb 1999 16:07:27 -0600
From: Paul Gauthier <pap.gauthier@sympatico.ca>
Subject: Re: Jforum: Reassigning a matrix in a column
References: <01074BD4EEC4D1118E3200805F6542A7177DB2@SPRDALLAS2>

a=:i.3 3
b=:98 99 100
b 1}"0 1 a
98 99 100(1)}"0 1 a

"Nichols, Peter" wrote:

> If a=:i.3 3
> How do I make the 2nd column be 98 99 100?
>
> Thanks
>
> --------------------------------------------------------------------------------
> J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Tue Feb  2 17:24:34 1999
Date: Tue, 2 Feb 1999 23:12:27 +0100 (MET)
From: Martin Neitzel <neitzel@gaertner.de>
Subject: Re: Jforum: Amending columns in a matrix

> Can someone offer a technical explanation of why:
>
> [some stuff elided]
>
>    1 {"1 a
> 1 4 7
>
> while,
>
>    (i.3) 1 }"1 a
> |rank error
> |   (i.3)    1}"1 a
>
> Just curious - why do you need to use "0 1   instead of "1   ?

First of all, { and } are different beasts.   While  1{  looks
very similar to  1} , the structure is completely different.

1 {		a left argument next to a dyad  (no valid phrase as is)
1 }		adverb (rather, "adnoun") next to its operand "1" => a verb

Next, while { and } look symmetric and they are related, they have
nevertheless the own requirements and argument ranks.

Now to your question:

> Just curious - why do you need to use "0 1   instead of "1   ?

	(i.3) 1 }"1 a
	^^^^^       ^		NB. hope you have a monospaced font
is
	x     1 }"1 y
	      ^^^
is
	x    verb"1 y

Now, verb"1  (a new verb on its own)  is clearly applied dyadically.
In the dyadic case,  verb"1  is just a short form for  verb"1 1 .
(Which again is just a short form for  verb"1 1 1  with order 'mr lr rr';
that's where the 3{body}amp;.|.n kicks in in the Dictionary's  u"n  entry.)

But   verb"0 1  is what you want:  mate scalars from the left with
rows from the right;  for each pair, do the 1} shove-it-in thing.

(1}) "1 1   yields a rank error because a row (0 1 2) would be
paired with any other row from the left (say, 4 5 6).  But

	0 1 2    (1})   4 5 6

rightly complains at you because you cannot amend the scalar 5 with
an entire vector.  The Dictionary requires for  x m} y :

	$x must be a suffix of $m{y

						Hope this helps,
						Martin

PS:  1000 thanks for omitting that HTML encoding this time!

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Tue Feb  2 18:40:57 1999
Date: Tue, 02 Feb 1999 17:30:32 -0600
From: Paul Gauthier <pap.gauthier@sympatico.ca>
Subject: Re: Jforum: Reassigning a matrix in a column
References: <01074BD4EEC4D1118E3200805F6542A7177DB2@SPRDALLAS2> <36B7771F.984D21@sympatico.ca>

Some timing issues.
Now, please do not forget that internally, data is stored in a ravel wise order and
therefore:

100000  (6!:2)'b 1}"0 1 a'
0.0001395
 100000  (6!:2)'|:b 1}|:a'
0.000106

   So, if two transposes keep the timing faster than directly replacing a column, what
about doing a transpose at the start of your procedure, replace all the rows you need
to replace then transpose again...

Regards/Paul

Paul Gauthier wrote:

> a=:i.3 3
> b=:98 99 100
> b 1}"0 1 a
> 98 99 100(1)}"0 1 a
>
> "Nichols, Peter" wrote:
>
> > If a=:i.3 3
> > How do I make the 2nd column be 98 99 100?
> >
> > Thanks
> >
> > --------------------------------------------------------------------------------
> > J Forum: for information about this list, see http://www.jsoftware.com/forum.htm
>
> --------------------------------------------------------------------------------
> J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Tue Feb  2 18:45:01 1999
From: "Nollaig MacKenzie" <Nollaig@YorkU.CA>
Date: Tue, 02 Feb 1999 18:30:41 -0500 (EST)
In-Reply-To: <01074BD4EEC4D1118E3200805F6542A7177DAE@SPRDALLAS2>
Subject: Re: Jforum: Amending columns in a matrix
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by lists.interlog.com id SAA23826

On Fri, 29 Jan 1999 15:25:17 -0600, Nichols, Peter wrote:

>Given a simple matrix
>
>   a=:i.3 3
>   a
>0 1 2
>3 4 5
>6 7 8
>
>
>I can get the second column.
>
>   1{"1 a
>1 4 7
>
>But if I try to amend it
>in an intuitive way.
>
>   (12 13 14) 1}"1 a
> rank error
>    (12 13 14)    1}"1 a
>
>What is the J equivalent of APL's
>a[;1]assign iota 3
>

This kicked in a motto I made for myself the last time I was writing
in J (3.05): If the cell-rank don't work, try the frame.

Consider:

   a=. i. 3 3
   b=. i.3 3 3
   v=. 11 14 17
   m=. 100*i.3 3
   v 1 }"1 a
�rank error
�   v     1}"1 a
   v 1}"_1 a
0 11 2
3 14 5
6 17 8
   m 1}"1 b
�rank error
�   m     1}"1 b
   m 1}"_2 b
 0   0  2
 3 100  5
 6 200  8

 9 300 11
12 400 14
15 500 17

18 600 20
21 700 23
24 800 26

 m 1}"2 b
�rank error
�   m     1}"2 b
   m 1}"_1 b
  0   1   2
  0 100 200
  6   7   8

  9  10  11
300 400 500
 15  16  17

 18  19  20
600 700 800
 24  25  26

I never understood this, since frame-rank (negative n in "n) and
cell-rank (positive n in "n) should behave something like this,
shouldn't they?:

If the rank of A is R, and m+n = R, then "(-m) is equivalent to "n

eh?

Cheers, N.
--
hostname if connected: Amhuinnsuidhe.DynIP.COM
http://www.yorku.ca/faculty/academic/nollaig/
For PGP public key, send e-mail to: key@Four11.com
      with body: Nollaig@YorkU.CA
--

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Tue Feb  2 19:13:40 1999
Date: Wed, 3 Feb 1999 01:03:53 +0100 (MET)
From: Martin Neitzel <neitzel@gaertner.de>
Subject: Re: Jforum: Amending columns in a matrix

> I never understood this, since frame-rank (negative n in "n) and
> cell-rank (positive n in "n) should behave something like this,
> shouldn't they?:
>
> If the rank of A is R, and m+n = R, then "(-m) is equivalent to "n
>
> eh?

Yes if you consider _one_ spec m with respect to _one_ argument A.
Not if you consider _one_ sepc m with respect to _two_ args A and B.

Then:

>    a=. i. 3 3
>    b=. i.3 3 3
>    v=. 11 14 17
>    m=. 100*i.3 3
>    v 1 }"1 a		=>  "1 1
>    v 1}"_1 a		=>  "_1 _1  (here positively:  "0 1)
>    m 1}"1 b		=>  "1 1
>    m 1}"2 b  		=>  "2 2
>    m 1}"_1 b		=>  "_1 _1  (here positively:  "1 1)

Do you see the differences now?  After you duplicate the single
rank spec properly for the left and rigth side, you can do
the usual frame/cell arithmetic.  One each side separately.

						Martin

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Tue Feb  2 19:34:21 1999
Date: Wed, 3 Feb 1999 01:22:18 +0100 (MET)
From: Martin Neitzel <neitzel@gaertner.de>
Subject: Re: Jforum: Amending columns in a matrix

Oops, I trimmed a bit too much.  So here it comes:

>    m 1}"_2 b		=> "_2 _2  (here positively:  "0 0)

OK OK...   it's not strictly "positively".   "Cell-wise", then.

							Martin

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Tue Feb  2 20:56:34 1999
From: "Seymour Glass" <glasss@mindspring.com>
Subject: Re: Jforum: Amending columns in a matrix
Date: Tue, 2 Feb 1999 20:46:10 -0500

-----Original Message-----
From: Martin Neitzel <neitzel@gaertner.de>
Date: Tuesday, February 02, 1999 19:03
Subject: Re: Jforum: Amending columns in a matrix

>> I never understood this, since frame-rank (negative n in "n) and
>> cell-rank (positive n in "n) should behave something like this,
>> shouldn't they?:
>>
>> If the rank of A is R, and m+n = R, then "(-m) is equivalent to "n
>>
>> eh?
>
>Yes if you consider _one_ spec m with respect to _one_ argument A.
>Not if you consider _one_ sepc m with respect to _two_ args A and B.

[ useful and accurate examples omitted ]

But advanced users should note that "(-m) is actually equivalent
to "n"_ rather than to "n (in other words, the derived verb has infinite
rank):

   0:@(]"_1) i. 5 5
0
   0:@(]"1) i. 5 5
0 0 0 0 0
   0:@(]"1"_) i. 5 5
0

or more plainly:

   (]"1) b. 0
1 1 1
   (]"_1) b. 0
_ _ _

Henry Rich

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Tue Feb  2 22:30:18 1999
Delivered-To: fixup-forum@jsoftware.com@fixme
Date: Tue, 02 Feb 1999 19:20:14 -0800
From: greg heil <gheil@uswest.net>
Subject: Re: Jforum: Amending columns in a matrix
References: <000a01be4ef3$379e6720$91d23dcf@billy>

J Tibollo wrote:

> Can someone offer a technical explanation of why:

>... <snip> while,

>    (i.3) 1 }"1 a
> |rank error
> |   (i.3)    1}"1 a

Here you are trying to cram (technical term there;-) a vector
(i.3) into the second (1}) scalar of each row ("1).

> Just curious - why do you need to use "0 1   instead of "1   ?

The 0 says to use scalars as the left argument of the amend
action and the 1 to use row vectors as the, corresponding,
right argument. To just use one 1 implies cramming (getting
technical again;) a vector into a scalar slot as that 1 is
repeated to derive the verbs rank for both left and right args.

greg heil
mailto:gheil@acm.org
http://www.scn.org/tl/anvil

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Wed Feb  3 10:57:14 1999
From: "Ondrus, Milan" <milan.ondrus@csfb.com>
Subject: Jforum: fmt
Date: Wed, 3 Feb 1999 16:38:43 +0100

 I'm looking at the utility fmt in the script <format>

 'b4' fmt 3456 gives the char-matrix 3456

 but

 'z4' fmt 3456 gives the char-matrix 0456 ... inserts a zero at the first
position and wipes out the 3.

 'z3' fmt 345 gives 045 ... again the first position disappears.

 This z-formatting seems to behave inconsistent with b-formatting or do I
see that wrong?

.....................
 /Milan Ondrus

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Wed Feb  3 12:55:36 1999
Date: Wed, 03 Feb 1999 17:11:49 -0800
From: Roger Stokes <qk57@dial.pipex.com>
Subject: Jforum: A Book About J
References: <89FE544F2452D21190A50060B0684BF309B0AB@szrh00305.tszrh.csfb.com>

If anyone would like to take a look at

  http://dspace.dial.pipex.com/rstokes/book.htm

you will see some chapters of a book about J
which I'm in the middle of writing.

About one-third of the projected text is
available on the website, and and another one-third
is in draft, to appear soon.

Your comments and criticisms would be very much appreciated.

Many thanks.

--
Regards:         Roger Stokes       rstokes@dial.pipex.com
                                            - or -
                                       qk57@dial.pipex.com

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Thu Feb  4 13:20:09 1999
Date: 4 Feb 99 10:01:59 -0800
Subject: Re: Jforum: Amending columns in a matrix
From: "Piet de Jong" <piet.dejong@commerce.ubc.ca>
X-Fontfamily: Geneva
X-Fontsize: 12
Content-Transfer-Encoding: quoted-printable

On the subject of ammending colums, what is the easiest way to

ammend a single row of a matrix.  By this I mean an adverb (call it A
say) such that

( 5 1 2)  1 A i.3 3

puts the row 5 1 2  in the second (ie 1) row of i.3 3.

I realize you can transpose the matrix do the column amendment as
discussed here and transpose again.   But this seems clumsy.  Is there
an easier, more

>>transparent<<<<  way.

This also leads me to the question why ammend is "atom" rather than
"item" based.  Most of the time J (as I understand it) is  "item"
based.

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Thu Feb  4 13:57:21 1999
Date: Thu, 4 Feb 1999 20:33:55 +0200 (EET)
From: Oleg Kobchenko <gccinc@usa.net>
Subject: Re: Jforum: Amending columns in a matrix
In-Reply-To: <B2DF2098-985F40@137.82.66.177>

   M=: i. 3 3
   M
0 1 2
3 4 5
6 7 8
   _1 _2 _3 (0)} M
_1 _2 _3
 3  4  5
 6  7  8

In J 'items' ARE the rows, etc, generally the top
of the rank.

On 4 Feb 1999, Piet de Jong wrote:

> On the subject of ammending colums, what is the easiest way to
>
> ammend a single row of a matrix.  By this I mean an adverb (call it A
> say) such that
>
>
> ( 5 1 2)  1 A i.3 3
>
>
> puts the row 5 1 2  in the second (ie 1) row of i.3 3.
>
>
> I realize you can transpose the matrix do the column amendment as
> discussed here and transpose again.   But this seems clumsy.  Is there
> an easier, more
>
> >>transparent<<<<  way.
>
>
> This also leads me to the question why ammend is "atom" rather than
> "item" based.  Most of the time J (as I understand it) is  "item"
> based.
>
> --------------------------------------------------------------------------------
> J Forum: for information about this list, see http://www.jsoftware.com/forum.htm
>

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Thu Feb  4 13:57:53 1999
Date: Thu, 4 Feb 1999 19:44:48 +0100 (MET)
From: Martin Neitzel <neitzel@gaertner.de>
Subject: Re: Jforum: Amending columns in a matrix

Piet de Jong:
>
> On the subject of ammending colums, what is the easiest way to
> ammend a single row of a matrix.  By this I mean an adverb (call it A
> say) such that
>
> ( 5 1 2)  1 A i.3 3
>
> puts the row 5 1 2  in the second (ie 1) row of i.3 3.

Well, this one is easy.   Your A _is_ amend (}).

> This also leads me to the question why ammend is "atom" rather than
> "item" based.  Most of the time J (as I understand it) is  "item"
> based.

x m} y   _is_ item based for the most trivial case (an open m).
The value(s) in m will then indicate which ITEMs of y will be amended.

It's only when m is boxed that other axes than the first axis come
into play, i.e. finer selections of y then items.

So, where do you get the impression that m} would be atom based?
All in all, I have the impression there must be some misunderstanding.

								Martin

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Thu Feb  4 14:03:50 1999
Date: Thu, 04 Feb 1999 12:50:17 -0600
From: Paul Gauthier <pap.gauthier@sympatico.ca>
Subject: Re: Jforum: Amending columns in a matrix
References: <B2DF2098-985F40@137.82.66.177>

You just want the standard amand adverb...

(5 1 2)1}i.3 3
5 1 2(1)}i.3 3

N.B.: two transposes are not clumsy if you do it for efficiency

Regards/Paul

Piet de Jong wrote:

> On the subject of ammending colums, what is the easiest way to
> ammend a single row of a matrix. By this I mean an adverb (call it A say) such that
>
> ( 5 1 2) 1 A i.3 3
>
> puts the row 5 1 2 in the second (ie 1) row of i.3 3.
>
> I realize you can transpose the matrix do the column amendment as discussed here and transpose again. But this seems clumsy. Is there an easier, more
> >>transparent<< way.
>
> This also leads me to the question why ammend is "atom" rather than "item" based. Most of the time J (as I understand it) is "item" based.
> -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Thu Feb  4 15:23:43 1999
Date: 4 Feb 99 12:07:10 -0800
Subject: Re: Jforum: Amending columns in a matrix
From: "Piet de Jong" <piet.dejong@commerce.ubc.ca>
X-Fontfamily: Geneva
X-Fontsize: 12
Content-Transfer-Encoding: quoted-printable

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

Consider  u} where u is a verb.  Then u "sees " the argument on the
left.  However this is not the case with the adverb \.  Thus with u\,
the verb u does not "see "the argument on the left.  Sometimes it
would be nice to have u be able to take both left and right arguments.

For example

12  (+/%#) \ x

computes the mean of each block ("infixes")  of 12 items in x.
However if you want  a weighted average with weights specified on the
left then things are not so convenient.  You can do it but its  a bit
of workaround.  Ideally you would want  u to be able determine the
length and order of the weighted average from the left and apply them
to the right.   Can this be done easily and >>transparently<<<<.
(No explicit definitions please)

This brings me to another issue which I have not figured out in J.
Why and when should I prefer an explicit definition to a tacit one.?
Is it right that generally speaking tacit ones are much preferred (the
dictionary etc seems to intimate as much).

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Thu Feb  4 15:57:47 1999
Date: Thu, 4 Feb 1999 22:38:29 +0200 (EET)
From: Oleg Kobchenko <gccinc@usa.net>
Subject: Re: Jforum: Amending columns in a matrix
In-Reply-To: <B2DF3DEF-9F44A8@137.82.66.177>

It's not very clear what exactly you were looking for.
One of my supositions would be:

   [x=. 3 4 5 6
3 4 5 6
   NB. simple average of infixes
   2 (+/ % #)\ x
3.5 4.5 5.5
   NB. weighted average of infixes
   0.7 0.3 ([: (+/ % #)"1  [ *"1 #@[ ]\ ]) x
1.65 2.15 2.65

On 4 Feb 1999, Piet de Jong wrote:

> On the subject of the amend verb , here is someting that I sometimes
> wish for in J.
>
>
> Consider  u} where u is a verb.  Then u "sees " the argument on the
> left.  However this is not the case with the adverb \.  Thus with u\,
> the verb u does not "see "the argument on the left.  Sometimes it
> would be nice to have u be able to take both left and right arguments.
>
>
> For example
>
>
> 12  (+/%#) \ x
>
>
> computes the mean of each block ("infixes")  of 12 items in x.
> However if you want  a weighted average with weights specified on the
> left then things are not so convenient.  You can do it but its  a bit
> of workaround.  Ideally you would want  u to be able determine the
> length and order of the weighted average from the left and apply them
> to the right.   Can this be done easily and >>transparently<<<<.
> (No explicit definitions please)

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Thu Feb  4 16:05:09 1999
Date: 4 Feb 99 12:47:55 -0800
Subject: Re: Jforum: Amending columns in a matrix
From: "Piet de Jong" <piet.dejong@commerce.ubc.ca>
X-Fontfamily: Geneva
X-Fontsize: 12
Content-Transfer-Encoding: quoted-printable

Thanks to all for the information that amend IS item based.

The confusion arose from the version of J 6.2 (1992) I run on my

HP200LX.  In this version amend is atom based. and indeed a statement
such as

(5 1 2) 1}  i. 3 3

yields a "rank error". Also the dictionary I use

(the most studied book in my library) , relating to version 6.2,
appears to state that amend is atom based.

On my newer version of J, (3.05 or thereabouts) amend indeed behaves
as item based.  I'm glad it is item based since this seems to make
more sense.

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Thu Feb  4 16:23:07 1999
From: "Seymour Glass" <glasss@mindspring.com>
Subject: Re: Jforum: Amending columns in a matrix
Date: Thu, 4 Feb 1999 16:07:09 -0500
	boundary="----=_NextPart_000_00B5_01BE5058.6AC51E80"

This is a multi-part message in MIME format.

------=_NextPart_000_00B5_01BE5058.6AC51E80
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

I think it's impossible to do this implicitly.  But explicitly you could =
write:

NB. Adverb: y. is anything, x. is anything, (x.&u.) is applied to each =
infix of length #x.
appliedtoinfixes =3D: 1 : 0
[: y.
:
(#x.) (x.&u.)\ y.
)

and then:

   wsum =3D. +/ @: *
   1 2 3 wsum appliedtoinfixes i. 10
8 14 20 26 32 38 44 50

the monadic case is defined so that:

   wsum appliedtoinfixes i. 10
|valence error
|       [:y.

When to use tacit vs. explicit is a personal choice.  I use tacits for =
functions whose
definition is not likely to change, i. e. my utility functions, and =
explicits for
application-specific work.  And, as here, explicits when you need to =
pass x. or y.
into an adverb or conjunction.

Henry Rich

-----Original Message-----
From: Piet de Jong <piet.dejong@commerce.ubc.ca>
Date: Thursday, February 04, 1999 15:07
Subject: Re: Jforum: Amending columns in a matrix

    On the subject of the amend verb , here is someting that I sometimes =
wish for in J.
   =20
    Consider u} where u is a verb. Then u "sees " the argument on the =
left. However this is not the case with the adverb \. Thus with u\, the =
verb u does not "see "the argument on the left. Sometimes it would be =
nice to have u be able to take both left and right arguments.
   =20
    For example=20
   =20
    12 (+/%#) \ x
   =20
    computes the mean of each block ("infixes") of 12 items in x. =
However if you want a weighted average with weights specified on the =
left then things are not so convenient. You can do it but its a bit of =
workaround. Ideally you would want u to be able determine the length and =
order of the weighted average from the left and apply them to the right. =
Can this be done easily and >>transparently<<. (No explicit definitions =
please)=20
   =20
    This brings me to another issue which I have not figured out in J. =
Why and when should I prefer an explicit definition to a tacit one.? Is =
it right that generally speaking tacit ones are much preferred (the =
dictionary etc seems to intimate as much).=20
   =20
   =20
   =20
    =
-------------------------------------------------------------------------=
------- J Forum: for information about this list, see =
http://www.jsoftware.com/forum.htm

------=_NextPart_000_00B5_01BE5058.6AC51E80
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 HTML//EN">
<HTML>
<HEAD>

<META content=3Dtext/html;charset=3Diso-8859-1 =
http-equiv=3DContent-Type>
<META content=3D'"MSHTML 4.72.3509.100"' name=3DGENERATOR>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT color=3D#000000><FONT size=3D3>I think it's impossible to do =
this=20
implicitly.&nbsp; But explicitly you could write:</FONT></FONT><FONT=20
size=3D3></FONT></DIV>
<DIV><FONT color=3D#000000><FONT size=3D3></FONT></FONT><FONT=20
size=3D3></FONT>&nbsp;</DIV>
<DIV><FONT face=3D"" size=3D3>NB. Adverb: y. is anything, x. is =
anything,=20
(x.&amp;u.) is applied to each infix of length #x.<BR>appliedtoinfixes =
=3D: 1 :=20
0<BR>[: y.<BR>:<BR>(#x.) (x.&amp;u.)\ y.<BR>)<BR></FONT></DIV>
<DIV>and then:</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;&nbsp; wsum =3D. +/ @: *<BR>&nbsp;&nbsp; 1 2 3 wsum =
appliedtoinfixes i.=20
10<BR>8 14 20 26 32 38 44 50</DIV>
<DIV>&nbsp;</DIV>
<DIV>the monadic case is defined so that:</DIV>
<DIV><BR>&nbsp;&nbsp; wsum appliedtoinfixes i. 10<BR>|valence=20
error<BR>|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [:y.<BR></DIV>
<DIV>When to use tacit vs. explicit is a personal choice.&nbsp; I use =
tacits for=20
functions whose</DIV>
<DIV>definition is not likely to change, i. e. my utility functions, and =

explicits for</DIV>
<DIV>application-specific work.&nbsp; And, as here, explicits when you =
need to=20
pass x. or y.</DIV>
<DIV>into an adverb or conjunction.</DIV>
<DIV>&nbsp;</DIV>
<DIV>Henry Rich</DIV>
<DIV><FONT face=3DArial size=3D2><B></B></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2><B>-----Original =
Message-----</B><BR><B>From:=20
</B>Piet de Jong &lt;<A=20
href=3D"mailto:piet.dejong@commerce.ubc.ca">piet.dejong@commerce.ubc.ca</=
A>&gt;<BR><B>To:=20
</B><A href=3D"mailto:forum@jsoftware.com">forum@jsoftware.com</A> =
&lt;<A=20
href=3D"mailto:forum@jsoftware.com">forum@jsoftware.com</A>&gt;<BR><B>Dat=
e:=20
</B>Thursday, February 04, 1999 15:07<BR><B>Subject: </B>Re: Jforum: =
Amending=20
columns in a matrix<BR><BR></DIV>
<BLOCKQUOTE=20
style=3D"BORDER-LEFT: #000000 solid 2px; MARGIN-LEFT: 5px; PADDING-LEFT: =
5px"></FONT>On=20
    the subject of the amend verb , here is someting that I sometimes =
wish for=20
    in J.<BR><BR>Consider u} where u is a verb. Then u &quot;sees &quot; =
the=20
    argument on the left. However this is not the case with the adverb =
\. Thus=20
    with u\, the verb u does not &quot;see &quot;the argument on the =
left.=20
    Sometimes it would be nice to have u be able to take both left and =
right=20
    arguments.<BR><BR>For example <BR><BR>12 (+/%#) \ x<BR><BR>computes =
the mean=20
    of each block (&quot;infixes&quot;) 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
    &gt;&gt;transparently&lt;&lt;. (No explicit definitions please) =
<BR><BR>This=20
    brings me to another issue which I have not figured out in J. Why =
and when=20
    should I prefer an explicit definition to a tacit one.? Is it right =
that=20
    generally speaking tacit ones are much preferred (the dictionary etc =
seems=20
    to intimate as much).=20
    =
<BR><BR><BR><BR>---------------------------------------------------------=
-----------------------=20
    J Forum: for information about this list, see=20
    http://www.jsoftware.com/forum.htm</BLOCKQUOTE></BODY></HTML>

------=_NextPart_000_00B5_01BE5058.6AC51E80--

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Thu Feb  4 16:50:20 1999
From: "Nichols, Peter" <pnichols@sprinc.com>
Subject: RE: Jforum: Reassigning a matrix in a column
Date: Tue, 2 Feb 1999 15:47:54 -0600
	charset="iso-8859-1"

Never mind.  For some reason my posts are going out several days after I
actually send them.  I've already gotten several great answers.

	-----Original Message-----
	From:	Nichols, Peter [SMTP:pnichols@sprinc.com]
	Sent:	Monday, February 01, 1999 9:41 AM
	To:	'forum@jsoftware.com'
	Subject:	Jforum: Reassigning a matrix in a column

	If a=:i.3 3
	How do I make the 2nd column be 98 99 100?

	Thanks

----------------------------------------------------------------------------
----
	J Forum: for information about this list, see
http://www.jsoftware.com/forum.htm

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Thu Feb  4 17:47:25 1999
From: "Nichols, Peter" <pnichols@sprinc.com>
Subject: Jforum: Boxing Columns
Date: Wed, 3 Feb 1999 14:02:24 -0600

I got this function from Roger Stokes book in progress.  It boxes the
x-cells of y.

cells  =: 4 : '< " x. y.'

In a 3x3 matrix, the 0-cells are the individual cells.   1-cells are the
rows, and 2-cells are the whole matrix.  But how would you box the columns
of a matrix?  I know I could transpose but it seems like there should be a
more  elegant way.

Thanks.

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Thu Feb  4 18:49:10 1999
From: "John D. Baker" <bakerjd@kos.net>
Subject: Jforum: Tacit and Explicit
Date: Thu, 4 Feb 1999 18:35:57 -0500
	charset="iso-8859-1"

Piet de Jong writes:

>This brings me to another issue which I have not figured out in J. Why and
when should I prefer an explicit >definition to a tacit one.? Is it right
that generally speaking tacit ones are much preferred (the dictionary etc
>seems to intimate as much).

Sometime after I first learned J I realized that spending inordinate amounts
of
time looking for tacit solutions to problems that are trivially solved with
explicit
expressions is J's variation on APL's one-liner-real-men-don't-loop disease.

The decision to use tacit vs. explicit definitions should be based on
rational
criteria.  Here's my J checklist.   I use similar guidelines when
programming
in APL and even when mulling over the macro/function dilemma in C.

1) If you can quickly bash off a tacit definition without stopping to think
    about it use a tacit expression.

2) If your verb is the argument of an adverb or conjunction and is going
    to be executed thousands (or more) times, e,g.

       u&.> somebighonkinglist

   It often, (but not always),  pays to use tacit definitions.  If a line is
going
   to be executed only once the tacit/explicit issue is moot.  Your time
   is better spent thinking about what's on that line rather than looking
for
   a tacit version of it.

3) If you are creating local words inside other definitions try and make
them
    tacit.   Keep in mind that excessive embedding is pretty clear sign that
you need
    a locale or class object.

4) If your word naturally occupies a few lines of code and all of the above
    applies use an explicit definition.  The first time you have to turn
    on the debugger you will be rewarded for your tacit restraint.

5) If you are interested in exploring J semantics solely for it's own sake
    then tacits are superb teachers.   It is for this reason that tacits are
    so frequently used in The J Dictionary.

6) If you have a lot of time on your hands and you belong to some
    bizarre ultra-loony-mad-programmer's-cult,  (like
    the dwindling but still in denial pure Java sect),  then I'm sorry --
you can't use explicit
   definitions because the J interpreter detects fanatics and
   automatically disables explicit definitions.

John D. Baker
bakerjd@kos.net

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Thu Feb  4 21:30:30 1999
Date: Fri, 05 Feb 1999 03:18:46 +0100
From: "d.alis" <dalis@balcab.ch>
Subject: Re: Jforum: Boxing Columns
References: <01074BD4EEC4D1118E3200805F6542A7177DBA@SPRDALLAS2>

Whatever J is about, surely it is about writing
cells =: <"
instead of
cells  =: 4 : '< " x. y.'
Or does no-one agree?
DAL

Nichols, Peter wrote:

> I got this function from Roger Stokes book in progress.  It boxes the
> x-cells of y.
>
> cells  =: 4 : '< " x. y.'
>
> In a 3x3 matrix, the 0-cells are the individual cells.   1-cells are the
> rows, and 2-cells are the whole matrix.  But how would you box the columns
> of a matrix?  I know I could transpose but it seems like there should be a
> more  elegant way.
>
> Thanks.
>
> --------------------------------------------------------------------------------
> J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Thu Feb  4 21:47:49 1999
Date: Fri, 05 Feb 1999 03:27:44 +0100
From: "d.alis" <dalis@balcab.ch>
Subject: Re: Jforum: Amending columns in a matrix
References: <B2DF477D-A18397@137.82.66.177>

The Dictionary needs to be read with care.
Compare the noun and verb cases...
a=: 1 3 5
Anoun =. a
Averb =. a"_
100 200 300 Anoun } i. 6 3
  0   1   2
100 200 300
  6   7   8
100 200 300
 12  13  14
100 200 300

100 200 300 Averb } i. 6 3
  0 100   2
200   4 300
  6   7   8
  9  10  11
 12  13  14
 15  16  17

Piet de Jong wrote:

> Thanks to all for the information that amend IS item based.
>
> The confusion arose from the version of J 6.2 (1992) I run on my
> HP200LX. In this version amend is atom based. and indeed a statement such as
>
> (5 1 2) 1} i. 3 3
>
> yields a "rank error". Also the dictionary I use
> (the most studied book in my library) , relating to version 6.2, appears to state that amend is atom based.
>
> On my newer version of J, (3.05 or thereabouts) amend indeed behaves as item based. I'm glad it is item based since this seems to make more sense.
>
> -------------------------------------------------------------------------------- J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Fri Feb  5 04:11:00 1999
References: <89FE544F2452D21190A50060B0684BF309B0AB@szrh00305.tszrh.csfb.com>
Organization: Voxel
From: "Andrew Nikitin" <nsg@voxel.kharkov.ua>
Date: Thu,  4 Feb 1999 13:52:38 +0200 (EET)
Subject: Re: Jforum: fmt

3-Feb-99 16:38 Ondrus, Milan wrote:
>  I'm looking at the utility fmt in the script <format>

Conjunction expandby marked by label 'v' instead of 'c' in scriptdoc.

Line 3 in hexdump verb would be better changed from
bar=. 179{a. NB. original version

into something like
bar=. 9{,9!:6 ''

nsg

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Fri Feb  5 04:12:09 1999
Date: Fri, 05 Feb 1999 02:50:51 -0600
From: Paul Gauthier <pap.gauthier@sympatico.ca>
Subject: Re: Jforum: Boxing Columns
References: <01074BD4EEC4D1118E3200805F6542A7177DBA@SPRDALLAS2>

Please read the Phrase book Chapter 5 on structures, section C on special matrices
and lists.

You will find:

m42=:<"1@|:         NB.Box each column of a matrix

Yes, it is tranposed...Nope I don't know of a more elegant way...

"Nichols, Peter" wrote:

> I got this function from Roger Stokes book in progress.  It boxes the
> x-cells of y.
>
> cells  =: 4 : '< " x. y.'
>
> In a 3x3 matrix, the 0-cells are the individual cells.   1-cells are the
> rows, and 2-cells are the whole matrix.  But how would you box the columns
> of a matrix?  I know I could transpose but it seems like there should be a
> more  elegant way.
>
> Thanks.
>
> --------------------------------------------------------------------------------
> J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Fri Feb  5 07:48:32 1999
References: <36BAB0EA.18772AE@sympatico.ca>
Organization: Voxel
From: "Andrew Nikitin" <nsg@voxel.kharkov.ua>
Date: Fri,  5 Feb 1999 13:06:13 +0200 (EET)
Subject: Re: Jforum: Boxing Columns

5-Feb-99 02:50 Paul Gauthier wrote:
> m42=:<"1@|:         NB.Box each column of a matrix
>

Another way of understanding phrase "box columns" is

   <@,."1@|: i.3 3
+-+-+-+
|0|1|2|
|3|4|5|
|6|7|8|
+-+-+-+

> "Nichols, Peter" wrote:
> > I know I could transpose but it seems like there should be a
> > more  elegant way.

The only thing that is more elegent than Transpose is dyadic transpose.

nsg

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Fri Feb  5 08:13:34 1999
From: "Chris Burke" <cdburke@interlog.com>
Subject: Re: Jforum: fmt
Date: Fri, 5 Feb 1999 07:56:03 -0500
	charset="iso-8859-1"

Milan Ondrus writes:

> I'm looking at the utility fmt in the script <format>
>
> 'b4' fmt 3456 gives the char-matrix 3456
>
> but
>
> 'z4' fmt 3456 gives the char-matrix 0456 ... inserts a zero at the first
>position and wipes out the 3.
>
> 'z3' fmt 345 gives 045 ... again the first position disappears.
>
> This z-formatting seems to behave inconsistent with b-formatting or do I
>see that wrong?

This is a bug and a replacement script which includes Andrew Nikitin's
suggestions is available at www.jsoftware.com/source/format.zip

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Fri Feb  5 10:21:45 1999
From: "Seymour Glass" <glasss@mindspring.com>
Subject: Re: Jforum: Boxing Columns
Date: Fri, 5 Feb 1999 10:06:24 -0500

->But how would you box the columns
>of a matrix?  I know I could transpose but it seems like there should be a
>more  elegant way.

I thought that if you extracted each column and boxed it, without doing the
transpose, you might use less space, since only one copy of the whole
array would be required.  On a large array this would still be a loser,
since the
transpose could have better hit ratio in cache and virtual memory.  But
when I tried it:

   a =. (<@{~   <@(a:&;)"0@i.@{:@$)

I found that this version took more space than <"1@|: .  Just a little
more: each one takes about twice the space of the original matrix.
At least in J4.01, which seems to accelerate <"1 .

Henry Rich

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Fri Feb  5 12:30:46 1999
Date: Fri, 05 Feb 1999 11:14:11 -0600
From: Paul Gauthier <pap.gauthier@sympatico.ca>
Subject: Re: Jforum: Boxing Columns
References: <36BAB0EA.18772AE@sympatico.ca> <ABb2jksCL9@voxel.kharkov.ua>

Understanding is nice...Timing is also nice...

m42=:<"1@|:
m42x=:<@,."1@|:

Timing:

10000(6!:2)'m42 i.3 3'
0.000104

10000(6!:2)'m42x i.3 3'
0.000121

Andrew Nikitin wrote:

> 5-Feb-99 02:50 Paul Gauthier wrote:
> > m42=:<"1@|:         NB.Box each column of a matrix
> >
>
> Another way of understanding phrase "box columns" is
>
>    <@,."1@|: i.3 3
> +-+-+-+
> |0|1|2|
> |3|4|5|
> |6|7|8|
> +-+-+-+
>
> > "Nichols, Peter" wrote:
> > > I know I could transpose but it seems like there should be a
> > > more  elegant way.
>
> The only thing that is more elegent than Transpose is dyadic transpose.
>
> nsg
>
> --------------------------------------------------------------------------------
> J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Sat Feb  6 09:25:04 1999
References: <36BB26E3.549D0A13@sympatico.ca>
Organization: Voxel
From: "Andrew Nikitin" <nsg@voxel.kharkov.ua>
Date: Sat,  6 Feb 1999 15:55:00 +0200 (EET)
Subject: Jforum: ,.

Dictionary says:

"The fit conjunction (,.!.f) provides fill specified by the items of f."

In what cases such fill is applied? When arguments agree in length, then no
need in fill arise. When they don't -- length error occurs. ie:

   (i.2) ,. (i.3)
|length error
|   (i.2)    ,.(i.3)
   (i.2) ,.!.9 (i.3)
|length error
|   (i.2)    ,.!.9(i.3)

Is there an example of j phrase containing ,.!.f with the result depending on
f?

Why there exist such inconsistent thing as "length error"? Why not to reshape
arguments to common length as for ,: always?

nsg

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Sat Feb  6 10:43:05 1999
Date: Sat, 06 Feb 1999 10:29:52 -0500
From: Cliff Reiter <reiterc@lafvax.lafayette.edu>
Subject: Re: Jforum: ,.  Fill atoms
Organization: Lafayette College
Content-type: text/plain; charset=us-ascii
References: <36BB26E3.549D0A13@sympatico.ca> <ABqc4lsWUB@voxel.kharkov.ua>

Andrew Nikitin wrote:
>
> Dictionary says:
>
> "The fit conjunction (,.!.f) provides fill specified by the items of f."
>
> In what cases such fill is applied? When arguments agree in length, then no

Perhaps Stitch isn't really what you want. Stitch is handy, but often
I find I really need adjoin when I thought about stitch first.

Consider the following examples

   ]c1=.,.1 2 3        NB. col 1
1
2
3
   ]c2=.,.10*1 2 3 4 5   NB. col 2
10
20
30
40
50
   pca=. ,!. _ &.|:    NB. padded column adjoin using infinity for fill
   c1 pca c2
1 10
2 20
3 30
_ 40
_ 50

   (i.3 3) pca i.4 4
0 1 2  0  1  2  3
3 4 5  4  5  6  7
6 7 8  8  9 10 11
_ _ _ 12 13 14 15

Does pca do what you want?
Also consider stitch with fill:

   (i.2 3 4) ,.!. _] 10*i.2 3 7
  0   1   2   3   _   _   _
  4   5   6   7   _   _   _
  8   9  10  11   _   _   _
  0  10  20  30  40  50  60
 70  80  90 100 110 120 130
140 150 160 170 180 190 200

 12  13  14  15   _   _   _
 16  17  18  19   _   _   _
 20  21  22  23   _   _   _
210 220 230 240 250 260 270
280 290 300 310 320 330 340
350 360 370 380 390 400 410

> need in fill arise. When they don't -- length error occurs. ie:
>
>    (i.2) ,. (i.3)
> |length error
> |   (i.2)    ,.(i.3)
>    (i.2) ,.!.9 (i.3)
> |length error
> |   (i.2)    ,.!.9(i.3)
>
> Is there an example of j phrase containing ,.!.f with the result depending on
> f?
>
> Why there exist such inconsistent thing as "length error"? Why not to reshape
> arguments to common length as for ,: always?
>
> nsg
--
Clifford A. Reiter
Mathematics Department, Lafayette College
Easton, PA 18042 USA,   610-330-5277
                            ^^^ Note new phone exchange
http://www.lafayette.edu/~reiterc

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Sat Feb  6 11:10:51 1999
Date: Sat, 6 Feb 1999 17:56:45 +0200 (EET)
From: Oleg Kobchenko <gccinc@usa.net>
Subject: Re: Jforum: Boxing Columns
In-Reply-To: <36BB26E3.549D0A13@sympatico.ca>

Timing is pay for what you wanna get. In Nikitin's
case we get added value of visually preserving the shape.
Consider:

  <"1@|: i.3 3
+-----+-----+-----+
|0 3 6|1 4 7|2 5 8|
+-----+-----+-----+
   <@,."1@|: i.3 3
+-+-+-+
|0|1|2|
|3|4|5|
|6|7|8|
+-+-+-+

NB. Here we add value afterwards

  ,.&.>@:<"1@|: i.3 3
+-+-+-+
|0|1|2|
|3|4|5|
|6|7|8|
+-+-+-+

NB. Hence the timing

   10000(6!:2)'<"1@|: i.3 3'
0.0001342

   10000(6!:2)',.&.>@:<"1@|: i.3 3'
0.0001913

   10000(6!:2)'<@,."1@|: i.3 3'
0.0001713

On Fri, 5 Feb 1999, Paul Gauthier wrote:

> Understanding is nice...Timing is also nice...
>
> m42=:<"1@|:
> m42x=:<@,."1@|:
>
> Timing:
>
> 10000(6!:2)'m42 i.3 3'
> 0.000104
>
> 10000(6!:2)'m42x i.3 3'
> 0.000121
>
> Andrew Nikitin wrote:
>
> > 5-Feb-99 02:50 Paul Gauthier wrote:
> > > m42=:<"1@|:         NB.Box each column of a matrix
> > >
> >
> > Another way of understanding phrase "box columns" is
> >
> >    <@,."1@|: i.3 3
> > +-+-+-+
> > |0|1|2|
> > |3|4|5|
> > |6|7|8|
> > +-+-+-+
> >
> > > "Nichols, Peter" wrote:
> > > > I know I could transpose but it seems like there should be a
> > > > more  elegant way.
> >
> > The only thing that is more elegent than Transpose is dyadic transpose.
> >
> > nsg

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Sat Feb  6 12:10:42 1999
From: "Bjorn G. Helgason" <gosi@centrum.is>
Subject: RE: Jforum: Amending columns in a matrix
Date: Sat, 6 Feb 1999 16:56:48 -0000
Content-Type: multipart/mixed; boundary="---- =_NextPart_000_01BE51F1.F02B72A0"

------ =_NextPart_000_01BE51F1.F02B72A0

From: d.alis[SMTP:dalis@balcab.ch]
> a=: 1 3 5
> Anoun =. a
> Averb =. a"_
> 100 200 300 Anoun } i. 6 3
> 100 200 300 Averb } i. 6 3

Nice touch !!!

/Gosi

------ =_NextPart_000_01BE51F1.F02B72A0
Content-Type: application/ms-tnef
Content-Transfer-Encoding: base64

eJ8+IiUQAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAENgAQAAgAAAAIAAgABBJAG
ABwBAAABAAAADAAAAAMAADADAAAACwAPDgAAAAACAf8PAQAAAEUAAAAAAAAAgSsfpL6jEBmdbgDd
AQ9UAgAAAABmb3J1bUBqc29mdHdhcmUuY29tAFNNVFAAZm9ydW1AanNvZnR3YXJlLmNvbQAAAAAe
AAIwAQAAAAUAAABTTVRQAAAAAB4AAzABAAAAFAAAAGZvcnVtQGpzb2Z0d2FyZS5jb20AAwAVDAEA
AAADAP4PBgAAAB4AATABAAAAFgAAACdmb3J1bUBqc29mdHdhcmUuY29tJwAAAAIBCzABAAAAGQAA
AFNNVFA6Rk9SVU1ASlNPRlRXQVJFLkNPTQAAAAADAAA5AAAAAAsAQDoBAAAAAgH2DwEAAAAEAAAA
AAAAAxs0AQiABwAYAAAASVBNLk1pY3Jvc29mdCBNYWlsLk5vdGUAMQgBBIABACkAAABSRTogSmZv
cnVtOiBBbWVuZGluZyBjb2x1bW5zIGluIGEgbWF0cml4AC8OAQWAAwAOAAAAzwcCAAYAEAA4ADAA
BgBcAQEggAMADgAAAM8HAgAGABAAMAAhAAYARQEBCYABACEAAAAyMkExOUFFQkRDQkREMjExOEI5
QTJDQTFGRkMwMDAwMABWBwEDkAYAzAIAABIAAAALACMAAQAAAAMAJgAAAAAACwApAAEAAAADADYA
AAAAAEAAOQBAyi6v8VG+AR4AcAABAAAAKQAAAFJFOiBKZm9ydW06IEFtZW5kaW5nIGNvbHVtbnMg
aW4gYSBtYXRyaXgAAAAAAgFxAAEAAAAWAAAAAb5R8a7a65qhI73cEdKLmiyh/8AAAAAAHgAeDAEA
AAAFAAAAU01UUAAAAAAeAB8MAQAAABAAAABnb3NpQGNlbnRydW0uaXMAAwAGEHl8dL8DAAcQYgAA
AB4ACBABAAAAYwAAAEZST006REFMSVNTTVRQOkRBTElTQEJBTENBQkNIQT06MTM1QU5PVU49QUFW
RVJCPUEiMTAwMjAwMzAwQU5PVU5JNjMxMDAyMDAzMDBBVkVSQkk2M05JQ0VUT1VDSC9HT1NJAAAC
AQkQAQAAAEYBAABCAQAA7wIAAExaRnX4a3D3/wAKAQ8CFQKoBesCgwBQAvIJAgBjaArAc2V0MjcG
AAbDAoMyA8UCAHByQnER4nN0ZW0CgzP3AuQHEwKDNANFEzUHbQKD9jUSzBTFfQqACM8J2QKABwqB
DbELYG5nMTAzsjkK/zE2DCETUG8T0OpjBUBGA2E6CuEcWx1GMQyCIGQuB0AEAFtTIE1UUDpkIAJA
YtUHQGMBoC4RcF0KiyAQPDM2DfALVRRRC/EgPiceFyNEHTdhPR4AMSD4MyA1CocLZBVhI38kisxB
bghgA6A9LiUwJd87Ju8n/HYEkB/AKSIiX38pbyp/JHsboC5QAdAuUDNDMBEoxFx9IGkpMDb/JZAh
ryK3Lg8vHzApLGMxLwcLCjNVNwVOaWNlIOZ0CGARcCAhOdA3BTcFuC9HbwCQNwUY8QA74AAAAwAQ
EAAAAAADABEQAAAAAEAABzCAzZqI8FG+AUAACDCAzZqI8FG+AR4APQABAAAABQAAAFJFOiAAAAAA
q7A=

------ =_NextPart_000_01BE51F1.F02B72A0--

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Sat Feb  6 12:35:22 1999
Date: Sat, 06 Feb 1999 11:26:40 -0600
From: Paul Gauthier <pap.gauthier@sympatico.ca>
Subject: Re: Jforum: Boxing Columns
References: <Pine.LNX.4.04.9902061747430.2148-100000@spin.vl.net.ua>

Timing is pay for what I wanna get...
Well ! and what about that for a visual effect...
<"2,"0|:i.3 3
+-+-+-+
|0|1|2|
|3|4|5|
|6|7|8|
+-+-+-+
  10000(6!:2)'<"2,"0|:i.3 3'
0.000159
   10000(6!:2)'<@,."1@|: i.3 3'
0.00017

Oleg Kobchenko wrote:

> Timing is pay for what you wanna get. In Nikitin's
> case we get added value of visually preserving the shape.
> Consider:
>
>   <"1@|: i.3 3
> +-----+-----+-----+
> |0 3 6|1 4 7|2 5 8|
> +-----+-----+-----+
>    <@,."1@|: i.3 3
> +-+-+-+
> |0|1|2|
> |3|4|5|
> |6|7|8|
> +-+-+-+
>
> NB. Here we add value afterwards
>
>   ,.&.>@:<"1@|: i.3 3
> +-+-+-+
> |0|1|2|
> |3|4|5|
> |6|7|8|
> +-+-+-+
>
> NB. Hence the timing
>
>    10000(6!:2)'<"1@|: i.3 3'
> 0.0001342
>
>    10000(6!:2)',.&.>@:<"1@|: i.3 3'
> 0.0001913
>
>    10000(6!:2)'<@,."1@|: i.3 3'
> 0.0001713
>
> On Fri, 5 Feb 1999, Paul Gauthier wrote:
>
> > Understanding is nice...Timing is also nice...
> >
> > m42=:<"1@|:
> > m42x=:<@,."1@|:
> >
> > Timing:
> >
> > 10000(6!:2)'m42 i.3 3'
> > 0.000104
> >
> > 10000(6!:2)'m42x i.3 3'
> > 0.000121
> >
> > Andrew Nikitin wrote:
> >
> > > 5-Feb-99 02:50 Paul Gauthier wrote:
> > > > m42=:<"1@|:         NB.Box each column of a matrix
> > > >
> > >
> > > Another way of understanding phrase "box columns" is
> > >
> > >    <@,."1@|: i.3 3
> > > +-+-+-+
> > > |0|1|2|
> > > |3|4|5|
> > > |6|7|8|
> > > +-+-+-+
> > >
> > > > "Nichols, Peter" wrote:
> > > > > I know I could transpose but it seems like there should be a
> > > > > more  elegant way.
> > >
> > > The only thing that is more elegent than Transpose is dyadic transpose.
> > >
> > > nsg
>
> --------------------------------------------------------------------------------
> J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Sat Feb  6 15:15:08 1999
Date: Sat, 06 Feb 1999 14:07:49 -0600
From: Peter Nichols <pnichols@airmail.net>
Subject: Re: Jforum: Boxing Columns
References: <Pine.LNX.4.04.9902061747430.2148-100000@spin.vl.net.ua> <36BC7B4F.AE39B789@sympatico.ca>

Working on Saturday?  Or just amusing yourself.  Well, this idiom is the
strangest to my mind so far.  I kind of like it though.  So what are you
working at these days?

Oh, this is my personal email,  the other is at work.

Ciao

Paul Gauthier wrote:
>
> Timing is pay for what I wanna get...
> Well ! and what about that for a visual effect...
> <"2,"0|:i.3 3
> +-+-+-+
> |0|1|2|
> |3|4|5|
> |6|7|8|
> +-+-+-+
>   10000(6!:2)'<"2,"0|:i.3 3'
> 0.000159
>    10000(6!:2)'<@,."1@|: i.3 3'
> 0.00017
>
> Oleg Kobchenko wrote:
>
> > Timing is pay for what you wanna get. In Nikitin's
> > case we get added value of visually preserving the shape.
> > Consider:
> >
> >   <"1@|: i.3 3
> > +-----+-----+-----+
> > |0 3 6|1 4 7|2 5 8|
> > +-----+-----+-----+
> >    <@,."1@|: i.3 3
> > +-+-+-+
> > |0|1|2|
> > |3|4|5|
> > |6|7|8|
> > +-+-+-+
> >
> > NB. Here we add value afterwards
> >
> >   ,.&.>@:<"1@|: i.3 3
> > +-+-+-+
> > |0|1|2|
> > |3|4|5|
> > |6|7|8|
> > +-+-+-+
> >
> > NB. Hence the timing
> >
> >    10000(6!:2)'<"1@|: i.3 3'
> > 0.0001342
> >
> >    10000(6!:2)',.&.>@:<"1@|: i.3 3'
> > 0.0001913
> >
> >    10000(6!:2)'<@,."1@|: i.3 3'
> > 0.0001713
> >
> > On Fri, 5 Feb 1999, Paul Gauthier wrote:
> >
> > > Understanding is nice...Timing is also nice...
> > >
> > > m42=:<"1@|:
> > > m42x=:<@,."1@|:
> > >
> > > Timing:
> > >
> > > 10000(6!:2)'m42 i.3 3'
> > > 0.000104
> > >
> > > 10000(6!:2)'m42x i.3 3'
> > > 0.000121
> > >
> > > Andrew Nikitin wrote:
> > >
> > > > 5-Feb-99 02:50 Paul Gauthier wrote:
> > > > > m42=:<"1@|:         NB.Box each column of a matrix
> > > > >
> > > >
> > > > Another way of understanding phrase "box columns" is
> > > >
> > > >    <@,."1@|: i.3 3
> > > > +-+-+-+
> > > > |0|1|2|
> > > > |3|4|5|
> > > > |6|7|8|
> > > > +-+-+-+
> > > >
> > > > > "Nichols, Peter" wrote:
> > > > > > I know I could transpose but it seems like there should be a
> > > > > > more  elegant way.
> > > >
> > > > The only thing that is more elegent than Transpose is dyadic transpose.
> > > >
> > > > nsg
> >
> > --------------------------------------------------------------------------------
> > J Forum: for information about this list, see http://www.jsoftware.com/forum.htm
>
> --------------------------------------------------------------------------------
> J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Sat Feb  6 17:24:22 1999
From: "Donald Pittenger" <dbpitt@demlab.com>
Subject: Jforum: 2-D graph modes
Date: Sat, 6 Feb 1999 14:13:25 -0800
	boundary="----=_NextPart_000_0008_01BE51DA.DC1B2740"

This is a multi-part message in MIME format.

------=_NextPart_000_0008_01BE51DA.DC1B2740
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

I am doing some gl2 graphing, and drafted a program using J402a under =
Win98.

At another location, I ran the same program using J402a, but this time =
under NT4.0.

The latter graph had bold lines that should have been uniform width (as =
they were in the Win98 setting) stretched in the vertical direction...as =
if they were built from tiny character blocs rather than square pixels.

So far as I know, the J environments are identical, aside from the =
operating system and the fact  that the case 1 computer is a Compaq =
300Mhz Pentium and case 2 is a Dell 400Mhz Pentium.  Also, the case 2 =
computer's J was downloaded a few days before that for case 1, if that =
means anything.

Does anyone have any suggestions as to how to get those lines back to =
constant width?  The wd on-line docs suggest the default glmap ought to =
deal with this without intervention.

Thanks for your help (in advance).

Don Pittenger

------=_NextPart_000_0008_01BE51DA.DC1B2740
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 HTML//EN">
<HTML>
<HEAD>

<META content=3Dtext/html;charset=3Diso-8859-1 =
http-equiv=3DContent-Type>
<META content=3D'"MSHTML 4.72.3110.7"' name=3DGENERATOR>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT color=3D#000000 size=3D2>I am doing some gl2 graphing, and =
drafted a=20
program using J402a under Win98.</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 size=3D2>At another location, I ran the same =
program=20
using J402a, but this time under NT4.0.</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 size=3D2>The latter graph had bold lines that =
should have=20
been uniform width (as they were in the Win98 setting) stretched in the =
vertical=20
direction...as if they were built from tiny character blocs rather than =
square=20
pixels.</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 size=3D2>So far as I know, the J environments =
are=20
identical, aside from the operating system and the fact&nbsp; that the =
case 1=20
computer is a Compaq 300Mhz Pentium and case 2 is a Dell 400Mhz =
Pentium.&nbsp;=20
Also, the case 2 computer's J was downloaded a few days before that for =
case 1,=20
if that means anything.</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 size=3D2>Does anyone have any suggestions as =
to how to=20
get those lines back to constant width?&nbsp; The wd on-line docs =
suggest the=20
default glmap ought to deal with this without intervention.</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 size=3D2>Thanks for your help (in =
advance).</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 size=3D2>Don =
Pittenger</FONT></DIV></BODY></HTML>

------=_NextPart_000_0008_01BE51DA.DC1B2740--

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Sat Feb  6 22:51:04 1999
From: "Seymour Glass" <glasss@mindspring.com>
Subject: Re: Jforum: ,.
Date: Sat, 6 Feb 1999 22:39:48 -0500

>Is there an example of j phrase containing ,.!.f with the result depending
on
>f?

   (i. 3 3 2) ,.!._ i. 3 1
 0  1
 2  3
 4  5
 0  _

 6  7
 8  9
10 11
 1  _

12 13
14 15
16 17
 2  _

Henry Rich

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Sun Feb  7 04:14:54 1999
Date: Sun, 07 Feb 1999 03:05:09 -0600
From: Paul Gauthier <pap.gauthier@sympatico.ca>
Subject: Re: Jforum: ,.  Fill atoms
References: <36BB26E3.549D0A13@sympatico.ca> <ABqc4lsWUB@voxel.kharkov.ua> <36BC5FF0.6234@lafvax.lafayette.edu>

I agree with Cliff and will just add a little touch.

v2pca=:|:@:(,:!.9)  NB. vectors to padded column adjoin using 9 for fill

(i.2)v2pca(i.3)
0 0
1 1
9 2

Why ?, my old habit of timing again...

10000(6!:2)'(,"0 i.2)pca(i.3)'
0.000203

10000(6!:2)'(i.2)v2pa(i.3)'
0.000138

Cliff Reiter wrote:

> Andrew Nikitin wrote:
> >
> > Dictionary says:
> >
> > "The fit conjunction (,.!.f) provides fill specified by the items of f."
> >
> > In what cases such fill is applied? When arguments agree in length, then no
>
> Perhaps Stitch isn't really what you want. Stitch is handy, but often
> I find I really need adjoin when I thought about stitch first.
>
> Consider the following examples
>
>    ]c1=.,.1 2 3        NB. col 1
> 1
> 2
> 3
>    ]c2=.,.10*1 2 3 4 5   NB. col 2
> 10
> 20
> 30
> 40
> 50
>    pca=. ,!. _ &.|:    NB. padded column adjoin using infinity for fill
>    c1 pca c2
> 1 10
> 2 20
> 3 30
> _ 40
> _ 50
>
>    (i.3 3) pca i.4 4
> 0 1 2  0  1  2  3
> 3 4 5  4  5  6  7
> 6 7 8  8  9 10 11
> _ _ _ 12 13 14 15
>
> Does pca do what you want?
> Also consider stitch with fill:
>
>    (i.2 3 4) ,.!. _] 10*i.2 3 7
>   0   1   2   3   _   _   _
>   4   5   6   7   _   _   _
>   8   9  10  11   _   _   _
>   0  10  20  30  40  50  60
>  70  80  90 100 110 120 130
> 140 150 160 170 180 190 200
>
>  12  13  14  15   _   _   _
>  16  17  18  19   _   _   _
>  20  21  22  23   _   _   _
> 210 220 230 240 250 260 270
> 280 290 300 310 320 330 340
> 350 360 370 380 390 400 410
>
> > need in fill arise. When they don't -- length error occurs. ie:
> >
> >    (i.2) ,. (i.3)
> > |length error
> > |   (i.2)    ,.(i.3)
> >    (i.2) ,.!.9 (i.3)
> > |length error
> > |   (i.2)    ,.!.9(i.3)
> >
> > Is there an example of j phrase containing ,.!.f with the result depending on
> > f?
> >
> > Why there exist such inconsistent thing as "length error"? Why not to reshape
> > arguments to common length as for ,: always?
> >
> > nsg
> --
> Clifford A. Reiter
> Mathematics Department, Lafayette College
> Easton, PA 18042 USA,   610-330-5277
>                             ^^^ Note new phone exchange
> http://www.lafayette.edu/~reiterc
>
> --------------------------------------------------------------------------------
> J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Mon Feb  8 16:44:18 1999
From: "Chris Burke" <cdburke@interlog.com>
Subject: Jforum: J402 for Mac
Date: Mon, 8 Feb 1999 16:24:12 -0500
	charset="iso-8859-1"

J402 for the Mac (PowerPC and 68K) is now available at www.jsoftware.com

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Tue Feb  9 11:06:27 1999
References: <36BC5FF0.6234@lafvax.lafayette.edu>
Organization: Voxel
From: "Andrew Nikitin" <nsg@voxel.kharkov.ua>
Date: Tue,  9 Feb 1999 16:13:03 +0200 (EET)
Subject: Re: Jforum: ,.  Fill atoms

6-Feb-99 10:29 Cliff Reiter wrote:
> Also consider stitch with fill:
>
>    (i.2 3 4) ,.!. _] 10*i.2 3 7
>   0   1   2   3   _   _   _
>   4   5   6   7   _   _   _
>   8   9  10  11   _   _   _
>   0  10  20  30  40  50  60
>  70  80  90 100 110 120 130
> 140 150 160 170 180 190 200
>
>  12  13  14  15   _   _   _
>  16  17  18  19   _   _   _
>  20  21  22  23   _   _   _
> 210 220 230 240 250 260 270
> 280 290 300 310 320 330 340
> 350 360 370 380 390 400 410

I have catch it up: catenate (and stitch) applies fill element to pad items to
common shape, but it doesn't ravel frames (_1 frames in the case of ,.), so
length error occurs when frames disagree in length. And this error occurs not
"in" , (or ,.) but in " (,.=:,"_1 , as dictionary claims)

This job is rather for " conjunction, who executes implicit
looping over left and right operands simultaneously. So, it is " or something
in place of it, who must create additional fill items for the shorter
argument.

nsg

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Tue Feb  9 12:20:49 1999
Date: Tue, 09 Feb 1999 10:58:55 -0600
From: Paul Gauthier <pap.gauthier@sympatico.ca>
Subject: Re: Jforum: ,.  Fill atoms
References: <36BC5FF0.6234@lafvax.lafayette.edu> <ABl94msycH@voxel.kharkov.ua>

Remember my prior message ?

I agree with Cliff and will just add a little touch.

v2pca=:|:@:(,:!.9)  NB. vectors to padded column adjoin using 9 for fill

(i.2)v2pca(i.3)
0 0
1 1
9 2

Why ?, my old habit of timing again...

10000(6!:2)'(,"0 i.2)pca(i.3)'
0.000203

10000(6!:2)'(i.2)v2pa(i.3)'
0.000138

Well, you could have two verbs, let say:
v0=:(,:!.9)
v1=:|:@:v0

An atomic argument in x,:y is first reshaped to the shape of the other (or to a list
if the other argument is also atomic); the results are then itemized and catenated,
as in (,:x),(,:y) .The fit conjunction (,:!.f) provides fill specified by the items
of f.

As per the vocabulary. I hope this fits your need.../Paul

Andrew Nikitin wrote:

> 6-Feb-99 10:29 Cliff Reiter wrote:
> > Also consider stitch with fill:
> >
> >    (i.2 3 4) ,.!. _] 10*i.2 3 7
> >   0   1   2   3   _   _   _
> >   4   5   6   7   _   _   _
> >   8   9  10  11   _   _   _
> >   0  10  20  30  40  50  60
> >  70  80  90 100 110 120 130
> > 140 150 160 170 180 190 200
> >
> >  12  13  14  15   _   _   _
> >  16  17  18  19   _   _   _
> >  20  21  22  23   _   _   _
> > 210 220 230 240 250 260 270
> > 280 290 300 310 320 330 340
> > 350 360 370 380 390 400 410
>
> I have catch it up: catenate (and stitch) applies fill element to pad items to
> common shape, but it doesn't ravel frames (_1 frames in the case of ,.), so
> length error occurs when frames disagree in length. And this error occurs not
> "in" , (or ,.) but in " (,.=:,"_1 , as dictionary claims)
>
> This job is rather for " conjunction, who executes implicit
> looping over left and right operands simultaneously. So, it is " or something
> in place of it, who must create additional fill items for the shorter
> argument.
>
> nsg
>
> --------------------------------------------------------------------------------
> J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Tue Feb  9 16:49:30 1999
Date: Tue, 09 Feb 1999 15:32:33 -0600
From: Paul Gauthier <pap.gauthier@sympatico.ca>
Subject: Re: Jforum: ,.  Fill atoms
References: <36BC5FF0.6234@lafvax.lafayette.edu> <ABl94msycH@voxel.kharkov.ua>

Please help me understand what exactly you are trying to achieve...

For example:

m=:i.2 3
n=.i.4
l=:,!._  NB. append lines
c=:|:@:((|:@[),!._|:@]) NB. append columns

m l n
0 1 2 _
3 4 5 _
0 1 2 3

m c n
0 1 2 0
3 4 5 1
_ _ _ 2
_ _ _ 3

is it something like the above ?...Regards/Paul

Andrew Nikitin wrote:

> 6-Feb-99 10:29 Cliff Reiter wrote:
> > Also consider stitch with fill:
> >
> >    (i.2 3 4) ,.!. _] 10*i.2 3 7
> >   0   1   2   3   _   _   _
> >   4   5   6   7   _   _   _
> >   8   9  10  11   _   _   _
> >   0  10  20  30  40  50  60
> >  70  80  90 100 110 120 130
> > 140 150 160 170 180 190 200
> >
> >  12  13  14  15   _   _   _
> >  16  17  18  19   _   _   _
> >  20  21  22  23   _   _   _
> > 210 220 230 240 250 260 270
> > 280 290 300 310 320 330 340
> > 350 360 370 380 390 400 410
>
> I have catch it up: catenate (and stitch) applies fill element to pad items to
> common shape, but it doesn't ravel frames (_1 frames in the case of ,.), so
> length error occurs when frames disagree in length. And this error occurs not
> "in" , (or ,.) but in " (,.=:,"_1 , as dictionary claims)
>
> This job is rather for " conjunction, who executes implicit
> looping over left and right operands simultaneously. So, it is " or something
> in place of it, who must create additional fill items for the shorter
> argument.
>
> nsg
>
> --------------------------------------------------------------------------------
> J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Wed Feb 10 11:14:23 1999
Date: Wed, 10 Feb 1999 09:52:45 -0600
From: Paul Gauthier <pap.gauthier@sympatico.ca>
Subject: Jforum: Shame on me...

For those APL old timers, enclose on axis (origin 0 of course) could be
simulated in J with this:
ea=:4 :'<"($,x.)]:x.|:y.'
But this should be used for getting used to J, the timing on this one is
terrible...Regards/Paul

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Fri Feb 12 06:32:27 1999
From: "Seymour Glass" <glasss@mindspring.com>
Subject: Jforum: How do I find Mapi.dll?
Date: Fri, 12 Feb 1999 06:13:26 -0500

I am trying to send Email from a J program.

I decided that the MAPI interface was the one to use (comments
on that decision welcomed), so I wrote the program, ending with

mailrc =. 'Mapi MAPISendMail i i i *m i i' cd 0;0;msgallo;0;0

but this returns _1, indicating 'library not found'.  I see the library in
c:\Windows\System\Mapi.dll.  What do I need to do to access
the library?  I have tried specifying 'Mapi.dll' and
'C:\Windows\System\Mapi' and 'C:\Windows\System\Mapi.dll'
in the argument to cd, without success.

Henry Rich

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Fri Feb 12 09:02:49 1999
Date: Fri, 12 Feb 1999 07:46:59 -0600
From: Paul Gauthier <pap.gauthier@sympatico.ca>
Subject: Jforum: Oups! errata...

In my prior message, winsck.dll should have been written winsck.ocx (the
utility registers both .dll and .ocx).
Regards/Paul

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Fri Feb 12 09:11:58 1999
Date: Fri, 12 Feb 1999 13:48:36 GMT
From: J E H Shaw <strgh@csv.warwick.ac.uk>
Subject: Jforum: WGL - J scripts for graphics output (preliminary versions!)

Dear All,

On my homepage are some tentative J scripts implementing WGL,
a simple graphics language with ISIG & postscript output.
I find the scripts useful for including graphics within LaTeX
documents (you'll need psfrag, available from the ctan archives,
if you have graphics containing text that needs interpreting by TeX).
The only current documentation is a 5-year-old WGL manual describing
the language + an implementation in APL*PLUS & tpic,
but all my J code is of course self-documenting anyway :-)

See  http://www.warwick.ac.uk/statsdept/Staff/JEHS/jehwgl.htm

    Regards, Ewart Shaw

PS: The above is all using J3.  After a rough year I hope to be
    able to get & use J4 soon, and work again on my 'Warwick
    Guide to J'.  Thanks again to everyone who commented on it,
    and please forgive my rudeness if I forgot to respond to you
    personally.

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Fri Feb 12 09:13:16 1999
Date: Fri, 12 Feb 1999 13:51:48 GMT
From: J E H Shaw <strgh@csv.warwick.ac.uk>
Subject: Jforum: Problems with =. =: and timex

I've encountered awkward problems while writing a verb that
automatically obtains timings for each line of a second
(defined) verb.  The following is the best I've come up with
(invoked by  timefn 'fun';y   or   timefn x;'fun';y):

   timefn=: verb define
   50 timefn y.
   :
   xTMP=: 0 pick y.
   fTMP=. ;/ ('';1;1;1) {:: 5!:1 ] _2{y.
   yTMP=: _1 pick y.
   (x.&timeline each ,. ]) fTMP
   )

   timeline=: dyad define
   sTMP=. (y. rplc 'y.';'yTMP') rplc 'x.';'xTMP'
   aTMP=. x. timex sTMP rplc '=:';'=.'
   do sTMP rplc '=.';'=:'
   aTMP
   )

I still seem to need global assignments (=:)
even after replacing the `timeline each' in timefn by a loop
to keep all invocations of timex within a single verb:

   NB. replace '(x.&timeline each ,. ]) fTMP' by...
   tTMP=. i.0
   for_iTMP. i. # fTMP do.
     sTMP=. ((iTMP{fTMP) rplc 'y.';'yTMP') rplc 'x.';'xTMP'
     tTMP=. tTMP, x. timex sTMP rplc '=:';'=.'
     do sTMP rplc '=.';'=:'
   end.
   (;/tTMP) ,. ;/fTMP
   )

Can anyone suggest how to write a timefn verb without
creating/overwriting globals?  It must be able to handle
lines like 'x.=. x. , 0' in the 'fun'-:fTMP function.

A related query concerns the inability to create local variables
in a specified locale (to tidy up the looping version of timefn):

   NB. attempt to create local y_tmp_
      (3 : 'y_tmp_=: y.') 1
   1
      (3 : 'y_tmp_=. y.') 2
   |nonce error
   |   y_tmp_    =.y.
      y_tmp_
   1

Similarly I can't have  'for_i_tmp_. ... do. ... end.'
I imagine that this sort of locale abuse might be frowned upon,
but is the above behaviour explained in the J documentation?
(I may well have overlooked or misunderstood it!)

    -- Ewart Shaw

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Fri Feb 12 09:34:57 1999
From: M.Day@fscii.maff.gov.uk
               Fri, 12 Feb 1999 13:54:50 +0000
               Fri, 12 Feb 1999 14:15:37 +0000
               Fri, 12 Feb 1999 14:15:04 +0000
Date: Fri, 12 Feb 1999 14:15:04 +0000
Content-Identifier: m1210212141447aa
Alternate-Recipient: Allowed
In-Reply-To: <199902121348.NAA08272@mimosa.csv.warwick.ac.uk>
Subject: Re: Jforum: WGL - J scripts for graphics output (preliminary versions!)

Ewart
(sorry to broadcast this,  J-listers,  but I've lost
Ewart's e-address.)

Reminds me of BAPLA's APL Stats Library (ASL) etc -
is anybody maintaining it,  adding to it ...?
I remember WGL (or similar) being extolled by the
Warwickmen.

Mike
215pm
12 2 99
(m.day@fscii.maff.gov.uk)

JEHS said:
>Dear All,
>On my homepage are some tentative J scripts implementing WGL,
>.....

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Fri Feb 12 09:47:46 1999
From: "Seymour Glass" <glasss@mindspring.com>
Subject: Re: Jforum: How do I find Mapi.dll? - found
Date: Fri, 12 Feb 1999 09:21:43 -0500

Oh, I see now, it's Mapi32.dll

Henry Rich

-----Original Message-----
From: Seymour Glass <glasss@mindspring.com>
Date: Friday, February 12, 1999 06:15
Subject: Jforum: How do I find Mapi.dll?

>I am trying to send Email from a J program.
>
>I decided that the MAPI interface was the one to use (comments
>on that decision welcomed), so I wrote the program, ending with
>
>mailrc =. 'Mapi MAPISendMail i i i *m i i' cd 0;0;msgallo;0;0
>
>but this returns _1, indicating 'library not found'.  I see the library in
>c:\Windows\System\Mapi.dll.  What do I need to do to access
>the library?  I have tried specifying 'Mapi.dll' and
>'C:\Windows\System\Mapi' and 'C:\Windows\System\Mapi.dll'
>in the argument to cd, without success.
>
>Henry Rich
>
>
>
>---------------------------------------------------------------------------
-----
>J Forum: for information about this list, see
http://www.jsoftware.com/forum.htm

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Fri Feb 12 10:22:29 1999
Date: Fri, 12 Feb 1999 15:00:17 +0000 (GMT)
From: J E H Shaw <strgh@csv.warwick.ac.uk>
Subject: Re: Jforum: WGL - J scripts for graphics output
In-Reply-To: <m1210212141447aa*/I=M/S=Day/OU=FSCII/O=MAFF/PRMD=MAFF400/ADMD=ATTmail/C=GB/@MHS>

[Following up Mike Day's post about WGL & ASL (APL Stats Language]

WGL started life as `gr', an unholy mixture of C,
Fortran 77 & 68000 assembler I wrote in 1985.
Many of the papers in `the Statistician' 36:2-3
(`Practical Bayesian Statistics') include gr output.
When I came to Warwick I translated gr to APL,
which then formed the basis for ASL.

I don't know if anyone still maintains or even uses ASL,
but I intend to add further J scripts with higher-level graphics,
using the basic WGL language, to my WWW pages.   Real Soon Now.

	-- Ewart Shaw

J.E.H.Shaw   [Ewart Shaw]        strgh@uk.ac.warwick        TEL: +44 203 523069
  Department of Statistics,  University of Warwick,  Coventry CV4 7AL,  U.K.
  http://www.warwick.ac.uk/statsdept/Staff/JEHS/
yacc - the piece of code that understandeth all parsing

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Fri Feb 12 10:39:50 1999
Date: Fri, 12 Feb 1999 15:03:24 +0000 (GMT)
From: J E H Shaw <strgh@csv.warwick.ac.uk>
cc: Receipt Notification Requested <forum@jsoftware.com>
Subject: Re: Jforum: WGL - J scripts for graphics output (preliminary versions!)
In-Reply-To: <m1210212141447aa*/I=M/S=Day/OU=FSCII/O=MAFF/PRMD=MAFF400/ADMD=ATTmail/C=GB/@MHS>

Dear Mike,

Thank you for your comment - I've sent a note about WGL, ASL etc.
to jforum.  I'd be interested to hear your comments on WGL if you
should use it or just look at it - I'm not aware of any bugs,
but am painfully aware of meny inefficiencies.

	Regards, Ewart

J.E.H.Shaw   [Ewart Shaw]        strgh@uk.ac.warwick        TEL: +44 203 523069
  Department of Statistics,  University of Warwick,  Coventry CV4 7AL,  U.K.
  http://www.warwick.ac.uk/statsdept/Staff/JEHS/
yacc - the piece of code that understandeth all parsing

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Fri Feb 12 14:39:33 1999
From: "John D. Baker" <bakerjd@kos.net>
Subject: Re: Jforum: How do I find Mapi.dll?
Date: Fri, 12 Feb 1999 14:20:46 -0500
	charset="iso-8859-1"

I'm curious about the *m declaration in
your call.  I've been doing a lot of J/WinAPI programming lately
and as far as I know the you can only declare:

c character (1 byte)
s short integer (2 byte)
i integer (4 byte)
f short floating-point (4 byte)
d floating point (8 byte)
j complex (16 byte) (not as result)

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 <y.        NB. pointer to local entry
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 <glasss@mindspring.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

From   Fri Feb 12 14:40:16 1999
Date: Fri, 12 Feb 1999 14:38:17 -0500 (EST)
From: Mail Delivery Subsystem <MAILER-DAEMON@aol.com>
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]



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 -----
<CraziNicci@aol.com>

   ----- Transcript of session follows -----
... while talking to air-zb04.mail.aol.com.:
>>> RCPT To:<CraziNicci@aol.com>
<<< 552 CraziNicci MAILBOX FULL
554 <CraziNicci@aol.com>... Service unavailable

   ----- Original message follows -----

Date: Fri, 12 Feb 1999 14:38:14 -0500 (EST)
From: Lee Dickey <ljdickey@math.uwaterloo.ca>
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" <glasss@mindspring.com>
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 <y.        NB. pointer to local entry
>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 <glasss@mindspring.com>
>To: forum@jsoftware.com <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" <nsg@voxel.kharkov.ua>
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" <nsg@voxel.kharkov.ua>
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" <dscbms@panther.Gsu.EDU>
Subject: Re: Jforum: $:
In-Reply-To: <AB3XPnsGE3@voxel.kharkov.ua>

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 <neitzel@gaertner.de>
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" <bakerjd@kos.net>
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" <gosi@centrum.is>
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 <neitzel@gaertner.de>
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 <eiverson@interlog.com>
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 <reiterc@lafvax.lafayette.edu>
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" <bakerjd@kos.net>
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" <dbpitt@demlab.com>
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 <eiverson@interlog.com>
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" <dscbms@panther.Gsu.EDU>
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 <anssi.seppala@enease.fi>
Subject: Jforum: JDLLSERVER understands not ijr-&ijl files
In-Reply-To: <006301be5913$dc8580a0$42fe02c7@fwh71>

<html>
<font face="Courier New, Courier">Hi all,<br>
I can't load locked script in JDLLServer : 0!:0&lt;'test.ijl'. Does this
mean that it is not possible at all in OLE. <br>
<br>
However I can in development session do 0!:0&lt;'test.ijl'.<br>
<br>
While I am providing a J application to be used as a OLE Server, I can
not protect my source? Right?<br>
<br>
Anssi</font><br>
<div>-------------------------------------------------------------------</div>
<div>Anssi Sepp&auml;l&auml;</div>
<div>Consultant, electricity market and distribution: Applications and
software</div>
<div>e-mail:
Anssi.Seppala@enease.fi&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
tel: +358 9 45400550</div>
<div>Enease
Oy&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
fax: +358 9 45400551</div>
<div>Mannerheimintie 66 A&nbsp;
<x-tab>&nbsp;&nbsp;</x-tab><x-tab>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</x-tab><x-tab>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</x-tab><x-tab>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</x-tab>mob:
+358 400 760077</div>
FIN - 00260&nbsp; HELSINKI,
Finland<x-tab>&nbsp;&nbsp;</x-tab><x-tab>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</x-tab><a href="http://www.kolumbus.fi/enease/" EUDORA=AUTOURL>http://www.kolumbus.fi/enease/</a>
</html>

--------------------------------------------------------------------------------
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 <eiverson@interlog.com>
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: <Pine.GSO.3.95.990217004358.6558B-100000@panther.Gsu.EDU> 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: <Pine.GSO.3.95.990217004358.6558B-100000@panther.Gsu.EDU>
Organization: Voxel
From: "Andrew Nikitin" <nsg@voxel.kharkov.ua>
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" <bakerjd@kos.net>
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" <glasss@mindspring.com>
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 <m020u000@cwcom.net>
Subject: Re: Jforum: WGL - J scripts for graphics output (preliminary versions!)
References: <Pine.GSO.4.05.9902121500350.19358-100000@mimosa.csv.warwick.ac.uk>

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 <anssi.seppala@enease.fi>
Subject: Jforum: Scriptdoc should be a J standard
In-Reply-To: <36CDC247.7E124FAD@cwcom.net>
References: <Pine.GSO.4.05.9902121500350.19358-100000@mimosa.csv.warwick.ac.uk>

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" <gosi@centrum.is>
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 <m020u000@cwcom.net>
Subject: Re: Jforum: WGL - J scripts for graphics output (preliminary versions!)
References: <Pine.GSO.4.05.9902121500350.19358-100000@mimosa.csv.warwick.ac.uk> <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" <nsg@voxel.kharkov.ua>
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" <nsg@voxel.kharkov.ua>
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 <eiverson@interlog.com>
Organization: Iverson Software Inc.
Subject: Re: Jforum: ODBC API Beta Scripts Available
References: <000401be5c0f$c25d93d0$01ffde6f@papabear> <AB9tfpsWo1@voxel.kharkov.ua>

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" <glasss@mindspring.com>
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 <anssi.seppala@enease.fi>
Subject: Re: Jforum: Scriptdoc should be a J standard
In-Reply-To: <AB6hgps0BA@voxel.kharkov.ua>
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" <dscbms@panther.Gsu.EDU>
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" <randy@godin.on.ca>
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 <dscbms@panther.Gsu.EDU>
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 <DNess@home.com>
Subject: Re: Jforum: box alignment bug?
References: <Pine.GSO.3.95.990220182622.12053A-100000@panther.Gsu.EDU>

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" <dscbms@panther.Gsu.EDU>
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" <dscbms@panther.Gsu.EDU>
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  </. leaf
expand =: # ^:_1
SL =:((<"0@fill@:>@{.),.(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 <milan.ice@bluewin.ch>
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 <format>
>
> 'b4' fmt 3456 gives the char-matrix 3456
>
> but
>
> 'z4' fmt 3456 gives the char-matrix 0456 ... inserts a zero at the first
>position and wipes out the 3.
>
> 'z3' fmt 345 gives 045 ... again the first position disappears.
>
> This z-formatting seems to behave inconsistent with b-formatting or do I
>see that wrong?

This is a bug and a replacement script which includes Andrew Nikitin's
suggestions is available at www.jsoftware.com/source/format.zip

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

------ =_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" <cdburke@interlog.com>
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" <cdburke@interlog.com>
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 <m020u000@cwcom.net>
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 <milan.ice@bluewin.ch>
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" <bakerjd@kos.net>
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 <gosi@centrum.is>
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" <glasss@mindspring.com>
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 <gosi@centrum.is>
> To: 'forum@jsoftware.com' <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 <eiverson@interlog.com>
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" <pnichols@sprinc.com>
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" <glasss@mindspring.com>
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" <glasss@mindspring.com>
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" <gosi@centrum.is>
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 <gccinc@usa.net>
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 <eiverson@interlog.com>
Organization: Iverson Software Inc.
Subject: Re: Jforum: Simple MAPI interface available
References: <Pine.LNX.4.04.9902222035240.26752-100000@spin.vl.net.ua>

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" <kornal@idirect.com>
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: <AAgohpsiUA@voxel.kharkov.ua>
Organization: Voxel
From: "Andrew Nikitin" <nsg@voxel.kharkov.ua>
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 <gccinc@usa.net>
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 <eiverson@interlog.com>
Organization: Iverson Software Inc.
Subject: Re: Jforum: Simple MAPI interface available
References: <Pine.LNX.4.04.9902232229310.2121-100000@spin.vl.net.ua>

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 <gccinc@usa.net>
Subject: Re: Jforum: help indices
In-Reply-To: <ABivfqsG22@voxel.kharkov.ua>

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=: <ibb=: <ib=: <i=: 1 _1
   jbbb=: <jbb=: <jb=: <j=: 2 1
   ijbbb=: <ijbb=: <ijb=: <ij=: 2 2$i,j
   (] ; 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

From owner-jsoftware@lists.interlog.com  Wed Feb 24 13:34:06 1999
From: mellemf@nimo.com
X-Lotus-FromDomain: NMPC
Date: Wed, 24 Feb 1999 13:02:17 -0500
Subject: Jforum: indexing?
Content-type: text/plain; charset=us-ascii
Content-Disposition: inline

I was trying to see ibb&{  as the  "other part" of ib&{
I now presume there is no connection between the indexing of ib
 and  the exclusionary indexing of ibb.

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

From owner-jsoftware@lists.interlog.com  Wed Feb 24 14:23:43 1999
Date: Wed, 24 Feb 1999 14:02:14 -0500
From: Alain Miville de Ch�ne <Infodev@compuserve.com>
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" <glasss@mindspring.com>
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=: <ibb=: <ib=: <i=: 1 _1
>    jbbb=: <jbb=: <jb=: <j=: 2 1
>    ijbbb=: <ijbb=: <ijb=: <ij=: 2 2$i,j
>    (] ; 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 <eiverson@interlog.com>
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 <neitzel@is.gaertner.de>
Subject: Re: Jforum: Scriptdoc should be a J standard

>From Anssi  Seppala <anssi.seppala@enease.fi>:
>
> 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 <neitzel@is.gaertner.de>
Subject: RE: Jforum: ODBC API Beta Scripts Available

Seymour Glass <glasss@mindspring.com>
>
> 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:


  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.


  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".


  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.


  ... 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 <anssi.seppala@enease.fi>
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 <lewis@cdcna.com>
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 <Infodev@compuserve.com>
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" <cdburke@interlog.com>
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 <Infodev@compuserve.com>
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 <eiverson@interlog.com>
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 <Infodev@compuserve.com>
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" <pmacg@acslink.aone.net.au>
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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 HTML//EN">
<HTML><HEAD>
<META content=3D"text/html; charset=3Dwindows-1252" =
http-equiv=3DContent-Type>
<STYLE></STYLE>

<META content=3D'"MSHTML 5.00.0910.1309"' name=3DGENERATOR></HEAD>
<BODY bgColor=3D#ffffff>
<DIV>Some J Standard Utilities (e.g. todate, todayno and tsrep in =
dates.ijs) use=20
y. as a temporary variable name.&nbsp; 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.</DIV>
<DIV>&nbsp;</DIV>
<DIV>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.</DIV>
<DIV>&nbsp;</DIV>
<DIV>Peter MacGregor</DIV></BODY></HTML>

------=_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" <pnichols@sprinc.com>
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" <glasss@mindspring.com>
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 <eiverson@interlog.com>
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 <milan.ice@bluewin.ch>
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" <cdburke@interlog.com>
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