💾 Archived View for blitter.com › apl-books › APLSE › www.sigapl.org › Archives › waterloo_archive ›… captured on 2022-07-17 at 03:52:06.

View Raw

More Information

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

From owner-jsoftware@lists.interlog.com  Tue Jun  1 08:31:56 1999
From: mellemf@nimo.com
X-Lotus-FromDomain: NMPC
Date: Tue, 1 Jun 1999 08:13:30 -0400
Subject: Re: Jforum: J 4.03 Beta (8th version) 404 Not Found Error
Content-type: text/plain; charset=us-ascii
Content-Disposition: inline

I am getting the following error:  (I hope its just temporary ; I got all other
versions ok)
404 Not Found Error
Sorry! You have reached a page that is unavailable or does not exist. Things you
 can do from here:
1.Use any of the menu items on this page to continue working within Interlog
Internet Services.

2.Check your URL for spelling or capitalization mistakes and/or try it again.

Interlog may host the site on our server, however we are not responsible for how
 the site functions.

Copyright 1998 - Interlog Internet Services

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

From owner-jsoftware@lists.interlog.com  Tue Jun  1 09:06:38 1999
Date: Tue, 01 Jun 1999 08:52:19 -0400
From: Eric Iverson <eiverson@interlog.com>
Organization: Iverson Software Inc.
Subject: Re: Jforum: J 4.03 Beta (8th version) 404 Not Found Error
References: <85256783.0043ED53.00@mail.nimo.com>

> 404 Not Found Error (for J 4.03a Beta)

The beta period has expired and the beta is no longer available. The
official release is 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 Jun  1 09:07:54 1999
From: "Randy MacDonald" <randy@godin.on.ca>
References: <85256783.0043ED53.00@mail.nimo.com>
Subject: Re: Jforum: J 4.03 Beta (8th version) 404 Not Found Error
Date: Tue, 1 Jun 1999 08:44:21 -0400
	charset="iso-8859-1"

If the reason for this page disappearing is the expiration of all beta
versions at
00:00h 1 June, it might be more friendly in the future to replace the beta
with a
"Sorry, Beta Expired, why not look at the full version." page.

----- Original Message -----
From: <mellemf@nimo.com>
Sent: June 1, 1999 8:13 AM
Subject: Re: Jforum: J 4.03 Beta (8th version) 404 Not Found Error

> I am getting the following error:  (I hope its just temporary ; I got all
other
> versions ok)
> 404 Not Found Error
> Sorry! You have reached a page that is unavailable or does not exist.
Things you
>  can do from here:
> 1.Use any of the menu items on this page to continue working within
Interlog
> Internet Services.
>
> 2.Check your URL for spelling or capitalization mistakes and/or try it
again.
>
> Interlog may host the site on our server, however we are not responsible
for how
>  the site functions.
>

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

From owner-jsoftware@lists.interlog.com  Tue Jun  1 13:56:02 1999
From: "Seymour Glass" <glasss@mindspring.com>
Subject: Jforum: Private to Martin Neitzel
Date: Tue, 1 Jun 1999 13:31:33 -0400
	charset="iso-8859-1"
Importance: Normal

Martin,

  Your mail server (spog.gaertner.de) is blocking mail from
Mindspring, my ISP (IP address 207.69.200.32), so I can't
reply directly.

  But I will try again to upload to CVS, and I will
make one of the changes you suggested about the z locale
(after I figure out which one is best for me).

Henry Rich

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

From owner-jsoftware@lists.interlog.com  Tue Jun  1 14:16:08 1999
Date: Tue, 1 Jun 1999 14:03:05 -0400 (EDT)
From: Olivier Lefevre <lefevre@panix.com>
Subject: Re: Jforum: DICTIONARIES IN J
In-Reply-To: <3750A609.701A@interlog.com>

> K and Python dictionaries are similar to J locales.

Yes. The suggestions put forth here are of the OO style, where you have
to build dictionaries in userland, so to speak. I use Java collections
all the time and once you have have tried the K approach it just doesn't
cut it. I am not yet very familiar with locales but I believe they offer
a flat namespace, so they wouldn't get you very far (i.e., only 1 level-
deep maps). Is that correct or have J locales been upgraded since last
time I enquired?

Regards,

-- O.L.

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

From owner-jsoftware@lists.interlog.com  Tue Jun  1 15:15:09 1999
Date: Tue, 1 Jun 1999 15:02:50 -0400 (EDT)
From: Olivier Lefevre <lefevre@panix.com>
Subject: Re: Jforum: DICTIONARIES IN J
In-Reply-To: <3754299E.6285CB14@nassau.cv.net>

> ...once you have have tried the K approach, (Java collections) just (don't) cut it.

Yes.

-- O.L.

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

From owner-jsoftware@lists.interlog.com  Tue Jun  1 15:20:13 1999
Date: Tue, 1 Jun 1999 15:07:44 -0400 (EDT)
From: Olivier Lefevre <lefevre@panix.com>
Subject: Re: Jforum: DICTIONARIES IN J
In-Reply-To: <3754299E.6285CB14@nassau.cv.net>

I would also like to point out that while "nameless" arrays are well-
suited to numerical tasks, maps are a better match to GUIs, relational
databases and other "business", as opposed to engineering applications.

Doesn't Dyadic APL already offer something very similar to K's 1st-class
namespaces (hence built-in maps)? I think so, and they leverage it in
GUI building. At least that is my recollection of a Dyadic demo a while
back.

-- O.L.

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

From owner-jsoftware@lists.interlog.com  Tue Jun  1 17:58:21 1999
Date: Tue, 01 Jun 1999 14:42:38 -0400
From: Jake <jm@optonline.net>
Subject: Re: Jforum: DICTIONARIES IN J
References: <Pine.GSU.4.05.9906011358001.10144-100000@panix3.panix.com>

>> I use Java collections all the time and once you have
>> have tried the K approach it just doesn't cut it.

Sorry, for clarification, does "it" refer to the "the K approach" or is the following intended ?

...once you have have tried the K approach, (Java collections) just (don't) cut it.

Sorry for being so dense.

Olivier Lefevre wrote:
>
> > K and Python dictionaries are similar to J locales.
>
> Yes. The suggestions put forth here are of the OO style, where you have
> to build dictionaries in userland, so to speak. I use Java collections
> all the time and once you have have tried the K approach it just doesn't
> cut it. I am not yet very familiar with locales but I believe they offer
> a flat namespace, so they wouldn't get you very far (i.e., only 1 level-
> deep maps). Is that correct or have J locales been upgraded since last
> time I enquired?
>
> Regards,
>
> -- O.L.
>
> --------------------------------------------------------------------------------
> J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

--
- Jake Moskowitz

 jm@optonline.net
(jm@nassau.cv.net will still work)
(516) 889-4566

 moskowitz_jacob@jpmorgan.com
(212) 235-3787

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

From owner-jsoftware@lists.interlog.com  Tue Jun  1 18:05:58 1999
From: mellemf@nimo.com
X-Lotus-FromDomain: NMPC
Date: Tue, 1 Jun 1999 09:07:30 -0400
Subject: Re: Jforum: J 4.03 beta test period is over; returning from a
	 long weekend & reading alot of email.
Content-type: text/plain; charset=us-ascii
Content-Disposition: inline

I should have finished reading the e-mail before crying "The Sky is Falling"
Thanks for the rapid replies.

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

From owner-jsoftware@lists.interlog.com  Tue Jun  1 18:30:16 1999
From: "Chris Burke" <cdburke@interlog.com>
References: <Pine.GSU.4.05.9906011358001.10144-100000@panix3.panix.com>
Subject: Re: Jforum: DICTIONARIES IN J
Date: Tue, 1 Jun 1999 18:23:58 -0400
	charset="iso-8859-1"

> Yes. The suggestions put forth here are of the OO style, where you
have
> to build dictionaries in userland, so to speak. I use Java
collections
> all the time and once you have have tried the K approach it just
doesn't
> cut it. I am not yet very familiar with locales but I believe they
offer
> a flat namespace, so they wouldn't get you very far (i.e., only 1
level-
> deep maps). Is that correct or have J locales been upgraded since
last
> time I enquired?

J401 extended the definition of locales, and you can now specify a
locale path. A good intro to new facilities is the lab Object Oriented
Programming.

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

From owner-jsoftware@lists.interlog.com  Tue Jun  1 23:51:34 1999
Date: Tue, 01 Jun 1999 23:42:19 -0400
From: Daniel Torres <torres@SAmerica.com>
Subject: Jforum: Re: Typos
References: <19990529231539.24262.rocketmail@attach1.rocketmail.com>
Content-Type: multipart/mixed;
 boundary="------------65AE7D68E4BCB5B969CF6B05"

This is a multi-part message in MIME format.
--------------65AE7D68E4BCB5B969CF6B05

Several have requested references regarding my post on devastating purchasing
effects of mispellings.

I have found no research, at all.  I cannot even pinpoint how I acquired the
paradigm.

Surprisingly, however, everyone in the field of advertising that I ask,
believes the same way.  I have been involved in the field of marketing and
advertising  for over 14 years, including as account excutive for Leo Burnett
(I handled all of Heinz products in my region).  I guess that everyone simply
takes the statement regarding typos for granted, because no one questions it.
I guess it is analogous to the claim that a typo in a resume can have
devastating effects.  Or that dressing adequately at a job interview, including
not wearing socks that might sag, is crucial.  I found no hard research on
those statements, either.  But I am surprised with the number of people
thinking likewise.

Given the lack of hard research, it is posts like that of Don Guinn's, where he
mentions his wife's reaction to typos, which breath truth to the paradigm.

Maybe the following resume excerpts are appropriate:

  1. "I demand a salary commiserate with my extensive experience."
  2. "I have lurnt Word Perfect 6.0 computor and spreasheet progroms."
  3. "Received a plague for Salesperson of the Year."
  4. "Wholly responsible for two (2) failed financial institutions."
  5. "Reason for leaving last job: maturity leave."
  6. "Failed bar exam with relatively high grades."
  7. "It's best for employers that I not work with people."
  8. "Let's meet, so you can 'ooh' and 'aah' over my experience."
  9. "You will want me to be Head Honcho in no time."
  10. "Am a perfectionist and rarely if if ever forget details."

Daniel

> Daniel Torres wrote:
> >
> > The experience in the field of advertising dictates that even if the
> > probability of typos being discovered are low, one should not conclude that the
> > importance of eliminating typos is diminished.  The purchasing effect on a
> > potential buyer who discovers a typo in the presentation of a product is
> > devastating.
> >
--------------65AE7D68E4BCB5B969CF6B05
 name="torres.vcf"
Content-Description: Card for Daniel Torres
Content-Disposition: attachment;
 filename="torres.vcf"

begin:vcard
n:Torres;Daniel
tel;fax:1-978.383-5817
tel;home:1-305.441-0369
tel;work:1-305.461-6829
x-mozilla-html:TRUE
adr:;;600 Biltmore Way APT 412;Coral Gables;FL;33134-7529;USA
version:2.1
email;internet:torres@SAmerica.com
fn:Daniel Torres
end:vcard

--------------65AE7D68E4BCB5B969CF6B05--

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

From owner-jsoftware@lists.interlog.com  Wed Jun  2 00:56:06 1999
Date: Wed, 02 Jun 1999 00:47:39 -0400
From: David Ness <DNess@home.com>
Subject: Re: Jforum: Re: Typos
References: <19990529231539.24262.rocketmail@attach1.rocketmail.com> <3754A81B.8FD40F97@SAmerica.com>

I guess we have different definitions of `typo'. To me, a `typo' is
a `typographical error'---a very particular type of problem, and only
one very small corner of the field of `Errors in Language'.

To me, the examples you cite are universally errors in language
which are _not_, generally speaking, typos. I won't go thru them
one-by-one, so I'll illustrate with your first example. I doubt
`commiserate' is a typo for `commensurate', I think the (ignorant)
writer did not know the right word and used an incorrect one. He
didn't `mis-type it' he `mis-thought it'.

I would certainly own up to thinking _much more unkindly_ of errors
in language than of typos. It doesn't bother me much to see `dosen't'
that's clearly a typo. It does bother me to see `your' for `you're'
or `there' for `their' or, worse yet, `they're' etc.

Typos are `errors of fingers' and they don't bother me much, and haven't
unduly bothered most of the decision makers I happen to have dealt with.
Errors in language are `errors of the mind and intelligence' and are
in a different class.

Daniel Torres wrote:
>
> Several have requested references regarding my post on devastating purchasing
> effects of mispellings.
>
> I have found no research, at all.  I cannot even pinpoint how I acquired the
> paradigm.
> ...
>
> Given the lack of hard research, it is posts like that of Don Guinn's, where he
> mentions his wife's reaction to typos, which breath truth to the paradigm.
>

Please tell me that `... breath ...' is a subtle illustration of
your point and not a telling example...

>
> Maybe the following resume excerpts are appropriate:
>
>   1. "I demand a salary commiserate with my extensive experience."
>   2. "I have lurnt Word Perfect 6.0 computor and spreasheet progroms."
>   3. "Received a plague for Salesperson of the Year."
>   4. "Wholly responsible for two (2) failed financial institutions."
>   5. "Reason for leaving last job: maturity leave."
>   6. "Failed bar exam with relatively high grades."
>   7. "It's best for employers that I not work with people."
>   8. "Let's meet, so you can 'ooh' and 'aah' over my experience."
>   9. "You will want me to be Head Honcho in no time."
>   10. "Am a perfectionist and rarely if if ever forget details."
>
> Daniel
>
> > Daniel Torres wrote:
> > >
> > > The experience in the field of advertising dictates that even if the
> > > probability of typos being discovered are low, one should not conclude that the
> > > importance of eliminating typos is diminished.  The purchasing effect on a
> > > potential buyer who discovers a typo in the presentation of a product is
> > > devastating.
> > >
>
>
>   Daniel Torres <torres@SAmerica.com>

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

From owner-jsoftware@lists.interlog.com  Wed Jun  2 03:06:58 1999
From: <paul_gauthier@dynasys.tm.fr>
Subject: RE: Jforum: Re: Typos
Date: Wed, 2 Jun 1999 08:52:41 +0200
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by plus.interlog.com id CAA27904

I am jumping into this discussion of typos for the following reason:
Being french speaking from birth, I could more easily generate typos in
english. So the birth language of a person is also of some importance.
But, in order to turn me off, typos must absolutely be repetitive and in
number. Then it is more likely that negligence is behind the repetitive
aspect of typos. (But it could be too much speed).

I will give an example of the major difference between negligence and a
simple typo. I have seen a lot of abuse of several kind in my short life
already, what always strike me is the regular pattern shown by an abuser
who always deny his abuse by giving examples like: But everybody gives a
blow to a kid once in a while...

Thus, the abuser is using the emotional potential guilt that many normal
people migth have in order to camouflage his repetitive behavior.

Conclusion: One must consider birth language and repetitive aspect of
typos, maybe we could develop a taxonomy of typos and their
implications... Regards/Paul

>-----Message d'origine-----
>De:	David Ness [SMTP:DNess@home.com]
>Date:	mercredi 2 juin 1999 06:48
>�:	forum@jsoftware.com
>Objet:	Re: Jforum: Re: Typos
>
>I guess we have different definitions of `typo'. To me, a `typo' is
>a `typographical error'---a very particular type of problem, and only
>one very small corner of the field of `Errors in Language'.
>
>To me, the examples you cite are universally errors in language
>which are _not_, generally speaking, typos. I won't go thru them
>one-by-one, so I'll illustrate with your first example. I doubt
>`commiserate' is a typo for `commensurate', I think the (ignorant)
>writer did not know the right word and used an incorrect one. He
>didn't `mis-type it' he `mis-thought it'.
>
>I would certainly own up to thinking _much more unkindly_ of errors
>in language than of typos. It doesn't bother me much to see `dosen't'
>that's clearly a typo. It does bother me to see `your' for `you're'
>or `there' for `their' or, worse yet, `they're' etc.
>
>Typos are `errors of fingers' and they don't bother me much, and haven't
>unduly bothered most of the decision makers I happen to have dealt with.
>Errors in language are `errors of the mind and intelligence' and are
>in a different class.
>
>Daniel Torres wrote:
>>
>> Several have requested references regarding my post on devastating
>>purchasing
>> effects of mispellings.
>>
>> I have found no research, at all.  I cannot even pinpoint how I acquired
>>the
>> paradigm.
>> ...
>>
>> Given the lack of hard research, it is posts like that of Don Guinn's,
>>where he
>> mentions his wife's reaction to typos, which breath truth to the paradigm.
>>
>
>Please tell me that `... breath ...' is a subtle illustration of
>your point and not a telling example...
>
>>
>> Maybe the following resume excerpts are appropriate:
>>
>>   1. "I demand a salary commiserate with my extensive experience."
>>   2. "I have lurnt Word Perfect 6.0 computor and spreasheet progroms."
>>   3. "Received a plague for Salesperson of the Year."
>>   4. "Wholly responsible for two (2) failed financial institutions."
>>   5. "Reason for leaving last job: maturity leave."
>>   6. "Failed bar exam with relatively high grades."
>>   7. "It's best for employers that I not work with people."
>>   8. "Let's meet, so you can 'ooh' and 'aah' over my experience."
>>   9. "You will want me to be Head Honcho in no time."
>>   10. "Am a perfectionist and rarely if if ever forget details."
>>
>> Daniel
>>
>> > Daniel Torres wrote:
>> > >
>> > > The experience in the field of advertising dictates that even if the
>> > > probability of typos being discovered are low, one should not conclude
>>that the
>> > > importance of eliminating typos is diminished.  The purchasing effect
>>on a
>> > > potential buyer who discovers a typo in the presentation of a product
>>is
>> > > devastating.
>> > >
>>
>>
>>   Daniel Torres <torres@SAmerica.com>
>
>-----------------------------------------------------------------------------
>---
>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 Jun  2 05:17:24 1999
From: Baker Stuart <stuart.baker@hyder.com>
Subject: RE: Jforum: Re: Typos
Date: Wed, 2 Jun 1999 10:06:20 -0000

	My two cents' worth...

	With typos, errors of linguistic orthodoxy and other noticeable
deviations it occurs to me that - it may be roughly just those occurrences
that we can counter by greater interpretive effort that are even noticed at
all. And if we can say 'that's a mistake' and recover the intended meaning,
then that meaning has exactly not been affected. What has happened is that
the communication has acquired additional 'meaning' or semantic content.
Like swatting vainly at a fly that is buzzing round our head, it is this
extra unwanted attentional burden that is objectionable.

	If we think of 'mistakes' as simply part of the broader context of
issues of style, then they are immediately accompanied by other
meta-communications which can be irritating, enchanting, obscure,
inspirational, ... you name it. Personally, I have always found the rather
puritanical terseness of the original set of J documentation 'difficult' -
the labs and the Primer between them have helped me enormously in the past
months.

	Looking at the language itself, I find it (personally) much more
difficult in J to make 'typos', in the sense of mistakes which are not
interpretable in the language (at least lexically) and stick out visually.
The symbol-space appears to be so dense compared to conventional languages
that almost everything has a meaning.

	This does not mean I am not making mistakes - far from it: in my
current phase of learning I have the curious sensation of walking on eggs
all the time, hoping none of them break. I remember back in the early 70's a
design for a Fortran compiler was published with a front-end that tolerated
spelling and some syntax mistakes. As far as I know nothing came of it - I
wonder why? I reckon it would be really difficult to do the same for J,
apart from dealing with mis-spelled control structures.

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

From owner-jsoftware@lists.interlog.com  Wed Jun  2 06:22:15 1999
Date: Wed, 02 Jun 1999 13:04:35 +0300
From: Anssi  Seppala <anssi.seppala@enease.fi>
Subject: Jforum: HTML publish is not working in J403a
In-Reply-To: <c=FR%a=_%p=DynaSys_-_Schilt%l=DYNASYS01-990602065241Z-9@ma
 il.dynasys.tm.fr>

I just loaded J403a and tried to make html  publish  but it does not work!

Anssi

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

From owner-jsoftware@lists.interlog.com  Wed Jun  2 07:11:49 1999
From: "Chris Burke" <cdburke@interlog.com>
References: <4.1.19990602125137.00bcd100@pop.kolumbus.fi>
Subject: Re: Jforum: HTML publish is not working in J403a
Date: Wed, 2 Jun 1999 06:49:06 -0400
	charset="iso-8859-1"

It works for me. What did you try and with what result? Did it work in
the beta systems?

----- Original Message -----
From: Anssi Seppala <anssi.seppala@enease.fi>
Sent: Wednesday, June 02, 1999 6:04 AM
Subject: Jforum: HTML publish is not working in J403a

> I just loaded J403a and tried to make html  publish  but it does not
work!
>
> Anssi
>
> --------------------------------------------------------------------
------------
> 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 Jun  2 07:42:04 1999
Date: Wed, 02 Jun 1999 06:29:36 -0500
From: Don Guinn <donguinn@hal-pc.org>
Subject: Re: Jforum: Re: Typos
References: <0488C2686254D111A5C70000F847E8C5030DB32E@LUSIS_EXCH_1>

Typos are easy to make.  They are also easy to correct.  The question that comes to
my mind when I see a lot of typos is, "If I can find so many mistakes in the product
so quickly, how many more mistakes exist that I haven't found?"

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

From owner-jsoftware@lists.interlog.com  Wed Jun  2 08:23:41 1999
Date: Wed, 02 Jun 1999 15:09:10 +0300
From: Anssi  Seppala <anssi.seppala@enease.fi>
Subject: Re: Jforum: HTML publish is not working in J403a
In-Reply-To: <003601beace7$4556eca0$430114d1@Pcdburke>
References: <4.1.19990602125137.00bcd100@pop.kolumbus.fi>
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by plus.interlog.com id IAA10690

Yes, it did work with beta systems and I am confused. After installation I
select from menu: html publish and nothing happens. Trying the same from PM
it shows error:

Error in pprojectform_pub_button
 domain error: wd
 msg m =.'publishing:',y.{.~-PATHSEP_j_ i.~|.y.

Anssi

At 06:49 2.6.1999 -0400, you wrote:
>It works for me. What did you try and with what result? Did it work in
>the beta systems?
>
>----- Original Message -----
>From: Anssi Seppala <anssi.seppala@enease.fi>
>To: <forum@jsoftware.com>
>Sent: Wednesday, June 02, 1999 6:04 AM
>Subject: Jforum: HTML publish is not working in J403a
>
>
>> I just loaded J403a and tried to make html  publish  but it does not
>work!
>>
>> Anssi
>>
>> --------------------------------------------------------------------
>------------
>> 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

-------------------------------------------------------------------
Anssi Sepp�l�, TkT
S�hk�markkinat ja s�hk�njakelu: Sovellukset ja ohjelmistot
e-mail: anssi.seppala@enease.fi	tel: +358 9 45400550
Enease Oy				fax: +358 9 45400551
Mannerheimintie 66 A			mob: +358 400 760077
FIN - 00260  HELSINKI, Finland	http://www.kolumbus.fi/enease/

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

From owner-jsoftware@lists.interlog.com  Wed Jun  2 08:23:44 1999
Date: Wed, 02 Jun 1999 15:09:45 +0300
From: Anssi  Seppala <anssi.seppala@enease.fi>
Subject: Re: Jforum: HTML publish is not working in J403a

Yes, it did work with beta systems and I am confused. After installation I
select from menu: html publish and nothing happens. Trying the same from PM
it shows error:

Error in pprojectform_pub_button
 domain error: wd
 msg m =.'publishing:',y.{.~-PATHSEP_j_ i.~|.y.

Anssi

At 06:49 2.6.1999 -0400, you wrote:
>It works for me. What did you try and with what result? Did it work in
>the beta systems?
>
>----- Original Message -----
>From: Anssi Seppala <anssi.seppala@enease.fi>
>To: <forum@jsoftware.com>
>Sent: Wednesday, June 02, 1999 6:04 AM
>Subject: Jforum: HTML publish is not working in J403a
>
>
>> I just loaded J403a and tried to make html  publish  but it does not
>work!
>>
>> Anssi
>>
>> --------------------------------------------------------------------
>------------
>> 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  Wed Jun  2 09:25:11 1999
From: k-list@iname.com
Date: Wed, 2 Jun 1999 09:15:05 -0400 (EDT)
Content-Type: Text/Plain
Subject: Jforum: wd & control id

wd commands has no concept of locale. Suppose 2 forms have
text controls of the same id name (say text1), which form's
control will be referenced in the line?
  wd 'set text1 abc'

---------------------------------------------------
Get free personalized email at http://www.iname.com

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

From owner-jsoftware@lists.interlog.com  Wed Jun  2 11:48:26 1999
Date: Wed, 02 Jun 1999 11:34:21 -0400
From: Brian Bambrough <b.bambrough@worldnet.att.net>
Subject: Jforum: j403a: minor errors

Here are a couple of minor errors in j403a:

1) When the system is executing a script that takes a long time, the
cursor does not turn into an hour-glass.  There does not seem to be
any visual cue as to when the script has finished.  Before I started
putting in the sentence, smoutput "finished", in the code, the best I
could do was to hit Ctrl Tab every few seconds.

2) There is a typo in the Dictionary.  It is in the printed Dictionary
also:

Example for nub sieve in the Dictionary:

y=: 8 1 8 2 8 1 7 2
        ~: y
8 1 2 7

Should be ~.y

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

From owner-jsoftware@lists.interlog.com  Wed Jun  2 18:14:20 1999
Date: Wed, 02 Jun 1999 16:59:56 +0300
From: Anssi  Seppala <anssi.seppala@enease.fi>
Subject: Re: Jforum: HTML publish is not working in J403a
In-Reply-To: <003601beace7$4556eca0$430114d1@Pcdburke>
References: <4.1.19990602125137.00bcd100@pop.kolumbus.fi>

Now I am really confused! HTML publish works on my Laptop WIN95 where J is
installed in c:\j403.  HTML is NOT working on my destop NT4SP3 where J is
installed in d:\j403.

I am not shure if I did test beta systems' HTML on my desktop.

Anssi

At 06:49 2.6.1999 -0400, you wrote:
>It works for me. What did you try and with what result? Did it work in
>the beta systems?

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

From owner-jsoftware@lists.interlog.com  Wed Jun  2 18:19:35 1999
From: "Chris Burke" <cdburke@interlog.com>
References: <990602091505CI.21731@weba2.iname.net>
Subject: Re: Jforum: wd & control id
Date: Wed, 2 Jun 1999 09:59:42 -0400
	charset="iso-8859-1"

The active form (wd 'psel myform').

Moreover, events in any form are signalled in that form's locale.

See Help|User|Window Driver:  Entering Information and Form Locales.

----- Original Message -----
From: <k-list@iname.com>
Sent: Wednesday, June 02, 1999 9:15 AM
Subject: Jforum: wd & control id

> wd commands has no concept of locale. Suppose 2 forms have
> text controls of the same id name (say text1), which form's
> control will be referenced in the line?
>   wd 'set text1 abc'
>
>
>
> ---------------------------------------------------
> Get free personalized email at http://www.iname.com
>
> --------------------------------------------------------------------
------------
> 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 Jun  3 02:32:04 1999
From: bszuch@wsa-fincon.com.au (WSA-fincon--bill Szuch)
Subject: Jforum: J and Excel
Date: Thu, 3 Jun 1999 16:04:13 +1000
Organization: WSA Financial Consulting Pty Ltd

APPLICATION ERROR

I have incurred an "Application Error" while running J as client and Excel as server.

After loading J403a I carried out the following:

load 'system\examples\ole\excel\xlutil.ijs'

   xlopen ''

   xlshow ''

   xlcmd 'wb add'

   xlquit ''

Everything seemed to work until the final statement.

On executing xlquit ''  and still with Excel open I was thrown out of J with the following message:

Application Error
j.exe
Exception access violation: 0xc00000005. Address 0x0045d716

I also get the same problem with using xlexit ''

When I try the same exercise again, however, this time closing Excel and then using xlquit of xlexit I do not have any problems.

This problem was not encountered in J402a which is running OK.

Is one solution at this stage to exit Excel before using xlquit or xlexit ?

I would appreciate some help in running Excel under J as I find it very useful for the type of work I do.
NB.
Using Windows NT4.0

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

From owner-jsoftware@lists.interlog.com  Thu Jun  3 03:25:37 1999
>Received: from pc1-jwj.oce.nl by smtp02.oce.nl (4.1/SMI-4.1)
	id AA10277; Thu, 3 Jun 99 09:13:44 +0200
Date: Thu, 3 Jun 99 09:13:44 +0200
From: jwj@oce.nl (Jan Jacobs)
Subject: Jforum: error with the combination 'extended precision' and 'item ammend'?

ls,
I need to model the storage of 32 bit values in an array (SRAM) which
involves fetching and updating on it.
When running the J code below in J3.03a the system returns on positions 100
and 101 in array SRAM the value: 61967000000070006000500040003787784248761x
and on the 20 subsequent position s also not the expected values of 255x.
Shortly after this the system responds with an exception.

When running the same code in J4.03beta(1) postion 100 contains the value
021473750, also no subsequent new values. The system aborts with illegal
operation.

SRAM=:400$ <: 2x^32
cnt=:22
ptr=:100

p=: 3 : 0
	while. cnt>0 do.
		SRAM=:255x ptr}SRAM		NB. deposit in RAM
		ptr=:ptr+1
		cnt=:cnt-1
	end.
)

Can anyone help me with a nice temporary solution to solve this?
Thanks in advance,
Jan Jacobs.

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

From owner-jsoftware@lists.interlog.com  Thu Jun  3 07:12:33 1999
From: "Chris Burke" <cdburke@interlog.com>
References: <01BEADDC.8EC9E900.bszuch@wsa-fincon.com.au>
Subject: Re: Jforum: J and Excel
Date: Thu, 3 Jun 1999 06:59:57 -0400
	charset="iso-8859-1"

Thanks for the bug report.

The problem is in the last statement of xlquit:

  wd 'psel xlauto;pclose'

We'll take a look.

----- Original Message -----
From: WSA-fincon--bill Szuch <bszuch@wsa-fincon.com.au>
Sent: Thursday, June 03, 1999 2:04 AM
Subject: Jforum: J and Excel

> APPLICATION ERROR
>
> I have incurred an "Application Error" while running J as client and
Excel as server.
>
> After loading J403a I carried out the following:
>
> load 'system\examples\ole\excel\xlutil.ijs'
>
>    xlopen ''
>
>    xlshow ''
>
>    xlcmd 'wb add'
>
>    xlquit ''
>
>
> Everything seemed to work until the final statement.
>
> On executing xlquit ''  and still with Excel open I was thrown out
of J with the following message:
>
> Application Error
> j.exe
> Exception access violation: 0xc00000005. Address 0x0045d716
>
> I also get the same problem with using xlexit ''
>
> When I try the same exercise again, however, this time closing Excel
and then using xlquit of xlexit I do not have any problems.
>
> This problem was not encountered in J402a which is running OK.
>
> Is one solution at this stage to exit Excel before using xlquit or
xlexit ?
>
> I would appreciate some help in running Excel under J as I find it
very useful for the type of work I do.
> NB.
> Using Windows NT4.0
>
>
> --------------------------------------------------------------------
------------
> 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 Jun  3 15:32:00 1999
From: "Oleg Kobchenko" <gccinc@usa.net>
Subject: Jforum: ANSI and OEM national encodings (1)
Date: Thu, 3 Jun 1999 22:07:10 +0300
Content-Type: multipart/mixed;
	boundary="----=_NextPart_000_0041_01BEAE0D.6D178B60"

This is a multi-part message in MIME format.

------=_NextPart_000_0041_01BEAE0D.6D178B60
	charset="iso-8859-1"

Picture 1

------=_NextPart_000_0041_01BEAE0D.6D178B60
Content-Type: image/bmp;
	name="russ.bmp"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="russ.bmp"

Qk2mGQAAAAAAAHYAAAAoAAAAzwAAAD4AAAABAAQAAAAAADAZAADEDgAAxA4AAAAAAAAAAAAAAAAA
AAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICAgADAwMAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA
////AIiIiI//////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////wiIiIj///
////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////CIiIiP////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////8IiIiI//////////////////////////////
////////////////////////////////////////////////////////////////////////////
///////////////////////////wiIiIj//w////////////////////////////////////////
//////////////////////////////////////////////////////////////////D/////////
//////////////CIiIiP//D/////////////////////////////////////////////////////
////////////////////////////////////////////////////8P//////////////////////
8IiIiI//8P//////////////////////////////////////////////////////////////////
///////////////////////////////////////w///////////////////////wiIiIjwAAAA8A
AAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAAD/////////////////////CIiIiP//D/////////////////
////////////////////////////////////////////////////////////////////////////
////////////8P//////////////////////8IiIiI//8P//////////////////////////////
///////////////////////////////////////////////////////////////////////////w
///////////////////////wiIiIj//w////////////////////////////////////////////
//////////////////////////////////////////////////////////////D/////////////
//////////CIiIiP////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////8IiI
iI//////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////wiIiIj///////////
////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////CIiIiP////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////8IiIiI//////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
///////////////////wiIiIj///////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
//////CIiIiP////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////8IiIiI//
D////////////////////////////////////////////////////////////////////////wAP
//8A//////////////////////////8P///////////////////////wiIiIj/8P////////////
////////////////////////////////////////////////////////////8P///w8P////////
/////////////////w////////////////////////CIiIiP/w////8AAP//AA//8AAP////////
AA//8AAA/wAP8A/wAA///wAP//////8ADwAP8AAP///////wAA///w////AAD//wAA//AA/wDwD/
AA//D///////////////////////8IiIiI//D///8P//D//w//8P//D////////w//8P////8P/w
/w//8P//8P////////D/8P8P//D///////D/8P//AP//D//w/w//8P/w//D/8A/w//8P////////
///////////////wiIiIj/8P//////8P//D//w//8P////////D//w/////w/w//D//////w////
////8P/w/w//8P//////8P/w//D/D/8P////D/////D/D//w8PD//w//////////////////////
//CIiIiP/w///////w8P8P8PD//w//////8P8P8PAAAA//AA//8P////D/D/D//////w//D/D//w
/wAAAP/w//D/8P8P/w////8P////8AD///Dw8P//D///////////////////////8IiIiI//D///
//AADw/w/w8P//D//////w/w/w8P//D/8PDw/w//AP8P8P8P//////D/8P8P//D///////AP8P8P
//D/D/8A/w//AP/w8PD/8P8A//8P///////////////////////wiIiIj/8P///w//8PAAAAD/AA
D///////AAAAD/AAD/8ADwD/8ADw/wAAAA//////AAAAD/AAD///////APAP8AD/AA/wAPD/8ADw
/wAPAP8AD/AP/w////////////////////////CIiIiP/w////AP/w//////////////////////
////////////////////////////////////////////////////////////////////////////
D///////////////////////8IiIiI//D///8PAA////////////////////////////////////
//////////////////////////////////////////////////////////////8P////////////
///////////wiIiIj///////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////CI
iIiP////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////8IiIiI//////////
////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////wiIiIj///////////////////////
////////////////////////////////////////////////////////////////////////////
//////////////////////////////////CIiIiP////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////////////8IiIiI//////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
///////wiIiIj///////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////CIiIiP
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////8IiIiI//8P//////////
////////////////////////////////////////////////////////////////////////////
///////////////////w///////////////////////wiIiIj//w////////////////////////
////////////////////////////////////////////////////////////////////////////
//////D///////////////////////CIiIiP//D/////////////////////////////////////
////////////////////////////////////////////////////////////////////8P//////
////////////////8IiIiI8AAAAPAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/
AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAA//////////////////
///wiIiIj//w////////////////////////////////////////////////////////////////
//////////////////////////////////////////D///////////////////////CIiIiP//D/
////////////////////////////////////////////////////////////////////////////
////////////////////////////8P//////////////////////8IiIiI//8P//////////////
////////////////////////////////////////////////////////////////////////////
///////////////w///////////////////////wiIiIj///////////////////////////////
////////////////////////////////////////////////////////////////////////////
//////////////////////////CIiIiP////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
////////////8IiIiI//////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////w
iIiIj///////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////CIiIiP////////
////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////8IiIiI//////////////////////
////////////////////////////////////////////////////////////////////////////
///////////////////////////////////wiIiIj///////////////////////////////////
////////////////////////////////////////////////////////////////////////////
//////////////////////CIiIiP////////////////////////////////////////////////
////////////////////////////////////////////////zM///8z/////////////////////
////////8IiIiI//////////////////////////////////////////////////////////////
///////////////////////////////////8////z8/////////////////////////////wiIiI
j///////////////////8P///////8zM///Mz//8zM/////////Mz//8zMz/zM/8z/zMz///zM//
/////8zPzM/8zM////////zMz///z////MzP//zMz//Mz/zPzP/Mz/////CIiIiP////////////
//////AP///////8///P//z//8///P////////z//8/////8//z/z//8///8/////////P/8/8//
/P///////P/8///M///P//z/z//8//z//P/8z/z/////8IiIiI//////////////////D///////
/////8///P//z//8/////////P//z/////z/z//P//////z////////8//z/z//8///////8//z/
/P/P/8/////P/////P/P//z8/P/////wiIiIj////////////////wD/////////////z8/8/8/P
//z//////8/8/8/MzMz//Mz//8/////P/P/P//////z//P/P//z/zMzM//z//P/8/8//z////8//
///8zP///Pz8//////CIiIiP/////////////////w/////P/////MzPz/z/z8///P//////z/z/
z8///P/8/Pz/z//M/8/8/8///////P/8/8///P///////M/8/8///P/P/8z/z//M//z8/P/8/8z/
/8//8IiIiI//////////////////8A///8////z//8/MzMzP/MzP///////MzMzP/MzP/8zPzP/8
zPz/zMzMz//////MzMzP/MzP///////M/M/8zP/Mz/zM/P/8zPz/zM/M/8zP/M//z//wiIiIj///
////////////////8P//z////M//z///////////////////////////////////////////////
///////////////////////////////////////////////////P//CIiIiP////////////////
///////P///8/Mz/////////////////////////////////////////////////////////////
/////////////////////////////////////8//8IiIiI//////////////////////////////
////////////////////////////////////////////////////////////////////////////
///////////////////////////wiIiIj///////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
//////////////A=

------=_NextPart_000_0041_01BEAE0D.6D178B60--

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

From owner-jsoftware@lists.interlog.com  Thu Jun  3 18:23:54 1999
Date: Thu, 03 Jun 1999 09:51:51 -0400
From: Cliff Reiter <reiterc@lafvax.lafayette.edu>
Subject: Re: Jforum: HTML publish is not working in J403a
Organization: Lafayette College
Content-type: text/plain; charset=us-ascii
References: <4.1.19990602125137.00bcd100@pop.kolumbus.fi>
 <4.1.19990602165549.00bcf3e0@pop.kolumbus.fi>

Anssi Seppala wrote:
>
> Now I am really confused! HTML publish works on my Laptop WIN95 where J is
> installed in c:\j403.  HTML is NOT working on my destop NT4SP3 where J is
> installed in d:\j403.
>
> I am not shure if I did test beta systems' HTML on my desktop.
>
> Anssi
>
> At 06:49 2.6.1999 -0400, you wrote:
> >It works for me. What did you try and with what result? Did it work in
> >the beta systems?

I also have been unable to get it to work. Running
"run" "Html Publish" menus seems to access the harddrive,
but nothing happens.

I am running NT4 SP3 too but had similar results on 2 y.o. Win95
machines.

Cliff

--
Clifford A. Reiter
Mathematics Department, Lafayette College
Easton, PA 18042 USA,   610-330-5277
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  Thu Jun  3 18:37:20 1999
From: "Roger Hui" <RHui@interlog.com>
References: <9906030713.AA10277@smtp02.oce.nl>
Subject: Re: Jforum: error with the combination 'extended precision' and 'item ammend'?
Date: Thu, 3 Jun 1999 11:56:52 -0400
	charset="iso-8859-1"

Jan Jacob writes on Thursday, June 3:

> I need to model the storage of 32 bit values in an array (SRAM) which
> involves fetching and updating on it.
> When running the J code below in J3.03a the system returns on positions 100
> and 101 in array SRAM the value: 61967000000070006000500040003787784248761x
> and on the 20 subsequent position s also not the expected values of 255x.
> Shortly after this the system responds with an exception.
>
> When running the same code in J4.03beta(1) postion 100 contains the value
> 021473750, also no subsequent new values. The system aborts with illegal
> operation.
>
> SRAM=:400$ <: 2x^32
> cnt=:22
> ptr=:100
>
> p=: 3 : 0
> while. cnt>0 do.
> SRAM=:255x ptr}SRAM NB. deposit in RAM
> ptr=:ptr+1
> cnt=:cnt-1
> end.
> )
>
> Can anyone help me with a nice temporary solution to solve this?
> Thanks in advance,

The problem is that amend in place (x=: blah i}x) is not implemented
for extended precision arrays, but } erroneously neither forces a copy
nor even signal error.  To get around this bug for the nonce, you can
force a copy yourself by inserting a ] between the =: and the rest
of the sentence, thus:

SRAM=: ] 255x ptr}SRAM

Thank you for reporting this bug.

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

From owner-jsoftware@lists.interlog.com  Thu Jun  3 18:48:33 1999
From: "Oleg Kobchenko" <gccinc@usa.net>
Subject: Jforum: ANSI and OEM national encodings
Date: Thu, 3 Jun 1999 22:06:34 +0300
	charset="iso-8859-1"

Gosi was right, Russian and Icelandic use just plain 8-bit
encodings in OEM and ANSI. In fact, to the great releaf of
Andrew Nikitin, and possibly Gosi, I managed to make J editor
input and display national in ANSI -- the most useful of the 2 options,
since it may be used in .ijs windows for comments and is used
to build dialog boxes for GUI, which are usually ANSI.

To make it work in Configure/View/Font/Browse select
"Courier" -- plain non-ttf font, not Couier New. The Script
drop-down automatically selects the only available option,
which is current-national-settings-system-default. For Russian
-- it's Cyrillic. Then after closing the Browse dialog, select ANSI.
Also select ASCII for Box Chars. Now when you switch to your national
keyboard layout the editor inputs and displays the national characters
correctly. (see russ.bmp)

For this to work there should be appropriate national support
on Windows 9x/NT. It would be interesting to get feed back
from other national settings than Russian -- how it works.

To my mind, if the Browse dialog 'remembered' the Script settings
for .ttf fonts -- and acted upon them accordingly, the same would
have been possible with "Couirer New" and other multi-charset fonts.

The next step is to enable national characters in OEM -- to be able to
see both the nice boxes and the national chars. This involves
some keyboard mapping at the point of character entering, because
the keyboard layout remains ANSI -- it send the ANSI char codes to
the application, when user presses the keyboard, but the text is in OEM.
Thus, a function, like CharToOem should be called each time when the
char code is received from the keyboard event and is about to be stored
in the text buffer, if current font settings is OEM. (see russOEM.bmp)

This feature of input encoding mapping runs along the lines of
customized key combinations to assign to various actions -- both
these facilities are common in good text editors.

Once, also there was a nice idea spelt about having separate font settings
for .ijs apart from .ijx windows -- the same as we have separate font
settings
for the forms.

-----Original Message-----
From: Eric Iverson <eiverson@interlog.com>
Date: Sunday, May 30, 1999 00:34
Subject: Re: Jforum: new editor features

Oleg Kobchenko wrote:
> Windows has option for fonts to be ANSI or OEM.
> But for keyboards in national settings there is only
> the ANSI option. Prior to beta J403, J 'editor' refused
> to accept keycodes of the upper ANSI set above 127, though
> it could display them. Now it accepts. However the mapping
> is such that it does not correctly correspond to either
> ANSI or OEM.
>
> Moreover, currently the Config/Font selection does not
> preserve the 'Script' and it always remain 'Western'.
> So one cannot even select the proper charset to see the Russian
> letters at all. I suppose the same happens with Icelandic.
> However, French (Canadian) may not suffer such problems,
> since the Western charset includes French letters.

I don't understand. Possibly because my experiments with English windows
and keyboard give different result than on your configuration.

As far as I can tell the support for J402 J403 code editors of ANSI and
OEM character sets is identical (in function, though the code is
completely different). The only difference is that the J403 code editor
insists on a fixed pitch font.

If I select Courier New ANSI, I can enter code points above 127 with the
alt numeric sequence. For example, alt+0200 displays an accented cap E
in the editor. This behaves as expected. Or I can cut/paste from CharMap
or other apps.

Just realized you are probably (Russian and Icelandic) are trying to
work with multi-byte character sets. These might work in the old editor
(as it is a standard edit control), but I think it would get J a bit
confused as I'm not sure how the multibyte codes would get passed
across. There is no multi-byte support in the new code editor.

Eventualy it might be possible to have unicode support both in the
editor and in J and this would be the proper solution in the future. But
the future is not now.

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

From owner-jsoftware@lists.interlog.com  Thu Jun  3 20:49:41 1999
Date: Thu, 03 Jun 1999 19:37:34 -0500 (CDT)
From: Kip Murray <CMurray@UH.EDU>
Subject: Jforum: Spaces in Windows NT Pathnames
X-VMS-To: IN%"forum@jsoftware.com"
X-VMS-Cc: MATH1IA
Content-type: text/plain; CHARSET=US-ASCII

Can J's facilities for reading Windows NT pathnames deal with a
pathname that has a space in it?

I'm thinking, first of all, of the routine that picks up the user's
profile from the startup icon; and secondly, of names added to
scripts.ijs.

Kip Murray <CMurray@UH.EDU>
Math, University of Houston

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

From owner-jsoftware@lists.interlog.com  Fri Jun  4 11:12:25 1999
From: Martin Barghoorn <barg@cs.tu-berlin.de>
Date: Fri, 4 Jun 1999 16:57:31 +0200 (MET DST)
Subject: Jforum: J4.03a Download with Solaris-netscape not possible
X-Sun-Charset: US-ASCII

Technical hint for download;
It isn't possible to download
J403a with netscape Solaris browser
Platform type don't show 4.03a
Martin B.

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

From owner-jsoftware@lists.interlog.com  Fri Jun  4 13:31:56 1999
From: "Martin Barghoorn" <barg@cs.tu-berlin.de>
Date: Fri, 04 Jun 1999 19:19:15 +0200
Subject: Jforum: Excel&J crashed

On Thu, 3 Jun 1999 16:04:13 +1000, WSA-fincon--bill Szuch wrote:

>APPLICATION ERROR
>I have incurred an "Application Error" while running J as client and Excel as server.
>After loading J403a I carried out the following:
load 'system\examples\ole\excel\xlutil.ijs'
>   xlopen ''
>   xlshow ''
>   xlcmd 'wb add'
>   xlquit ''
>
The same APPLICATION ERROR I had,
Excel and J crashed after moving the mouse



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

From owner-jsoftware@lists.interlog.com  Sat Jun  5 17:37:41 1999
Date: Sat, 05 Jun 1999 17:31:50 -0400
From: Daniel Torres <torres@SAmerica.com>
Subject: Jforum: rank of results of Head vs. Behead
Content-Type: multipart/mixed;
 boundary="------------B661616AED02E16BB9D8D282"

This is a multi-part message in MIME format.
--------------B661616AED02E16BB9D8D282

Is the following difference in rank of the results intentional?

   ${.$8 6$2

   $}.$8 6$2
1

By the way, I am running J4.02.

Thanks.

Daniel
--------------B661616AED02E16BB9D8D282
 name="torres.vcf"
Content-Description: Card for Daniel Torres
Content-Disposition: attachment;
 filename="torres.vcf"

begin:vcard
n:Torres;Daniel
tel;fax:1-978.383-5817
tel;home:1-305.441-0369
tel;work:1-305.461-6829
x-mozilla-html:TRUE
adr:;;600 Biltmore Way APT 412;Coral Gables;FL;33134-7529;USA
version:2.1
email;internet:torres@SAmerica.com
fn:Daniel Torres
end:vcard

--------------B661616AED02E16BB9D8D282--

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

From owner-jsoftware@lists.interlog.com  Sat Jun  5 17:53:17 1999
Date: Sat, 05 Jun 1999 17:47:42 -0400
From: David Ness <DNess@home.com>
Subject: Re: Jforum: rank of results of Head vs. Behead
References: <37599745.F395C0F1@SAmerica.com>

Perhaps naively, but I'd sure think so.

Head selects the leading item of its argument while Behead drops
the leading item. Given that the argument is the vector `8 6'
the head is an atom and the behead is the vector (of one item) (6)...

Daniel Torres wrote:
>
> Is the following difference in rank of the results intentional?
>
>    ${.$8 6$2
>
>    $}.$8 6$2
> 1
>
> By the way, I am running J4.02.
>
> Thanks.
>
> Daniel
>
>   ----------------------------------------------------------------------------------------------------
>
>   Daniel Torres <torres@SAmerica.com>
>
>   Daniel Torres
>                             <torres@SAmerica.com>
>                             HTML Mail
>   600 Biltmore Way APT 412  Fax: 1-978.383-5817
>   Coral Gables              Home: 1-305.441-0369
>   FL                        Work: 1-305.461-6829
>   33134-7529
>   USA
>   Additional Information:
>   Last Name     Torres
>   First Name    Daniel
>   Version       2.1

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

From owner-jsoftware@lists.interlog.com  Sun Jun  6 01:35:28 1999
From: arneson@pkb.mega.net.id (arneson)
Subject: Jforum: J403a missing system\examples\winapi\winapi.ijs
Date: Sun, 6 Jun 1999 12:15:34 +0700
Content-Type: multipart/mixed; boundary="---- =_NextPart_000_01BEB018.970A7060"

------ =_NextPart_000_01BEB018.970A7060

I tried to run Lab: DLL: Using System DLLs (file examples) from J403a.

It failed on:

require 'system\examples\winapi\winapi.ijs'

because system\examples\winapi\ did not exist. Can I copy it from the J402 directory?

------ =_NextPart_000_01BEB018.970A7060
Content-Type: application/ms-tnef
Content-Transfer-Encoding: base64

eJ8+IgcFAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAEIgAcAGAAAAElQTS5NaWNy
b3NvZnQgTWFpbC5Ob3RlADEIAQ2ABAACAAAAAgACAAEEkAYAoAEAAAEAAAAQAAAAAwAAMAIAAAAL
AA8OAAAAAAIB/w8BAAAARQAAAAAAAACBKx+kvqMQGZ1uAN0BD1QCAAAAAGZvcnVtQGpzb2Z0d2Fy
ZS5jb20AU01UUABmb3J1bUBqc29mdHdhcmUuY29tAAAAAB4AAjABAAAABQAAAFNNVFAAAAAAHgAD
MAEAAAAUAAAAZm9ydW1AanNvZnR3YXJlLmNvbQADABUMAQAAAAMA/g8GAAAAHgABMAEAAAAWAAAA
J2ZvcnVtQGpzb2Z0d2FyZS5jb20nAAAAAgELMAEAAAAZAAAAU01UUDpGT1JVTUBKU09GVFdBUkUu
Q09NAAAAAAMAADkAAAAACwBAOgEAAAAeAPZfAQAAABQAAABmb3J1bUBqc29mdHdhcmUuY29tAAIB
918BAAAARQAAAAAAAACBKx+kvqMQGZ1uAN0BD1QCAAAAAGZvcnVtQGpzb2Z0d2FyZS5jb20AU01U
UABmb3J1bUBqc29mdHdhcmUuY29tAAAAAAMA/V8BAAAAAwD/XwAAAAACAfYPAQAAAAQAAAAAAAAC
kVcBBIABADAAAABKNDAzYSBtaXNzaW5nIHN5c3RlbVxleGFtcGxlc1x3aW5hcGlcd2luYXBpLmlq
cwAYEgEFgAMADgAAAM8HBgAGAAwADwAiAAAAHwEBIIADAA4AAADPBwYABgAMAA4AGgAAABYBAQmA
AQAhAAAARjAzOTRGMjEwOTFDRDMxMTg3QTM1MEJBNTFDMTM4MDAA5QYBA5AGAFQEAAAhAAAACwAC
AAEAAAALACMAAAAAAAMAJgAAAAAACwApAAAAAAADAC4AAAAAAAMANgAAAAAAQAA5AMDGq5rbr74B
HgBwAAEAAAAwAAAASjQwM2EgbWlzc2luZyBzeXN0ZW1cZXhhbXBsZXNcd2luYXBpXHdpbmFwaS5p
anMAAgFxAAEAAAAWAAAAAb6v25nzIU859xwJEdOHo1C6UcE4AAAAHgAeDAEAAAAFAAAAU01UUAAA
AAAeAB8MAQAAABgAAABhcm5lc29uQHBrYi5tZWdhLm5ldC5pZAADAAYQchZPyQMABxCtAAAAHgAI
EAEAAABlAAAASVRSSUVEVE9SVU5MQUI6RExMOlVTSU5HU1lTVEVNRExMUyhGSUxFRVhBTVBMRVMp
RlJPTUo0MDNBSVRGQUlMRURPTjpSRVFVSVJFU1lTVEVNRVhBTVBMRVNXSU5BUElXSU5BUAAAAAAC
AQkQAQAAACMBAAAfAQAAfgEAAExaRnXbiS31AwAKAHJjcGcxMjUWMgD4C2BuDhAwMzOdAfcgAqQD
4wIAY2gKwGBzZXQwIAcTAoB9GQqBdWMAUAsDdWxuhQIgZQumIEkgdAiBQmQTwG8gcnUDoExBAaA6
IERMTBTQVQcAkA8gBgB5c3RlbRMU4gQgKGYDEGUgZZh4YW0LUAeQKSADUsggSjQPUGEuCqIKhPUK
gEkFQGYLcBaQFBACIEY6GBoJcHF1aQlwIOQncxWzXFwWxhtQA/AYbmFwAKAcBS5papRzJxgaYgWQ
YXURMMYgGv8cByBkaRQQEuCHBUAWwAQAdC4gQwORwxOwBaBweSBpGOEXcmx0aBagF7EyICEJcGPx
FDByeT8YGAsxGDIR8QIAJNAAAwAQEAAAAAADABEQAAAAAAMAgBD/////QAAHMACCiHLbr74BQAAI
MACCiHLbr74BCwAAgAggBgAAAAAAwAAAAAAAAEYAAAAAA4UAAAAAAAADAAKACCAGAAAAAADAAAAA
AAAARgAAAAAQhQAAAAAAAAMABYAIIAYAAAAAAMAAAAAAAABGAAAAAFKFAAC3DQAAHgAlgAggBgAA
AAAAwAAAAAAAAEYAAAAAVIUAAAEAAAAEAAAAOC4wAAMAJoAIIAYAAAAAAMAAAAAAAABGAAAAAAGF
AAAAAAAACwAvgAggBgAAAAAAwAAAAAAAAEYAAAAADoUAAAAAAAADADCACCAGAAAAAADAAAAAAAAA
RgAAAAARhQAAAAAAAAMAMoAIIAYAAAAAAMAAAAAAAABGAAAAABiFAAAAAAAAHgBBgAggBgAAAAAA
wAAAAAAAAEYAAAAANoUAAAEAAAABAAAAAAAAAB4AQoAIIAYAAAAAAMAAAAAAAABGAAAAADeFAAAB
AAAAAQAAAAAAAAAeAEOACCAGAAAAAADAAAAAAAAARgAAAAA4hQAAAQAAAAEAAAAAAAAAHgA9AAEA
AAABAAAAAAAAAAMADTT9NwAAC9A=

------ =_NextPart_000_01BEB018.970A7060--

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

From owner-jsoftware@lists.interlog.com  Sun Jun  6 06:20:56 1999
From: "Chris Burke" <cdburke@interlog.com>
References: <01BEB018.96F20660@pkb-115.mega.net.id>
Subject: Re: Jforum: J403a missing system\examples\winapi\winapi.ijs
Date: Sun, 6 Jun 1999 06:11:18 -0400
	charset="iso-8859-1"

The winapi stuff was moved to system\packages in J403, but this
reference was not updated. Thanks for pointing it out.

You could copy it from J402, or just ignore the error message and
enter:

   require 'winapi'

The lab will run from then on.

----- Original Message -----
From: arneson <arneson@pkb.mega.net.id>
Sent: Sunday, June 06, 1999 1:15 AM
Subject: Jforum: J403a missing system\examples\winapi\winapi.ijs

> I tried to run Lab: DLL: Using System DLLs (file examples) from
J403a.
>
> It failed on:
>
> require 'system\examples\winapi\winapi.ijs'
>
> because system\examples\winapi\ did not exist. Can I copy it from
the J402 directory?
>

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

From owner-jsoftware@lists.interlog.com  Sun Jun  6 08:04:20 1999
From: gosi@centrum.is
Subject: Re: Jforum: J403
Date: Sun, 6 Jun 99 11:57:44 +0000

I have not noticed the new release J403 announced
in c.l.a.

/Gosi

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

From owner-jsoftware@lists.interlog.com  Sun Jun  6 11:51:47 1999
Date: Sun, 06 Jun 1999 11:42:31 -0400
From: Murray Eisenberg <murray@math.umass.edu>
Organization: Mathematics & Statistics, Univ. of Mass./Amherst
Subject: Re: Jforum: J403a missing system\examples\winapi\winapi.ijs
References: <01BEB018.96F20660@pkb-115.mega.net.id> <000d01beb004$edb9ff20$120114d1@Pcdburke>

Actually, your proposed workaround

  require 'winapi'

does NOT work.  What does work is typing (or changing the .ijt script to
read):

  require 'system\packages\winapi\winapi.ijs'

Chris Burke wrote:
>
> The winapi stuff was moved to system\packages in J403, but this
> reference was not updated. Thanks for pointing it out.
>
> You could copy it from J402, or just ignore the error message and
> enter:
>
>    require 'winapi'
>
> The lab will run from then on.
>
> ----- Original Message -----
> From: arneson <arneson@pkb.mega.net.id>
> To: <forum@jsoftware.com>
> Sent: Sunday, June 06, 1999 1:15 AM
> Subject: Jforum: J403a missing system\examples\winapi\winapi.ijs
>
> > I tried to run Lab: DLL: Using System DLLs (file examples) from
> J403a.
> >
> > It failed on:
> >
> > require 'system\examples\winapi\winapi.ijs'
> >
> > because system\examples\winapi\ did not exist. Can I copy it from
> the J402 directory?
> >
>
> --------------------------------------------------------------------------------
> J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

--
Murray Eisenberg                     murray@math.umass.edu
Mathematics & Statistics Dept.       phone 413 549-1020 (H)
Univ. of Massachusetts                     413 545-2859 (W)
Amherst, MA 01003-4515

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

From owner-jsoftware@lists.interlog.com  Sun Jun  6 19:18:36 1999
In-Reply-To: <375184A8.161C@interlog.com>
References: <990530000014B3.09947@weba4.iname.net>
Date: Sat, 5 Jun 1999 00:11:31 -0700
From: Edward Cherlin <cherlin@2cowherd.com>
Subject: Character Overloading Considered Harmful (was Re: Jforum:
 double-byte & .js)

At 11:34 -0700 5/30/1999, Eric Iverson wrote:
[snip]
>The
>definition for the mapping of BSTR to J character string is to throw
>away the extra byte of each unicode character. This is fine and
>convenient in 'english' applications where the discarded bytes are
>always 0.

You've been talking to computers too long. It isn't convenient at all in
applications that use the full 'english' character set.  The minimum
estimate for professional typesetting is about 500 characters for English,
even without math, which pushes it up to about 1000.

Your method (indeed any method using any of the 8-bit character encodings)
is also heavily platform-specific.

>Since there is no 2 byte character data type in J, such data must be
>represented as J integer lists.
>
>I think you can solve your problem of moving unicode data between VB and
>J if you use VB routines that convert between unicode strings and
>integer arrays and exchange integer arrays with J.

I find it easier to let J think it is dealing with a vector of 8-bit
characters. Then it doesn't mind converting between big- and
little-endian--Reshape to two columns (Mayan writing order!), then reverse
under transpose. I had to give up on reverse rank 1, since it made far too
many temporaries.
--
Edward Cherlin                        President
Coalition Against Unsolicited Commercial E-mail
Help outlaw Spam.       <http://www.cauce.org/>
Talk to us at             <news:comp.org.cauce>

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

From owner-jsoftware@lists.interlog.com  Mon Jun  7 06:26:28 1999
From: Baker Stuart <stuart.baker@hyder.com>
Subject: RE: Jforum: Spaces in Windows NT Pathnames
Date: Mon, 7 Jun 1999 11:09:50 -0000

- sadly, it appears not, at least with scripts.ijs entries: I just tried it,
having happily used non-DOS style filenames explicitly within applications.
I think this is just because of the way that the buildpublic verb treats
these entries, nothing fundamental.

> ----------
> From: 	Kip Murray[SMTP:CMurray@UH.EDU]
> Reply To: 	forum@jsoftware.com
> Sent: 	04 June 1999 00:37
> To: 	forum@jsoftware.com
> Subject: 	Jforum: Spaces in Windows NT Pathnames
>
> Can J's facilities for reading Windows NT pathnames deal with a
> pathname that has a space in it?
>
> I'm thinking, first of all, of the routine that picks up the user's
> profile from the startup icon; and secondly, of names added to
> scripts.ijs.
>
> Kip Murray <CMurray@UH.EDU>
> Math, University of Houston
>
> --------------------------------------------------------------------------
> ------
> 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 Jun  7 13:39:55 1999
From: "Oleg Kobchenko" <gccinc@usa.net>
Subject: Re: Jforum: J403a missing system\examples\winapi\winapi.ijs
Date: Mon, 7 Jun 1999 20:24:02 +0300
	charset="iso-8859-1"

Actually it shouldn't matter where the new location is.
The 'scripts.ijs' should take care of that.

Then
  require 'winapi'

would work in all old files without updating paths in each
of them.

-----Original Message-----
From: Murray Eisenberg <murray@math.umass.edu>
Date: Sunday, June 06, 1999 18:49
Subject: Re: Jforum: J403a missing system\examples\winapi\winapi.ijs

Actually, your proposed workaround

  require 'winapi'

does NOT work.  What does work is typing (or changing the .ijt script to
read):

  require 'system\packages\winapi\winapi.ijs'

Chris Burke wrote:
>
> The winapi stuff was moved to system\packages in J403, but this
> reference was not updated. Thanks for pointing it out.
>
> You could copy it from J402, or just ignore the error message and
> enter:
>
>    require 'winapi'
>
> The lab will run from then on.
>
> ----- Original Message -----
> From: arneson <arneson@pkb.mega.net.id>
> To: <forum@jsoftware.com>
> Sent: Sunday, June 06, 1999 1:15 AM
> Subject: Jforum: J403a missing system\examples\winapi\winapi.ijs
>
> > I tried to run Lab: DLL: Using System DLLs (file examples) from
> J403a.
> >
> > It failed on:
> >
> > require 'system\examples\winapi\winapi.ijs'
> >
> > because system\examples\winapi\ did not exist. Can I copy it from
> the J402 directory?
> >
>
> --------------------------------------------------------------------------
------
> J Forum: for information about this list, see
http://www.jsoftware.com/forum.htm

--
Murray Eisenberg                     murray@math.umass.edu
Mathematics & Statistics Dept.       phone 413 549-1020 (H)
Univ. of Massachusetts                     413 545-2859 (W)
Amherst, MA 01003-4515

----------------------------------------------------------------------------
----
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 Jun  7 17:13:28 1999
From: mellemf@nimo.com
X-Lotus-FromDomain: NMPC
Date: Mon, 7 Jun 1999 16:15:05 -0400
Subject: Jforum: Evaluating J4.03 ; with Bold ISIJ font the box chars are garbled
Content-type: text/plain; charset=us-ascii
Content-Disposition: inline

 horizontal box characters become A below 2 dots.  vertical become superscript
      (little) threes.

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

From owner-jsoftware@lists.interlog.com  Mon Jun  7 22:52:23 1999
From: "Chris Burke" <cdburke@interlog.com>
References: <85256789.00731DA3.00@mail.nimo.com>
Subject: Re: Jforum: Evaluating J4.03 ; with Bold ISIJ font the box chars are garbled
Date: Mon, 7 Jun 1999 22:43:08 -0400
	charset="iso-8859-1"

Select OEM, which should give you the proper linedraw characters.

----- Original Message -----
From: <mellemf@nimo.com>
Sent: Monday, June 07, 1999 4:15 PM
Subject: Jforum: Evaluating J4.03 ; with Bold ISIJ font the box chars
are garbled

> horizontal box characters become A below 2 dots.  vertical become
superscript
>       (little) threes.
>
>
>
>
> --------------------------------------------------------------------
------------
> 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 Jun  8 04:53:08 1999
From: Baker Stuart <stuart.baker@hyder.com>
Subject: Jforum: fit-specified fill
Date: Tue, 8 Jun 1999 09:24:15 -0000

I'd like to be able to do the following:

   >!._ vnv    NB. just open a [vnv] with fill specified to be infinity.

but this doesn't seem to work: the way I'm currently doing it is:

   > ( >./;#  &.>  vnv)  {.!._  &.>  vnv

this does not look very nice for what should be quite simple - is it the
best that can be done?

  Stuart Baker

  HCS Testing Support Team
  5th Floor Trafalgar House
  x 43205

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

From owner-jsoftware@lists.interlog.com  Tue Jun  8 07:01:40 1999
From: "Seymour Glass" <glasss@mindspring.com>
Subject: RE: Jforum: fit-specified fill
Date: Tue, 8 Jun 1999 06:46:21 -0400
	charset="iso-8859-1"
Importance: Normal
In-Reply-To: <0488C2686254D111A5C70000F847E8C5030DB33B@LUSIS_EXCH_1>

If a 'vnv' is nonnull, and the opened items are
of rank 1, you could use

  (,!._&:>/) @: (,&(<i. 0 0)) vnv

but I don't know that this is any better than
your version (it looks slower than the original,
but I haven't checked).

Would be nice to have

  ;!._ @: (,&(<i. 0 0)) vnv

but ; does not support !. .

The original can be rewritten with a little less boxing as

fillvnv =. ({.!._ >)"0~    >./ @: (#S:0)

which can at least be buried in a library somewhere.

Henry Rich

> -----Original Message-----
> From: owner-jsoftware@lists.interlog.com
> [mailto:owner-jsoftware@lists.interlog.com]On Behalf Of Baker Stuart
> Sent: Tuesday, June 08, 1999 05:24
> To: 'forum@jsoftware.com'
> Subject: Jforum: fit-specified fill
>
>
> I'd like to be able to do the following:
>
>    >!._ vnv    NB. just open a [vnv] with fill specified to be infinity.
>
> but this doesn't seem to work: the way I'm currently doing it is:
>
>    > ( >./;#  &.>  vnv)  {.!._  &.>  vnv
>
> this does not look very nice for what should be quite simple - is it the
> best that can be done?
>
>   Stuart Baker
>
>   HCS Testing Support Team
>   5th Floor Trafalgar House
>   x 43205
>
> ------------------------------------------------------------------
> --------------
> 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 Jun  8 07:58:50 1999
From: M.Day@fscii.maff.gov.uk
               Tue, 8 Jun 1999 12:23:18 +0100
               Tue, 8 Jun 1999 12:20:01 +0100
               Tue, 8 Jun 1999 12:18:02 +0100
Date: Tue, 8 Jun 1999 12:18:02 +0100
Content-Identifier: m1210608121744aa
Alternate-Recipient: Allowed
In-Reply-To: <0488C2686254D111A5C70000F847E8C5030DB33B@LUSIS_EXCH_1>
Subject: Re: Jforum: fit-specified fill

Stuart

If you always need to fill with infinity,
then
   % > % each vnv  NB. or
   % > % &. > vnv
looks quite neat in explicit form.

However,  its tacit form is pretty awful:
   ([: % [: > [: %&.> ]) vnv    NB. !!!

I suppose these forms might save you
storage/time for large or frequent
operations,  if that's important.

Mike Day
8 vi 99

Stuart Baker wrote:
>I'd like to be able to do the following:
>
>   >!._ vnv    NB. just open a [vnv] with fill specified to be infinity.
>
>but this doesn't seem to work: the way I'm currently doing it is:
>
>   > ( >./;#  &.>  vnv)  {.!._  &.>  vnv
>
>this does not look very nice for what should be quite simple - is it the
>best that can be done?
>
>  Stuart Baker
>
>  HCS Testing Support Team
>  5th Floor Trafalgar House
>  x 43205
>

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

From owner-jsoftware@lists.interlog.com  Tue Jun  8 09:33:37 1999
From: Baker Stuart <stuart.baker@hyder.com>
Subject: RE: Jforum: fit-specified fill
Date: Tue, 8 Jun 1999 14:14:51 -0000

Thank you both for your suggestions - I particularly like "%>% each" as I
can remember it for more than 2 minutes (so far). I needed to do various
table look-ups involving index-sets (ie non-negative variable length numeric
vectors) and wanted to try out working with filled level-zero arrays as well
as vnv's, to see which worked best for my particular data... I'll now go
away and experiment a bit.

> ----------
> From: 	M.Day@fscii.maff.gov.uk[SMTP:M.Day@fscii.maff.gov.uk]
> Reply To: 	forum@jsoftware.com
> Sent: 	08 June 1999 11:18
> To: 	forum@jsoftware.com; stuart.baker@hyder.com
> Subject: 	Re: Jforum: fit-specified fill
>
> From: 	Seymour Glass[SMTP:glasss@mindspring.com]
> Reply To: 	forum@jsoftware.com
> Sent: 	08 June 1999 10:46
> To: 	forum@jsoftware.com
> Subject: 	RE: Jforum: fit-specified fill
>

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

From owner-jsoftware@lists.interlog.com  Tue Jun  8 23:22:49 1999
Date: Tue, 08 Jun 1999 23:13:11 -0400
From: Kirk B Iverson <kbi@interlog.com>
Subject: Re: Jforum: HTML publish is not working in J403a
In-Reply-To: <4.1.19990602125137.00bcd100@pop.kolumbus.fi>
References: <c=FR%a=_%p=DynaSys_-_Schilt%l=DYNASYS01-990602065241Z-9@ma il.dynasys.tm.fr>

At 13:04 1999-06-02 +0300, Anssi Seppala wrote:

>I just loaded J403a and tried to make html  publish  but it does not work!

 The HTML publisher uses an Internet Explorer OCX control in order to
render the generated HTML.  In some environments the name of the control
I try to use is wrong.  I'll prepare a permanent fix for this.

 In the meantime, if you encounter this problem try making the following
change in system\extras\config\pubprefs.ijs:

	OCX=: 'Shell.Explorer.1'
	OLEMETHOD=: 'base navigate'

Anssi: Please let me know if this works for you.

/K

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

From owner-jsoftware@lists.interlog.com  Wed Jun  9 02:19:45 1999
Date: Wed, 09 Jun 1999 08:05:44 +0300
From: Anssi  Seppala <anssi.seppala@enease.fi>
Subject: Re: Jforum: HTML publish is not working in J403a
In-Reply-To: <3.0.5.32.19990608231311.008fa7d0@mail.interlog.com>
References: <4.1.19990602125137.00bcd100@pop.kolumbus.fi>
 <c=FR%a=_%p=DynaSys_-_Schilt%l=DYNASYS01-990602065241Z-9@ma il.dynasys.tm.fr>

Yes, HTML publish works now with these settings!

Thanks,
 Anssi

At 23:13 8.6.1999 -0400, you wrote:
>At 13:04 1999-06-02 +0300, Anssi Seppala wrote:
>
>>I just loaded J403a and tried to make html  publish  but it does not work!
>
>
> The HTML publisher uses an Internet Explorer OCX control in order to
>render the generated HTML.  In some environments the name of the control
>I try to use is wrong.  I'll prepare a permanent fix for this.
>
> In the meantime, if you encounter this problem try making the following
>change in system\extras\config\pubprefs.ijs:
>
>	OCX=: 'Shell.Explorer.1'
>	OLEMETHOD=: 'base navigate'
>
>Anssi: Please let me know if this works for you.
>
>/K
>
>
>----------------------------------------------------------------------------
>----
>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 Jun  9 08:55:12 1999
Date: Wed, 09 Jun 1999 08:43:33 -0400
From: Cliff Reiter <reiterc@lafvax.lafayette.edu>
Subject: Re: Jforum: HTML publish is not working in J403a
Organization: Lafayette College
Content-type: text/plain; charset=us-ascii
References: <3.0.5.32.19990608231311.008fa7d0@mail.interlog.com>

>  The HTML publisher uses an Internet Explorer OCX control in order to
> render the generated HTML.  In some environments the name of the control
> I try to use is wrong.  I'll prepare a permanent fix for this.
>
>  In the meantime, if you encounter this problem try making the following
> change in system\extras\config\pubprefs.ijs:
>
>         OCX=: 'Shell.Explorer.1'
>         OLEMETHOD=: 'base navigate'
>
> Anssi: Please let me know if this works for you.
>

It works for me. Nice way to publish scripts.

Cliff

--
Clifford A. Reiter
Mathematics Department, Lafayette College
Easton, PA 18042 USA,   610-330-5277
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  Wed Jun  9 10:11:57 1999
From: "Chris Burke" <cdburke@interlog.com>
References: <375a62385840001@blik.skima.is>
Subject: Re: Jforum: J403
Date: Wed, 9 Jun 1999 09:59:29 -0400
	charset="iso-8859-1"

You can use http://www.deja.com/home_ps.shtml to see newsgroup
history. A quick check of J403 on c.l.a. reveals two items, both
announcements of J403.

06/09/99 J Colour, Debug and FTP  comp.lang.apl  Bjorn Helgason
05/31/99 J403  comp.lang.apl  Chris Burke

----- Original Message -----
From: <gosi@centrum.is>
Sent: Sunday, June 06, 1999 7:57 AM
Subject: Re: Jforum: J403

> I have not noticed the new release J403 announced
> in c.l.a.

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

From owner-jsoftware@lists.interlog.com  Wed Jun  9 16:06:22 1999
Date: Tue, 8 Jun 1999 21:58:55 +0200 (CEST)
From: Martin Neitzel <neitzel@is.gaertner.de>
Subject: Re: Jforum: fit-specified fill

Baker Stuart <stuart.baker@hyder.com>:
>
> I'd like to be able to do the following:
>    >!._ vnv    NB. just open a [vnv] with fill specified to be infinity.
> but this doesn't seem to work.

Yes, and it really cannot work.  An explanation for it can be found
in my APL95 paper "Untying the Gordian Knot".  I'm appending the
relevant part at the end.

As luck would have it, Roger's "Uniform Rank" paper is right next
to it in the proceedings.  It gives all the J code necessary to
model "rank" on your own -- so if you want to solve "the fitted
fill" problem in a general way, you have a good head start to
actually implement some of the thoughts below.

								Martin

       Controlled Recombinations

       The section on Dictionary APL contained the example

               > (1 ; 2 3 ; 4 5 6)
            1 0 0
            2 3 0
            4 5 6

       In  certain circumstances it might be useful to pad the vec-
       tors with other values than 0.  One  might  think  that  the
       __fit__  conjunction  __!.__  could be used to customize the
       fill elements for __open__, just as it can be done for over-
       takes:

               >!.9 (1 ; 2 3 ; 4 5 6)
            1 9 9
            2 3 9
            4 5 6

       This  might seem attractive at first but is not a viable way
       to go.  As already explained, the zeroes slip in during step
       3, the recombination of the partial results.  During step 2,
       the __open__ of an individual cell has no  way  to  ``know''
       what the common result shape will be.  So it is not possible
       to get flexible padding by making __open__ smarter.

       The general solution would be to  attach  the  control  over
       fillings not to individual verbs, but to the shape assimila-
       tion process in step 3.

       What I would consider to be a step in the right direction is
       having  a  conjunction at the level of the rank __"__.  Just
       like __"__ gives control over argument dissection  and  cell
       pairings  prior  to verb evaluation, it could allow for con-
       trol of the fill value for  shape  assimilation  during  the
       reassembly  of the intermediate results.  Without compromis-
       ing existing behavior, the rank conjunction could  accept  a
       boxed  pair  containing  rank  and fill specifications.  For
       example:

               > "(0; 9) 1 ; 2 3 ; 4 5 6
            1 9 9
            2 3 9
            4 5 6

       Details like the order of that boxed pair and the defaulting
       of  specifications are an issue left to the language lawyers
       and designers.  The important point is that it should really
       be __rank__ itself that should be extended.  A separate, new
       __fill conjunction__ defined to control step 3 could not  do
       the job in concert with __rank__: applying both conjunctions
       to a verb would result in nested verbs so that steps 1 and 3
       would  lie on different levels.  No matter what the order of
       the nesting were, there would never be anything to fill.

       Why should one be content with mere fill __values__?  A pro-
       grammer  could  provide  a  fill __function__ that should be
       triggered in the context of II.B's shape assimilation.   The
       function  would  be called with the short partial result and
       the requested shape.  A programmer could designed it to have
       any desired effect, as long as results of a common shape are
       generated.  Common choices are:

              padding with a constant
              padding by repeating the last item
              replicating the entire value
              padding on the right instead of the left

       Notice that, while these  fill  functions  are  easily  pro-
       grammed  per  se,  the context-dependent target shape is not
       known a priori.  For this reason, it cannot be  done  within
       the  current  language.   (The overtake is an example of the
       case where the programmer  explicitly  requests  the  target
       shape.)

       A  fill function could be specified in two ways: as a gerund
       in place of the fill value in the  rank  extension  proposed
       above,  or as an intrinsic characteristic of a verb, associ-
       ated with a verb just like __obverses__ and __identity func-
       tions__.

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

From owner-jsoftware@lists.interlog.com  Wed Jun  9 16:38:31 1999
From: Andrew Nikitin <anikitin@fastenal.com>
Subject: Jforum: fit
Date: Wed, 9 Jun 1999 15:28:31 -0500

Is there a way to use fit conjunction with user defined verbs?

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

From owner-jsoftware@lists.interlog.com  Wed Jun  9 17:12:02 1999
From: "Roger Hui" <RHui@interlog.com>
References: <ED32805AF20ED21186AE00805FA615340131CC7E@NUT>
Subject: Re: Jforum: fit
Date: Wed, 9 Jun 1999 14:00:56 -0400
	charset="iso-8859-1"

> Is there a way to use fit conjunction with user defined verbs?

No there is not.  Another name for the conjunction is "ad hoc",
which describes it pretty well.

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

From owner-jsoftware@lists.interlog.com  Wed Jun  9 20:12:02 1999
From: "Seymour Glass" <glasss@mindspring.com>
Subject: RE: Jforum: Re: Boxed Arrays
Date: Wed, 9 Jun 1999 19:54:59 -0400
	charset="iso-8859-1"
In-Reply-To: <008001bea6fe$a7d4d5c0$fbb1ba89@f3nbp>
Importance: Normal

The topic was why ; is not the same as ,&< , and Roger said:
> ...
> I should point out that in J ; is a verb that is syntactically like
> any other.  In particular, in a phrase such as  x;y;z;a;b;c;d
> the instances of ; can not look forward or look back;
> each instance of ; is given only its left and right arguments.
>
> This is not the case with the ; in APL.

I had always wondered why so many J users were put out by the
asymmetry of ; .  This must be the reason.

They could be soothed a bit by an expansion of the definition
of =. and =: .  J could define that, for boxed x, the statements
x =. y  and  x =: y  'match up' the boxing levels of x and y,
recursively if necessary.

I can give an example of the idea for =:, but not for =., as follows:

link =: ,&<

NB. 'globassign' replaces =:, with hierarchical x and y
globassign =: 4 : 0
if. 32 = 3!:0 x. do.
  x. 0:@globassign&> y.
else.
  (x.) =: y.
end.
y.
)

   ('a' link 'b' link 'c')  NB. Note the boxing is not the same as with ;
+-+-----+
|a|+-+-+|
| ||b|c||
| |+-+-+|
+-+-----+
   ('a' link 'b' link 'c') globassign 1 link 2 link (<3)
   a
1
   b
2
   c
+-+
|3|
+-+

  The assignments work regardless of the boxed status of the
last linked item.

I personally would keep using ;, I think, but such a definition
of =. would help something I do a lot: Often my variables are
collections of stuff so the collection can travel as a unit, but
when I get to a verb I need to open the collection so I
can use the components.  When several such collections are passed
in to a verb, the verb starts out like:

verb =: 3 : 0
'c1 c2 c3' =. y.
'v11 v12' =. c1
'v21 v22 v23' =. c2
'v31 v32' =. c3
etc.

and it can get worse if the collections have multiple boxing levels.

I am proposing that I be able to write

('v11 v12';'v21 v22 v23';'v31 v32') =. y.

and have the whole hierarchy flattened at one go.

Henry Rich

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

From owner-jsoftware@lists.interlog.com  Wed Jun  9 21:48:15 1999
Date: Wed, 09 Jun 1999 21:35:42 -0400
From: "Kenneth E. Iverson" <kei@interlog.com>
Organization: Iverson Software Inc.
Subject: Re: Jforum: Re: Boxed Arrays
References: <000f01beb2d3$7bb42640$d79bf7a5@seymourg>

Would c=:,&(<^:(L.=0:)) do what you want?

Seymour Glass wrote:
>
> The topic was why ; is not the same as ,&< , and Roger said:
> > ...
> > I should point out that in J ; is a verb that is syntactically like
> > any other.  In particular, in a phrase such as  x;y;z;a;b;c;d
> > the instances of ; can not look forward or look back;
> > each instance of ; is given only its left and right arguments.
> >
> > This is not the case with the ; in APL.
>
> I had always wondered why so many J users were put out by the
> asymmetry of ; .  This must be the reason.
>
> They could be soothed a bit by an expansion of the definition
> of =. and =: .  J could define that, for boxed x, the statements
> x =. y  and  x =: y  'match up' the boxing levels of x and y,
> recursively if necessary.
>
> I can give an example of the idea for =:, but not for =., as follows:
>
> link =: ,&<
>
> NB. 'globassign' replaces =:, with hierarchical x and y
> globassign =: 4 : 0
> if. 32 = 3!:0 x. do.
>   x. 0:@globassign&> y.
> else.
>   (x.) =: y.
> end.
> y.
> )
>
>    ('a' link 'b' link 'c')  NB. Note the boxing is not the same as with ;
> +-+-----+
> |a|+-+-+|
> | ||b|c||
> | |+-+-+|
> +-+-----+
>    ('a' link 'b' link 'c') globassign 1 link 2 link (<3)
>    a
> 1
>    b
> 2
>    c
> +-+
> |3|
> +-+
>
>   The assignments work regardless of the boxed status of the
> last linked item.
>
> I personally would keep using ;, I think, but such a definition
> of =. would help something I do a lot: Often my variables are
> collections of stuff so the collection can travel as a unit, but
> when I get to a verb I need to open the collection so I
> can use the components.  When several such collections are passed
> in to a verb, the verb starts out like:
>
> verb =: 3 : 0
> 'c1 c2 c3' =. y.
> 'v11 v12' =. c1
> 'v21 v22 v23' =. c2
> 'v31 v32' =. c3
> etc.
>
> and it can get worse if the collections have multiple boxing levels.
>
> I am proposing that I be able to write
>
> ('v11 v12';'v21 v22 v23';'v31 v32') =. y.
>
> and have the whole hierarchy flattened at one go.
>
> 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  Wed Jun  9 23:49:37 1999
From: "Seymour Glass" <glasss@mindspring.com>
Subject: RE: Jforum: Re: Boxed Arrays
Date: Wed, 9 Jun 1999 23:37:47 -0400
	charset="iso-8859-1"
In-Reply-To: <375F166E.5D75@interlog.com>
Importance: Normal

Let me say first that what I really want is the recursive
assignment, for the reasons given in the second half of my
post.

Here you are asking, is c=:,&(<^:(L.=0:)) a suitable
substitute for ; or ,&< ?

I say, no.  We want to be able to join dissimilar items
and then to unbox the atoms and reconstitute the
original values.  But 5 c 6  is the same as (<5) c (<6),
so the boxed/unboxed character of the operands
will be lost in the conversion.  Since boxing is
important, c is not suitable for a general linking verb.

It is really the same problem that afflicts the right-hand
argument to ; , except that with c the problem applies
to both arguments.

Henry Rich

KEI wrote:
>
> Would c=:,&(<^:(L.=0:)) do what you want?
>
> Seymour Glass wrote:
> >
> > The topic was why ; is not the same as ,&< , and Roger said:
> > > ...
> > > I should point out that in J ; is a verb that is syntactically like
> > > any other.  In particular, in a phrase such as  x;y;z;a;b;c;d
> > > the instances of ; can not look forward or look back;
> > > each instance of ; is given only its left and right arguments.
> > >
> > > This is not the case with the ; in APL.
> >
> > I had always wondered why so many J users were put out by the
> > asymmetry of ; .  This must be the reason.
> >
> > They could be soothed a bit by an expansion of the definition
> > of =. and =: .  J could define that, for boxed x, the statements
> > x =. y  and  x =: y  'match up' the boxing levels of x and y,
> > recursively if necessary.
> >
> > I can give an example of the idea for =:, but not for =., as follows:
> >
> > link =: ,&<
> >
> > NB. 'globassign' replaces =:, with hierarchical x and y
> > globassign =: 4 : 0
> > if. 32 = 3!:0 x. do.
> >   x. 0:@globassign&> y.
> > else.
> >   (x.) =: y.
> > end.
> > y.
> > )
> >
> >    ('a' link 'b' link 'c')  NB. Note the boxing is not the same
> as with ;
> > +-+-----+
> > |a|+-+-+|
> > | ||b|c||
> > | |+-+-+|
> > +-+-----+
> >    ('a' link 'b' link 'c') globassign 1 link 2 link (<3)
> >    a
> > 1
> >    b
> > 2
> >    c
> > +-+
> > |3|
> > +-+
> >
> >   The assignments work regardless of the boxed status of the
> > last linked item.
> >
> > I personally would keep using ;, I think, but such a definition
> > of =. would help something I do a lot: Often my variables are
> > collections of stuff so the collection can travel as a unit, but
> > when I get to a verb I need to open the collection so I
> > can use the components.  When several such collections are passed
> > in to a verb, the verb starts out like:
> >
> > verb =: 3 : 0
> > 'c1 c2 c3' =. y.
> > 'v11 v12' =. c1
> > 'v21 v22 v23' =. c2
> > 'v31 v32' =. c3
> > etc.
> >
> > and it can get worse if the collections have multiple boxing levels.
> >
> > I am proposing that I be able to write
> >
> > ('v11 v12';'v21 v22 v23';'v31 v32') =. y.
> >
> > and have the whole hierarchy flattened at one go.
> >
> > 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  Fri Jun 11 07:38:14 1999
From: "Chris Burke" <cdburke@interlog.com>
Subject: Jforum: Math for the Layman
Date: Fri, 11 Jun 1999 07:24:51 -0400
	charset="Windows-1252"

"Math for the Layman" by Ken Iverson is now available at
www.jsoftware.com/resource/papers.htm. From the Preface:

In 1936, Lancelot Hogben published his still-popular Mathematics for
the Million, stating his objective as follows:

"The view which we shall explore is that mathematics is the language
of size, shape and order and that it is an essential part of the
equipment of an intelligent citizen to understand this language. If
the rules of mathematics are the rules of grammar, there is no
stupidity involved when we fail to see that a mathematical truth is
obvious. The rules of ordinary grammar are not obvious. They have to
be learned. They are not eternal truths. They are conveniences
without whose aid truths about the sorts of things in the world
cannot be communicated from one person to another. "

Our objective is similar, but we now have new tools: the development
of computer programming has provided languages with grammars that
are simpler and more tractable than that of conventional
mathematical notation. Moreover, the general availability of the
computer makes possible convenient and accurate experimentation with
mathematical ideas.

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

From owner-jsoftware@lists.interlog.com  Fri Jun 11 12:47:44 1999
From: "Oleg Kobchenko" <gccinc@usa.net>
Subject: Jforum: Numerical solution of ODE systems
Date: Fri, 11 Jun 1999 19:29:40 +0300
	charset="Windows-1252"

I want to try using J for numerical
solution of ODE systems. In particular,
the concern is about non-linear autonomous
systems with (constant, lagging) deviating
argument.

I wonder, if there is any existing (accessible)
code already in J or in a form that may be
easily ported.

My current best ball park is Runge-Kutta (etc.)
implementations from Matlab, which are open.

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

From owner-jsoftware@lists.interlog.com  Fri Jun 11 16:47:07 1999
Date: Fri, 11 Jun 1999 13:13:04 -0400 (EDT)
From: "J. Patrick Harrington" <jph@astro.umd.edu>
Subject: Jforum: Re: Numerical solution of ODE systems

   I sometimes want to integrate an ODE, so I
transcribed some routines from "Numerical Recipes"
into J. They have the form of adverbs which work
on a verb which provides the derivatives. Here,
without comment:

---------------------------------------------------------

NB. Example of simple differential equation.
NB. f=. [: - */  NB. dy/dx = - x*y
NB. Calling params: (x0,y0;x_end;err,htry,hmin)
arg=. ((0 10);1;(1e_8,0.05,1e_8))
kmax=: 100 NB. max number of saved intermediate values
dxsav=: 0.05  NB. minimum save interval
NB. Usage: f odeint arg -> x_end, y(x_end)

odeint=. 1 : 0
x=. x1=. 0{ xy=. xy0=. >0{y.
x2=. >1{y.
param=. >2{y.
eps=. 0{ param
h1=. 1{ param
hmin=. 2{ param
tiny=. 1e_30
maxstp=. 10000
h=. h1 F_sign x2-x1
nok=: nbad=: kount=: 0
xyp=: xy0
if. kmax > 0 do. xsav=. x - 2*dxsav end.
nstp=. 0
while. (nstp=. >:nstp)<: maxstp do.
 dydx=. u. xy
 yscal=. (|}. xy)+(|h*dydx)+tiny
 if. kmax > 0 do.
  if. (|x-xsav)>|dxsav do.
   if. kount<(kmax-1) do.
    kount=. >: kount
    xyp=: xyp,xy
    xsav=x
   end.
  end.
 end.
 if. ((x+h-x2)*(x+h-x1))>0 do. h=. x2-x end.
 out=. u. rkqs (xy;dydx;h;eps;yscal)
 x=. 0{ xy=. >0{ out
 hdid=. >1{ out
 hnext=. >2{ out
 if. hdid = h do. nok=: >: nok else. nbad=: >: nbad end.
 if. ((x-x2)*(x2-x1))>: 0 do.
  if. kmax ~: 0 do.
   kount=: >: kount
   xyp=: xyp,xy
  end.
  xy0=. xy
  return.
 end.
 if. (|hnext)<hmin do.
  z=. 'Stepsize smaller than minimum in odeint.'
  return.
 end.
 h=. hnext
end.
z=. 'Too many steps in odeint.'
)

NB. Cash-Karp Runge-Kutta quality control step
NB. Numerical Recipes, 2nd ed., p 713.
rkqs=. 1 : 0
safety=. 0.9
pgrow=. _0.2
pshrink=. _0.25
errcon=. 1.89e_4
xy=. >0{y.
dydx=. >1{y.
h=. >2{y.
eps=. >3{y.
yscal=. >4{y.
whilst. 1 do.
 out=. u. rkck (xy;dydx;h)
 yerr=. >1{out
 errmax=:(%eps)* >./ | yerr%yscal
  if. errmax > 1 do.
  htemp=. safety*h*(errmax^pshrink)
  h=.((|htemp)>. (0.1*|h)) F_sign h
  xnew=. (0{xy)+h
   if. xnew = (0{xy) do.
    r=.'Step too small!'
    return.
   end.
  continue.
  else.
   if. errmax > errcon do.
    hnext=. safety*h*(errmax^pgrow)
   else.
    hnext=. 5*h
   end.
   z=. ((>0{out);h;hnext)
  end.
  return.
end.
)

NB. Cash-Karp Runge-Kutta (5th order) adverb. Usage:
NB. f rkck (xy0;dydx0;h) ->(xy1[=x+h,y(x+h)];error)
rkck=. 1 : 0
xy0=. >0{y.
h=. >2{y.
k1=. h*>1{y.
k2=. h*u. xy0+(h,k1)%5
k3=. h*u. xy0+((0.3*h),((3*k1%40)+(9*k2%40)))
dy=. ((3*k1)+(_9*k2)+(12*k3))%10
k4=. h*u. xy0+((0.6*h),dy)
dy=. (_11*k1%54)+(5*k2%2)+(_70*k3%27)+(35*k4%27)
k5=. h*u. xy0+(h,dy)
dy=. (1631*k1%55296)+(175*k2%512)+(575*k3%13824)+(44275*k4%110592)+(253*k5%4096)
k6=. h*u. xy0+((0.875*h),dy)
dy=. (37*k1%378)+(250*k3%621)+(125*k4%594)+(512*k6%1771)
xy=. xy0+(h,dy)
dy4=. (2825*k1%27648)+(18575*k3%48384)+(13525*k4%55296)+(277*k5%14336)+(k6%4)
out=. xy;(dy-dy4)
)
NB. Model of FORTRAN "SIGN(A,B)" function:
F_sign=. ([: | [)* 1: -[: +: ]< 0:

--------------------------------------------------------------

NB. Example of simple differential equation.
NB. f=. [: - */  NB. dy/dx = - x*y
NB. Calling params: (x0,y0;x_end;err,htry,hmin)
arg=. ((0 10);1;(1e_8,0.05,1e_8))
kmax=: 100 NB. max number of saved intermediate values
dxsav=: 0.05  NB. minimum save interval
NB. Usage: f sdeint arg -> x_end, y(x_end)

sdeint=. 1 : 0
x=. x1=. 0{ xy=. xy0=. >0{y.
x2=. >1{y.
param=. >2{y.
eps=. 0{ param
h1=. 1{ param
hmin=. 2{ param
tiny=. 1e_30
maxstp=. 2000
h=. h1 F_sign x2-x1
nok=: nbad=: kount=: 0
xyp=: xy0
if. kmax > 0 do. xsav=. x - 2*dxsav end.
nstp=. 0
while. (nstp=. >:nstp)<: maxstp do.
 dydx=. u. xy
 yscal=. (|}. xy)+(|h*dydx)+tiny
 if. kmax > 0 do.
  if. (|x-xsav)>|dxsav do.
   if. kount<(kmax-1) do.
    kount=. >: kount
    xyp=: xyp,xy
    xsav=x
   end.
  end.
 end.
 if. ((x+h-x2)*(x+h-x1))>0 do. h=. x2-x end.
 out=. u. stiff (xy;dydx;h;eps;yscal)
 x=. 0{ xy=. >0{ out
 hdid=. >1{ out
 hnext=. >2{ out
 if. hdid = h do. nok=: >: nok else. nbad=: >: nbad end.
 if. ((x-x2)*(x2-x1))>: 0 do.
  if. kmax ~: 0 do.
   kount=: >: kount
   xyp=: xyp,xy
  end.
  xy0=. xy
  return.
 end.
 if. (|hnext)<hmin do.
  z=. 'Stepsize smaller than minimum in odeint.'
  return.
 end.
 h=. hnext
end.
z=. 'Too many steps in odeint.'
)

NB. Rosenbrock method for stiff equations.
NB. Numerical Recipes, 2nd ed., p 732.
stiff=. 1 : 0
safety=. 0.9
grow=. 1.5
pgrow=. %_4
shrnk=. 0.5
pshrnk=. %_3
errcon=. 0.1296
maxtry=. 40
x=. 0{ xysav=. xy=. >0{y.
n=. # dysav=. dydx=. >1{y.
h=. >2{y.
eps=. >3{y.
yscal=. >4{y.
jout=. jacobn xysav
dfdx=. >0{ jout
dfdy=. >1{ jout
jtry=. 0
while. (jtry=. >: jtry) <: maxtry do.
 ai=. %. ((2%h)* = i. n) - dfdy  NB. inverse of matrix
 g1=. ai +/ .* dysav + h*dfdx%2
 xy=. xysav + (h,(2*g1))
 dydx=. u. xy
 g2=. ai +/ .* dydx + (h*_1.5*dfdx) + _8*g1%h
 xy=. xysav + ((0.6*h),((48*g1%25)+(6*g2%25)))
 dydx=. u. xy
 g3=. dydx + (h*121*dfdx%50) + ((372*g1%25)+(12*g2%5))%h
 g3=. ai +/ .* g3
 g4=. dydx+(h*29*dfdx%250)+((_112*g1%125)+(_54*g2%125)+(_2*g3%5))%h
 g4=. ai +/ .* g4
 xy=. xysav +(h,((19*g1%9)+(g2%2)+(25*g3%108)+(125*g4%108)))
 err=. (17*g1%54)+(7*g2%36)+(125*g4%108)
 if. (0{xy) = (0{xysav) do.
   r=.'Step too small!'
   return.
 end.
 errmax=.(%eps)* >./ | err%yscal
 if. errmax <: 1 do.
  if. errmax > errcon do.
   hnext=. safety*h*(errmax^pgrow)
  else.
   hnext=. grow*h
  end.
  z=. (xy;h;hnext)
  return.
 else.
  hnext=. safety*h*(errmax^pshrnk)
  h=.((|hnext)>. (shrnk*|h)) F_sign h
 end.
end.
z=. 'Exceeded MAXTRY in stiff.'
)

NB. Model of FORTRAN "SIGN(A,B)" function:
F_sign=. ([: | [)* 1: -[: +: ]< 0:

NB.  A simple stiff system:

A=. 2 2 $ 998 1998 _999 _1999
L=. [ +/ .* }.@]
f =. A&L

jacobn=. 3 : 0
xy=. y.          NB. not used - const. coeff.
dfdx=. 2 # 0
dfdy=. 2 2 $ 998 1998 _999 _1999
z=. (dfdx;dfdy)
)

-----------------------------------------------------
NB. G is the set of stiff ODE's
G=. 3 : 0
y1=. 1{y.
y2=. 2{y.
y3=. 3{y.
dy1=. (_0.013*y1)+(_1000*y1*y3)
dy2=. _2500*y2*y3
dy3=. (_0.013*y1)+(_1000*y1*y3)+(_2500*y2*y3)
z=. dy1,dy2,dy3
)

jacobn=. 3 : 0
dfdx=. 3 # 0
y1=. 1{y.
y2=. 2{y.
y3=. 3{y.
dfdy=. 3 3 $ 0
dfdy=. ((_0.013-1000*y3),0,(_1000*y1)) 0}dfdy
dfdy=. (0,(_2500*y3),(_2500*y2)) 1}dfdy
a1=. _0.013-1000*y3
a2=. _2500*y3
a3=. (_1000*y1)+(_2500*y2)
dfdy=. (a1,a2,a3) 2}dfdy
z=. (dfdx;dfdy)
)

G sdeint ((0 1 1 0);5;(1e_4 2.9e_4 1e_10))
nok
nbad

G odeint ((0 1 1 0);5;(1e_4 2.9e_4 1e_10))
nok
nbad

-----------------------------------------------------------
			     Cheers,
			     Patrick Harrington

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

From owner-jsoftware@lists.interlog.com  Fri Jun 11 16:56:43 1999
Date: Fri, 11 Jun 1999 16:54:16 -0400
From: David Ness <DNess@home.com>
Subject: Re: Jforum: Math for the Layman
References: <000901beb3fd$441e8060$3c0114d1@Pcdburke>

Sneaking in the http:// makes all the difference for easing our
access to http://www.jsoftware.com/resource/papers.htm

And, of course, many thanks for making it available.

Chris Burke wrote:
>
> "Math for the Layman" by Ken Iverson is now available at
> www.jsoftware.com/resource/papers.htm. From the Preface:
>

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

From owner-jsoftware@lists.interlog.com  Sat Jun 12 13:46:12 1999
From: "David Vincent-Jones" <geomap@galaxynet.com>
Subject: Jforum: Fonts Again
Date: Sat, 12 Jun 1999 10:28:17 -0700

When printing out Resource Papers the problem arises again of finding a font
that will show the line draw chars correctly.
Andale Mono (OEM) works well in J but is unhelpful for instance in Word.
How do we solve that problem?

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

From owner-jsoftware@lists.interlog.com  Mon Jun 14 06:45:18 1999
From: <paul_gauthier@dynasys.tm.fr>
Subject: RE: Jforum: Numerical solution of ODE systems
Date: Mon, 14 Jun 1999 12:41:42 +0200
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by plus.interlog.com id GAA05694

I don't know if your french is fair, but since most of the litterature
is math anyway, here is an interesting link with lot's of source code in
C.

http://www.univ-lille1.fr/~eudil/jbeuneu/equadif/integr.html

>-----Message d'origine-----
>De:	Oleg Kobchenko [SMTP:gccinc@usa.net]
>Date:	vendredi 11 juin 1999 18:30
>�:	forum@jsoftware.com
>Objet:	Jforum: Numerical solution of ODE systems
>

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

From owner-jsoftware@lists.interlog.com  Mon Jun 14 09:21:20 1999
From: mellemf@nimo.com
X-Lotus-FromDomain: NMPC
Date: Mon, 14 Jun 1999 09:14:21 -0400
Subject: Jforum: How many releases of J where made last year?
Content-type: text/plain; charset=us-ascii
Content-Disposition: inline

I believe ther were 2, not counting J403.    I am pondering the advantages/cost
of the Professional edition vs the
Standard edition, as I pitch buying the J403 level.    Any help in salesmanship
wordsmithing would be appreciated.
Thanks.

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

From owner-jsoftware@lists.interlog.com  Mon Jun 14 10:53:21 1999
From: Ajith Prasad <burap@nus.edu.sg>
Subject: Jforum: Memory Mapped Files i n J - Article by Chris Burke in Vector Vol.
	15 No.487
Date: Mon, 14 Jun 1999 22:48:39 +0800

Will a copy of this article be available at the J website or is this
prevented by copyright considerations?

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

From owner-jsoftware@lists.interlog.com  Mon Jun 14 13:18:19 1999
Date: 13 Jun 99 09:00:53 -0800
Subject: Jforum: Passing a verb to a verb
From: "Piet de Jong" <piet@dejong.u-net.com>

What is a clean solution to the problem below ?

I suspect there must be an easy solution.  Any help gratefully rec'd.

-------

I have a verb u say that repeatedly makes call to another verb, v say.

The verb v is not known at the time u is defined.  Not even a list of
potential candidates.

I don't want to redefine u everytime I have a new v.

So I need to pass v at "runtime" that is pass v as  an argument to u.

At the moment I pass the script m of v as a noun to u and then have
u "compile it" with the (3 : m)  explicit definition conjunction.

But is there a cleaner way?  In particular what do I do for tacit v?

Thanks for the help.

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

From owner-jsoftware@lists.interlog.com  Mon Jun 14 13:36:17 1999
From: "Seymour Glass" <glasss@mindspring.com>
Subject: RE: Jforum: Passing a verb to a verb
Date: Mon, 14 Jun 1999 13:33:11 -0400
	charset="iso-8859-1"
Importance: Normal
In-Reply-To: <B38927BE-60BC4@204.244.233.45>

Some ideas:

1.  Make u an adverb.  Then, once the verb v is defined, you can
 invoke them both using

   v u

where, within u, you use the system symbol u. to invoke the verb
  v .

2.  Pass the name of v (string) as an argument to u, and then invoke it
   using

   ((,<argument) `: 6)

which is syntactically a verb (what you are doing is converting the
string to a gerund by hand, and then evoking it.)

3.  Pass the name of v as an argument to u, and then use ". to
execute the verb.  The problem with this is that the arguments must
also be part of the execute string, so you will have to use 5!:5
to convert the arguments to ASCII.  That's why I use `:6 for this sort
of thing.

4.  What you are doing works too, and is reasonable.
You can invoke the verb using

   args_to_v (13 : argument) args_to_v

(i. e. you don't have to assign the result of : to a name), and it
works for explicit or tacit v.

Henry Rich

> -----Original Message-----
> From: owner-jsoftware@lists.interlog.com
> [mailto:owner-jsoftware@lists.interlog.com]On Behalf Of Piet de Jong
> Sent: Sunday, June 13, 1999 13:01
> To: forum@jsoftware.com
> Subject: Jforum: Passing a verb to a verb
>
>
> What is a clean solution to the problem below ?
>
> I suspect there must be an easy solution.  Any help gratefully rec'd.
>
> -------
>
> I have a verb u say that repeatedly makes call to another verb, v say.
>
> The verb v is not known at the time u is defined.  Not even a list of
> potential candidates.
>
> I don't want to redefine u everytime I have a new v.
>
> So I need to pass v at "runtime" that is pass v as  an argument to u.
>
> At the moment I pass the script m of v as a noun to u and then have
> u "compile it" with the (3 : m)  explicit definition conjunction.
>
> But is there a cleaner way?  In particular what do I do for tacit v?
>
> Thanks for the help.
>
>
>
>
> ------------------------------------------------------------------
> --------------
> 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 Jun 14 13:41:51 1999
From: Andrew Nikitin <anikitin@fastenal.com>
Subject: RE: Jforum: Passing a verb to a verb
Date: Mon, 14 Jun 1999 12:38:43 -0500

> -----Original Message-----
> From:	Piet de Jong [SMTP:piet@dejong.u-net.com]
> Sent:	Sunday, June 13, 1999 12:01
>
> At the moment I pass the script m of v as a noun to u and then have
> u "compile it" with the (3 : m)  explicit definition conjunction.
>
> But is there a cleaner way?  In particular what do I do for tacit v?
>
You can pass the name of the verb and apply it using ~ operator.
For example:

   m=.+/ % #
   m 1 10 5
5.33333
   'm'~ 1 10 5
5.33333

In any case, I would say that your u should be adverb or conjunction
rather then verb.

nsg

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

From owner-jsoftware@lists.interlog.com  Mon Jun 14 14:40:16 1999
From: "Chris Burke" <cdburke@interlog.com>
References: <A12A4ACD69B4D011BB960020AFFBF108029E9128@exs02.ex.nus.edu.sg>
Subject: Re: Jforum: Memory Mapped Files i n J
Date: Mon, 14 Jun 1999 14:37:37 -0400
	charset="iso-8859-1"

Done, see

http://www.jsoftware.com/pubs/mmf.htm

----- Original Message -----
From: Ajith Prasad <burap@nus.edu.sg>
Sent: Monday, June 14, 1999 10:48 AM
Subject: Jforum: Memory Mapped Files i n J - Article by Chris Burke in
Vector Vol.15 No.487

> Will a copy of this article be available at the J website or is this
> prevented by copyright considerations?
>
> --------------------------------------------------------------------
------------
> 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 Jun 14 18:27:16 1999
Date: Tue, 15 Jun 1999 00:13:36 +0200 (CEST)
From: Martin Neitzel <neitzel@is.gaertner.de>
In-Reply-To: <B38927BE-60BC4@204.244.233.45>
Organization: Gaertner Datensysteme, Braunschweig, Germany
Subject: Re: Jforum: Passing a verb to a verb

> So I need to pass v at "runtime" that is pass v as  an argument to u.

Congrats, you hit the core of "functional programming":  functions
passed as arguments.  The "u" will then actually have to be not a
verb but a "meta-verb".  (Greek "meta" means "with", BTW.)

As others have already pointed out, J's meta verbs are adverbs (taking
one function as argument) and conjunctions (two functions as arguments).

To get you started, here is an example using _explicit_ definition.
The placeholders u. v. m. n. in addition to x. y. are all it takes
to get rolling:

	twice =: adverb define
		u. u. y.
	:
		x. u. x. |. y.
	)

	   >: twice 5
	7

However, even as a beginner, one should be acutely aware of some
details which are easy to interpret incorrectly from this example:

(1) "twice" does NOT take two arguments.  As an adverb, only the thing
    to the left is its argument.

(2) The placeholders "u. u. y." in the definition are resolved at
    two different times.

That is, the implicit binding is:

	   (>: twice) 5
	7

And it is "twice"' job to derive a new verb from its >: argument
on-the-fly, as in:

	(>: twice) 5			NB. you type this
	tmp_verb =. verb define		NB. twice's result is a verb.
		>: >: y.		NB. substitute u. only!
	:
		x. >: x. :> |. y.
	)
	tmp_verb 5			NB. J executes the verb and
	7				NB. retracts it again.

	NB. other applications of twice:
	   quadruple =: +: twice
	   quadruple 100
	400
	   100 +twice 5 6
	206 205

The Dictionary entry for Explicit Definition ":" gives the gory
details about other placeholders than "u.".  It also tells the
entire truth about noun arguments which can make it a bit hard
for the beginner to spot adv/conjs quickly.  I skipped that
here to keep things as simple as possible.

My point is:  creating adverbs and conjunctions can be very easy
and straightforward, even if one avoids anything "tacit" like the
plague.

						Martin Neitzel

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

From owner-jsoftware@lists.interlog.com  Mon Jun 14 21:53:15 1999
Date: Tue, 15 Jun 1999 03:48:43 +0200
From: "d.alis" <dalis@balcab.ch>
Subject: Re: Jforum: Passing a verb to a verb
References: <B38927BE-60BC4@204.244.233.45>

Contribution 3:
And dont forget the even simpler way of relying on side-effects,  (i.e. globally
defined names)..

   foo =. 3 : 0
v y.
)
   v=.+/
   foo i.10
45
   v=.+/@: *:
   foo i.10
285

In other words, fix the verb in the environment in a level above the one in which it
will be  invoked. This can simplify things when you need to debug/trace during
initial developement. However, by introducing hidden dependencies it will make
debug/trace rather  more difficult later on.

David

Piet de Jong wrote:

> What is a clean solution to the problem below ?
>
> I suspect there must be an easy solution.  Any help gratefully rec'd.
>
> -------
>
> I have a verb u say that repeatedly makes call to another verb, v say.
>
> The verb v is not known at the time u is defined.  Not even a list of
> potential candidates.
>
> I don't want to redefine u everytime I have a new v.
>
> So I need to pass v at "runtime" that is pass v as  an argument to u.
>
> At the moment I pass the script m of v as a noun to u and then have
> u "compile it" with the (3 : m)  explicit definition conjunction.
>
> But is there a cleaner way?  In particular what do I do for tacit v?
>
> Thanks for the help.
>
> --------------------------------------------------------------------------------
> 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 Jun 15 03:25:48 1999
From: <paul_gauthier@dynasys.tm.fr>
Subject: RE: Jforum: Passing a verb to a verb
Date: Tue, 15 Jun 1999 09:17:38 +0200

By using the answers from Andrew Nikitin, Martin Neitzel and D. Alis, I
arrived to the following:

	twice =: adverb define
		u.~ u.~ y.
	:
		x. u. x. |. y.
	)
	v=: >:
	'v'twice 5
7

Thus using all three concepts...Have a nice day/Paul
>

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

From owner-jsoftware@lists.interlog.com  Tue Jun 15 10:05:53 1999
From: Andrew Nikitin <anikitin@fastenal.com>
Subject: RE: Jforum: Passing a verb to a verb
Date: Tue, 15 Jun 1999 09:02:12 -0500

> From:	paul_gauthier@dynasys.tm.fr [SMTP:paul_gauthier@dynasys.tm.fr]
> Sent:	Tuesday, June 15, 1999 02:18
> 	twice =: adverb define
> 		u.~ u.~ y.
> 	:
> 		x. u. x. |. y.
> 	)
> 	v=: >:
> 	'v'twice 5
> 7
>
> Thus using all three concepts...Have a nice day/Paul
>
I cannot see the third concept, i.e. passing parameter as a global
variable. You should use something like this to involve all three
concepts:

twice =: adverb define
	FN~ FN~ y.
:
	x. u. x. |. y.
)

v=: >:
FN=:'v'
? twice 5

or even

[: twice 5

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

From owner-jsoftware@lists.interlog.com  Tue Jun 15 11:12:18 1999
Date: Tue, 15 Jun 1999 11:07:31 -0400
From: Alain Miville de =?ISO-8859-1?Q?Ch=EAne?= <Infodev@compuserve.com>
Subject: Jforum: debug shouldn't stop
	 charset=ISO-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by plus.interlog.com id LAA07566

While debugging a line with an adverb I got this:

|stop
|       ((-.b)&#)OnNames RoutesNouns
|SplitUp[7]
      dbrun''
|stop
|       (y.)=:u. y.~
      dbrun''
|stop
|       ''
      dbrun''
|stop
|       (y.)=:u. y.~
      dbrun''
|stop
|       ''
      dbrun''
|stop
|       (y.)=:u. y.~

etc... where the debugger stops in the adverb OnNames. I didn't specify any
stops in the adverb. I didn't expect it to stop in there.

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

From owner-jsoftware@lists.interlog.com  Tue Jun 15 11:22:48 1999
Date: Tue, 15 Jun 1999 11:18:56 -0400
From: Alain Miville de =?ISO-8859-1?Q?Ch=EAne?= <Infodev@compuserve.com>
Subject: Jforum: Big Bug in debug
	 charset=ISO-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by plus.interlog.com id LAA11786

The bug is bigger than I thought:

Here is the verb:

SplitUp=: 3 : 0
        NB. --- split up routes which include alternates.
        NB. --- adjusts tables directly.
        yRoutesNouns=.'y',.RoutesNouns
        zRoutesNouns=.'z',.RoutesNouns
        if. -.+./1 2 3 4 5 6 7 8 9 e. Branches=.~.Branch=.RoutesBranch #~
b=.RoutesNo e. y. do. a: return. end.

        (yRoutesNouns)=:(b&#) each ValuesOf RoutesNouns NB. --- get this
route's data. Global for ValuesOf!
        ((-.b)&#) OnNames RoutesNouns NB. --- clear it out of the original.
        br=.Branch e."_ 1 ]0 10,"_ 0 Branches=. 100,Branches-. 0 10 NB. ---
one line per alternate, including the main one (100).
        br=.(x=.-.({.{.br)*.{:{.br)}.br NB.--- remove 100 if starts or ends
with alternates.
        Branches=.x}.Branches
        for_i. i.#br do.
                (zRoutesNouns)=:((i{br)&#) each (yRoutesNo+100|i{Branches);
ValuesOf }. yRoutesNouns
                ((>:zRoutesStop i. {:zRoutesStop)&{.) OnNames zRoutesNouns
                (RoutesNouns)=:(ValuesOf RoutesNouns) (([:>[),]) each
ValuesOf zRoutesNouns
        end.
        a:
)

and here is the debug sequence...

      dbrun''
|stop
|       zRoutesNouns=.'z',.RoutesNouns
|SplitUp[3]
      dbrun''
|stop
|       -.+./1 2 3 4 5 6 7 8 9
e.Branches=.~.Branch=.RoutesBranch#~b=.RoutesNo e.y.
|SplitUp[4]
      dbrun''
|stop
|       (yRoutesNouns)=:(b&#)each ValuesOf RoutesNouns
|SplitUp[6]
      dbrun''
|stop
|       ((-.b)&#)OnNames RoutesNouns
|SplitUp[7]
      dbrun''
|stop
|       (y.)=:u. y.~
      dbrun''
|stop
|       ''
      dbrun''
|stop
|       (y.)=:u. y.~
      dbrun''
|stop
|       ''
      dbrun''
|stop
|       (y.)=:u. y.~
      dbrun''
|stop
|       ''
      dbrun''
|stop
|       (y.)=:u. y.~
      dbrun''
|stop
|       ''
      dbrun''
|stop
|       (y.)=:u. y.~
      dbrun''
|stop
|       ''
      dbrun''
|stop
|       yRoutesNouns=.'y',.RoutesNouns
|SplitUp[2]

Hey! I'm back to line 2 instead of line 8. What happened?

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

From owner-jsoftware@lists.interlog.com  Tue Jun 15 18:42:07 1999
From: "HARRIS,BILL (HP-LakeStevens,ex1)" <bill_harris@am.exch.hp.com>
Subject: Jforum: System implemented in J
Date: Tue, 15 Jun 1999 16:37:28 -0600
	charset="iso-8859-1"

If you are interested, there is a description of a financial system
implemented in J in "Pipeline Inventory:  The Missing Factor in
Organizational Expense Management," published in "National Productivity
Review," Summer, 1999, pp. 33-38.  The focus of the article is on the
business side, but the underlying system was done in J 3.05C.

Bill
--
Bill Harris                                 Year 2000 Program Office
mailto: bill_harris@am.exch.hp.com          Hewlett-Packard Company
phone: (425) 335-2200                       M/S 330C
fax: (425) 335-2483                         8600 Soper Hill Road
web: http://hpweb.lsid.hp.com:8080/~billh/  Everett, WA 98205-1298

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

From owner-jsoftware@lists.interlog.com  Tue Jun 15 19:30:31 1999
From: Ajith Prasad <burap@nus.edu.sg>
Subject: RE: Jforum: System implemented in J
Date: Wed, 16 Jun 1999 07:29:19 +0800
	charset="ISO-8859-1"

Does the article explain the reasons for the choice of J as the development
tool? What were the alternatives and why was J preferred? Thanks.
-----Original Message-----
From: HARRIS,BILL (HP-LakeStevens,ex1)
Sent: 6/16/99 6:37 AM
Subject: Jforum: System implemented in J

If you are interested, there is a description of a financial system
implemented in J in "Pipeline Inventory:  The Missing Factor in
Organizational Expense Management," published in "National Productivity
Review," Summer, 1999, pp. 33-38.  The focus of the article is on the
business side, but the underlying system was done in J 3.05C.

Bill
--
Bill Harris                                 Year 2000 Program Office
mailto: bill_harris@am.exch.hp.com          Hewlett-Packard Company
phone: (425) 335-2200                       M/S 330C
fax: (425) 335-2483                         8600 Soper Hill Road
web: http://hpweb.lsid.hp.com:8080/~billh/  Everett, WA 98205-1298

------------------------------------------------------------------------
--------
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 Jun 15 21:54:33 1999
Date: Tue, 15 Jun 1999 21:52:23 -0400
From: David Ness <DNess@home.com>
Subject: Re: Jforum: System implemented in J
References: <737091A8F919D31195E300A0C9968641059984@xboi06.boi.hp.com>

Is there a copy of the article on the net somewhere. If not, I doubt
if most of us will be able to see it...

HARRIS,BILL (HP-LakeStevens,ex1) wrote:
>
> If you are interested, there is a description of a financial system
> implemented in J in "Pipeline Inventory:  The Missing Factor in
> Organizational Expense Management," published in "National Productivity
> Review," Summer, 1999, pp. 33-38.  The focus of the article is on the
> business side, but the underlying system was done in J 3.05C.
>
> Bill Harris

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

From owner-jsoftware@lists.interlog.com  Wed Jun 16 02:32:44 1999
From: <paul_gauthier@dynasys.tm.fr>
Subject: RE: Jforum: System implemented in J
Date: Wed, 16 Jun 1999 08:28:52 +0200
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by plus.interlog.com id CAA19275

The link below, (15.1.220.16), can't be reached, any other link ?
thank's/Paul

>-----Message d'origine-----
>De:	HARRIS,BILL (HP-LakeStevens,ex1) [SMTP:bill_harris@am.exch.hp.com]
>Date:	mercredi 16 juin 1999 00:37
>�:	'forum@jsoftware.com'
>Objet:	Jforum: System implemented in J
>
>If you are interested, there is a description of a financial system
>implemented in J in "Pipeline Inventory:  The Missing Factor in
>Organizational Expense Management," published in "National Productivity
>Review," Summer, 1999, pp. 33-38.  The focus of the article is on the
>business side, but the underlying system was done in J 3.05C.
>
>Bill
>--
>Bill Harris                                 Year 2000 Program Office
>mailto: bill_harris@am.exch.hp.com          Hewlett-Packard Company
>phone: (425) 335-2200                       M/S 330C
>fax: (425) 335-2483                         8600 Soper Hill Road
>web: http://hpweb.lsid.hp.com:8080/~billh/  Everett, WA 98205-1298
>
>-----------------------------------------------------------------------------
>---
>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 Jun 16 04:09:11 1999
From: <paul_gauthier@dynasys.tm.fr>
Subject: RE: Jforum: Passing a verb to a verb
Date: Wed, 16 Jun 1999 08:57:58 +0200
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by plus.interlog.com id CAA21386

Global or global variable ? that is the question...
The example I gave was meant to mean a global assignment of a verb, but
if one wants a global variable becoming a verb then one can use:

	twice=: adverb define
		(3 : u.) (3 : u.) y.
	:
		x. u. x. |. y.
	)

	v=:'>:y.'
	v twice 5
7

But I though that the global assignment would be understood not in it's
restrictive "variable" flavor but in it's more general sense of globally
defining a label to be...

Thank's for the clarification and whichever flavor one has a use for, J
certainly can serve them.../Paul

>-----Message d'origine-----
>De:	Andrew Nikitin [SMTP:anikitin@fastenal.com]
>Date:	mardi 15 juin 1999 16:02
>�:	'forum@jsoftware.com'
>Objet:	RE: Jforum: Passing a verb to a verb
>
>> From:	paul_gauthier@dynasys.tm.fr [SMTP:paul_gauthier@dynasys.tm.fr]
>> Sent:	Tuesday, June 15, 1999 02:18
>> 	twice =: adverb define
>> 		u.~ u.~ y.
>> 	:
>> 		x. u. x. |. y.
>> 	)
>> 	v=: >:
>> 	'v'twice 5
>> 7
>>
>> Thus using all three concepts...Have a nice day/Paul
>>
>I cannot see the third concept, i.e. passing parameter as a global
>variable. You should use something like this to involve all three
>concepts:
>
>twice =: adverb define
>	FN~ FN~ y.
>:
>	x. u. x. |. y.
>)
>
>v=: >:
>FN=:'v'
>? twice 5
>
>or even
>
>[: twice 5
>
>
>
>-----------------------------------------------------------------------------
>---
>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 Jun 16 11:26:53 1999
From: "HARRIS,BILL (HP-LakeStevens,ex1)" <bill_harris@am.exch.hp.com>
Subject: RE: Jforum: System implemented in J
Date: Wed, 16 Jun 1999 09:23:44 -0600
	charset="iso-8859-1"

David Ness asked if the article were available on the Web.  Unfortunately,
it's not.  I'll recheck the copyright transfer agreement I signed to see if
a copy could be posted, but I don't currently have an external Web site,
anyway.  Paul Gauthier correctly noted that 15.x.x.x is inaccessible; the
Web site listed in my .sig is for internal HP use.

Ajith Prasad asked:

Does the article explain the reasons for the choice of J as the development
tool? What were the alternatives and why was J preferred? Thanks.

The article only gives a brief statement in that regard, mostly that an
earlier implementation with spreadsheets was error-prone.  With a
spreadsheet being potentially an array of (hidden) formulas, it was too easy
for the person administering the system to modify the formula in one cell
for temporary purposes and forget to set it back.

I picked J for a number of reasons:


categories of expenses, months, as well as the date the data was analyzed)
lends itself well to an array language

Excel for comfortable data entry, with data from legacy systems (via csv
files), and with the Windows API

person to do the work (so I presumed)

After getting going, I discovered other benefits.  I stored weekly archives
of results.  With an interpreted language, it was easy to run ad hoc
analyses of that data to meet various managers' needs.  It was also quite
easy to scan along sequences of archives to see trends in projections.
Graphical analyses and presentations were quite easily done, although I
occasionally wished I had more of the facilities of XLISP-STAT readily
available in analyzing and presenting data.  I could add a GUI to sysadmin
functions I did manually and pass the work off to others.

The worst thing was learning the language quickly with the material
available at the time.  Chris' new "Math for Millions" (or whatever it is
called) is a great step forward.  It would be nice to have a "Ranks for
Millions,.Millions" as well.  :-)

Bill
--
Bill Harris                                 Year 2000 Program Office
mailto: bill_harris@am.exch.hp.com          Hewlett-Packard Company
phone: (425) 335-2200                       M/S 330C
fax: (425) 335-2483                         8600 Soper Hill Road
web: http://hpweb.lsid.hp.com:8080/~billh/  Everett, WA 98205-1298

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

From owner-jsoftware@lists.interlog.com  Wed Jun 16 12:59:03 1999
From: Ajith Prasad <burap@nus.edu.sg>
Subject: RE: Jforum: System implemented in J
Date: Thu, 17 Jun 1999 00:55:27 +0800
	charset="ISO-8859-1"

Thanks. Fascinating.

One of the contributors to this forum mentioned to me in a private e-mail
that he thought that the "pedigree"/interests of the developers reflected
the niche for which their products were optimised. Thus, given Arthur
Whitney's backgound in the financial sector, K was optimised for business
problems, while J might be more suited for scientific/research work given
Ken Iverson's/Roger Hui's interests in such problems.  Nice to see this
assumption put into question with this business application in J. Hope we
can see more such applications being described. The description of the
characteristics of the problem seems to indicate that it is the sort that
might be handled by multi-dimensional "OLAP packages", though not elegantly
given the cumbersome design of the rules languages of such packages.

Incidentally, "Math for the Layman" is by Ken Iverson and not Chris Burke.
Chris drew our attention to its availability. I agree that more such books
are needed to make J more accessible to a wider audience.

-----Original Message-----
From: HARRIS,BILL (HP-LakeStevens,ex1)
Sent: 6/16/99 11:23 PM
Subject: RE: Jforum: System implemented in J

Ajith Prasad asked:

Does the article explain the reasons for the choice of J as the
development
tool? What were the alternatives and why was J preferred? Thanks.

The article only gives a brief statement in that regard, mostly that an
earlier implementation with spreadsheets was error-prone.  With a
spreadsheet being potentially an array of (hidden) formulas, it was too
easy
for the person administering the system to modify the formula in one
cell
for temporary purposes and forget to set it back.

I picked J for a number of reasons:


departments,
categories of expenses, months, as well as the date the data was
analyzed)
lends itself well to an array language

with
Excel for comfortable data entry, with data from legacy systems (via csv
files), and with the Windows API

person to do the work (so I presumed)

After getting going, I discovered other benefits.  I stored weekly
archives
of results.  With an interpreted language, it was easy to run ad hoc
analyses of that data to meet various managers' needs.  It was also
quite
easy to scan along sequences of archives to see trends in projections.
Graphical analyses and presentations were quite easily done, although I
occasionally wished I had more of the facilities of XLISP-STAT readily
available in analyzing and presenting data.  I could add a GUI to
sysadmin
functions I did manually and pass the work off to others.

The worst thing was learning the language quickly with the material
available at the time.  Chris' new "Math for Millions" (or whatever it
is
called) is a great step forward.  It would be nice to have a "Ranks for
Millions,.Millions" as well.  :-)

Bill
--
Bill Harris                                 Year 2000 Program Office
mailto: bill_harris@am.exch.hp.com          Hewlett-Packard Company
phone: (425) 335-2200                       M/S 330C
fax: (425) 335-2483                         8600 Soper Hill Road
web: http://hpweb.lsid.hp.com:8080/~billh/  Everett, WA 98205-1298

------------------------------------------------------------------------
--------
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 Jun 16 17:41:42 1999
Date: Wed, 16 Jun 1999 23:38:06 +0200
From: milan <milan.ice@bluewin.ch>
Subject: Jforum: attachments/reuters
 boundary="------------0678FBA90437201D39622454"

--------------0678FBA90437201D39622454

   I have 2 questions:

  a) I have a J server in place to distribute data using FTP/ODBC etc.
that I use in a big company.
     But there are situations where I should send attachments (which
might be Excel-Spreadsheets
     or MsAccess databases) to specific E-mail addresses.

    Does somebody know of a method or an already existing feature
accessible by J  that would
    allow me to send attachments to an E-mail address?
    (Ps : the company uses outlook as its E-mail system and the MAPI
works fine with it ,but
     I'm not sure if I can also use MAPI for sending attachments.)

 b) are there any plans/ideas to access REUTERS market data by J ?
    (I know such an access to REUTERS is not for free)

 /Milan

--------------0678FBA90437201D39622454

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
&nbsp;
<br>&nbsp;&nbsp; <font face="EuralDB"><font color="#000066">I have 2 questions:</font></font><font face="EuralDB"><font color="#000066"></font></font>
<p><font face="EuralDB"><font color="#000066">&nbsp; a) I have a J server
in place to distribute data using FTP/ODBC etc. that I use in a big company.</font></font>
<br><font face="EuralDB"><font color="#000066">&nbsp;&nbsp;&nbsp;&nbsp;
But there are situations where I should send attachments (which might be
Excel-Spreadsheets</font></font>
<br><font face="EuralDB"><font color="#000066">&nbsp;&nbsp;&nbsp;&nbsp;
or MsAccess databases) to specific E-mail addresses.</font></font>
<br><font face="EuralDB"><font color="#000066">&nbsp;</font></font>
<br><font face="EuralDB"><font color="#000066">&nbsp;&nbsp;&nbsp; Does
somebody know of a method or an already existing feature accessible by
J&nbsp; that would</font></font>
<br><font face="EuralDB"><font color="#000066">&nbsp;&nbsp;&nbsp; allow
me to send attachments to an E-mail address?</font></font>
<br><font face="EuralDB"><font color="#000066">&nbsp;&nbsp;&nbsp; (Ps :
the company uses outlook as its E-mail system and the MAPI works fine with
it ,but</font></font>
<br><font face="EuralDB"><font color="#000066">&nbsp;&nbsp;&nbsp;&nbsp;
I'm not sure if I can also use MAPI for sending attachments.)</font></font><font face="EuralDB"><font color="#000066"></font></font>
<p><font face="EuralDB"><font color="#000066">&nbsp;b) are there any plans/ideas
to access REUTERS market data by J ?</font></font>
<br><font face="EuralDB"><font color="#000066">&nbsp;&nbsp;&nbsp; (I know
such an access to REUTERS is not for free)</font></font><font face="EuralDB"><font color="#000066"></font></font>
<p><font face="EuralDB"><font color="#000066">&nbsp;/Milan</font></font>
<br><font face="EuralDB"><font color="#000066">&nbsp;</font></font><font face="EuralDB"><font color="#000066"></font></font>
<p><font face="EuralDB"><font color="#000066">&nbsp;</font></font>
<br><font face="EuralDB"><font color="#000066">&nbsp;</font></font>
<p>&nbsp;</html>

--------------0678FBA90437201D39622454--

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

From owner-jsoftware@lists.interlog.com  Wed Jun 16 18:56:32 1999
From: "Alex Kornilovski" <kornal@idirect.com>
Subject: Re: Jforum: attachments/reuters
Date: Wed, 16 Jun 1999 19:00:47 -0400
Content-Type: multipart/mixed;
	boundary="----=_NextPart_000_0011_01BEB82A.8B1B1E20"

This is a multi-part message in MIME format.

------=_NextPart_000_0011_01BEB82A.8B1B1E20
	charset="iso-8859-1"

Milan wrote:

 >    Does somebody know of a method or an already existing feature
accessible by J  that would
 >   allow me to send attachments to an E-mail address?
 >   (Ps : the company uses outlook as its E-mail system and the MAPI works
fine with it ,but
 >   I'm not sure if I can also use MAPI for sending attachments.)

Attached a bit modified version of Henry's MAPI interface that allows you to
send attachment (I was able to send attachment to myself and my
zdnetmail.com accounts). I am using Outlook express.

Alex

------=_NextPart_000_0011_01BEB82A.8B1B1E20
Content-Type: application/octet-stream;
	name="Mapi.ijs"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="Mapi.ijs"

NB. Simple MAPI Interface for Windows.
NB.
NB. Installs into _z_ locale.
NB.
NB. Supports one file as an attachment.=20
NB. Does not request dialog boxes.
NB.  Does not support non-IPMs.  Does not support credentialed messaging =
systems.
NB.  Supports only 64-byte message IDs (because I couldn't find the =
definition of the
NB.  flag to support 512-byte IDs).
NB.
NB. You log on to establish a session, do mail transactions, and log =
off.
NB. Sample sequence to process messages with qualifying subject lines =
might be:
NB.
NB. sess =3D. logonmail ''  NB. Establish session.
NB. subjects =3D. sess collectmail 192  NB. Get subjects only, don't =
mark as read
NB. desiredmsgs =3D. 0 {"1 (#~ qualifying_verb) subjects  NB. Get IDs of =
messages to read
NB. texts =3D. sess readmail desiredmsgs ,"0 _ <2048  NB. Get full text, =
no attachments
NB. sess deletemail desiredmsgs  NB. Delete messages after processing
NB. logoffmail sess  NB. end session
NB.
NB. sendmail is used to send outbound mail, with To, Cc, and Bcc =
recipients optional.
NB. An example, with only a To recipient:
NB. sess sendmail (1 ; < ,: 'Henry Rich';'SMTP:glasss@mindspring.com') ; =
'wow' ; 'Great Work!'
NB.
NB. Henry H. Rich (glasss@mindspring.com), February 1999
NB. Alex Kornilovski <kornal@idirect.com>, Marh 1999

require 'dll'

NB. Utility verbs
NB. Convert a set of bytes, MSB first, into a memory address
cpuorder_z_ =3D: |.  NB. Intel CPUs are little-endian; use ] for =
big-endian
NB. Extract the return code from a DLL: if DLL error, use it, else the =
return is the first element
dllretcode_z_ =3D: (0&{::)`] @. (1: =3D #)
NB. y. is character string, result is memory address of a copy of the =
string, null-terminated.
NB. But if the string is null, use 0 instead of making an allocation
allostring_z_ =3D: 0: ` ( (] [ [ memw (, 0&,@>:@#)~)    mema@>:@# ) @. =
(*@#)
NB. y. is result from allostring; it is freed (if nonzero)
deallostring_z_ =3D: (''"_)`((''"_)@memf) @. (0&~:) "0

NB. Log on a mail session.  Use shared session if there is one.  y. is =
name of profile to use
NB.  (default '', which means use default profile).  In Windows 95, the =
profile is set by
NB.   clicking on Control Panel|Mail.
NB. Result is session handle, 0 if no session
logonmail_z_ =3D: 3 : 0
logonrc =3D. 'Mapi32 MAPILogon i i i i i i *i' cd 0;(s =3D. allostring =
y.);0;0;0;(,_1)
deallostring s
if. 0 =3D dllretcode logonrc do.
  {. 6 {:: logonrc  NB. Convert response to scalar for use as memory =
address
else.
  0  NB. If error, return the error code
end.
)

NB. Log off a mail session.  y. is the session id.  Return the DLL =
retcode (0 if success).
logoffmail_z_ =3D: 3 : 0 "0
dllretcode 'Mapi32 MAPILogoff i i i i i' cd y.;0;0;0
)

NB. Send email.
NB. x. is session id returned from logonmail
NB. y. is recipient_list ; subject_text (string) ; message_text =
(string);attachment_file_name
NB.  recipient_list is list of recipient_type , < list of name (string) =
; address (string)
NB.  where recipient_type is 0 (originator), 1 (to), 2 (cc) , or 3 (bcc)
NB. You may use your address book to translate the name, and leave the =
address empty.
NB. You may NOT leave the name empty, even though the spec says you may =
- pick a harmless
NB. nonnull.  If you use an Internet address, be sure to prefix it with =
'SMTP:'
NB. Example: sess sendmail (1 ; < ,: 'Alex';'SMTP:kornal@idirect.com') ; =
'attachment' ; 'text';'c:\bootlog.txt'
sendmail_z_ =3D: 4 : 0 "0 1
NB. y. is (possibly list of) dwords, result is byte string for them
longwords =3D. 13 : ', cpuorder"1 (256 256 256 256 #: y.) { a.'

att=3D.;{:y=3D.4{.y.
y=3D.}: y
NB. y. is (possibly list of) dwords, result is byte string for them
longwords =3D. 13 : ', cpuorder"1 (256 256 256 256 #: y.) { a.'
nrecip   =3D: _2 { 1 , $ recipsallolist =3D. ; recipsallo =3D. =
allostring@> L:_1 (1) {"1 reciplist =3D. 0 {:: y
recipallo =3D. allostring longwords ; (0 {"1 reciplist) (0: , [ , ] , 0 =
0"_)"_ 1 L:_1 recipsallo
ct=3D.adr=3D.str=3D.0
if. 0~:$att do.
  adr=3D.mema {.$att
  att memw adr,0,{.$att
  str=3D.allostring longwords 0,0,_1,adr,0,0
  ct=3D.1
end.
msgallo =3D. allostring longwords 0,(textallo =3D. allostring@> 1 2 { =
y),0,0,0,0,0,nrecip,recipallo,ct,str

mailrc =3D. dllretcode 'Mapi32 MAPISendMail i i i i i i' cd =
x.;0;msgallo;1;0
deallostring msgallo,recipallo,textallo, ,recipsallolist ,adr,str NB. =
Release storage for nonnull pointers
mailrc  NB. Return DLL errcode for error calling DLL, otherwise the DLL =
retcode
)

NB. Get next message id.  y. is list of messages read so far (boxed), or =
null to start with first message.
NB. x. is session (the return from logonmail)
NB. result is list of boxed strings: new list of messages read
findnextmail_z_ =3D: 4 : 0 "0 1
retarea =3D. mema 512
if. #y. do.
  mailrc =3D. 'Mapi32 MAPIFindNext i i i i *c i i i' cd =
x.;0;0;({:y.),0;0;retarea
else.
  mailrc =3D. 'Mapi32 MAPIFindNext i i i i i i i i' cd =
x.;0;0;0;0;0;retarea
end.
if. 0 =3D dllretcode mailrc do.
  newresult =3D. <memr retarea,0,_1
else.
  newresult =3D. 0 $ <''
end.
memf retarea
y.,newresult
)

NB. Read the header for a message.  y. is the message_id;flags.  Flags =
defaults to 0.
NB.     (2048=3Dno attachments, 512=3Dmake text an attachment, =
128=3Ddon't mark
NB.     the messages as read, 64=3Dread headers only, no text)
NB. x. is the session id returned from logonmail
NB. result is originator_name;originator_addr;subject;text;date for the =
message
readmail_z_ =3D: 4 : 0 "0 1
NB. y. is addr,offset,len;  result is pointer value
loadint =3D. 13 : '256 #. a. i. cpuorder^:_1 memr y.'
NB. y. is structure_address,offset
NB. Result is the string pointed to by the pointer at that offset, or '' =
if pointer is null
loadstring =3D. ( (''"_) ` (memr@(,&0 _1)) @. (0&~:) ) @ loadint @ (,&4) =
"1

'mid flgs' =3D. 2 {. y. , <0
if. mid -: '' do. '';'';'';'';'' return. end.
if. 0 =3D dllretcode mailrc =3D. 'Mapi32 MAPIReadMail i i i *c i i *i' =
cd x.;0;mid;flgs;0;(,_1) do.
  pmsgstr =3D. {. 6 {:: mailrc
  if. 0 ~: precipstr =3D. loadint pmsgstr,28,4 do.
    onmaddr =3D. <@loadstring precipstr ,"_ 0 (8 12)
  else.
    onmaddr =3D. '';''
  end.

  osubtxdt =3D. <@loadstring pmsgstr ,"_ 0 (4 8 16)

  'Mapi32 MAPIFreeBuffer i i' cd pmsgstr  NB. Free the message and all =
its strings
  onmaddr , osubtxdt
else.
  '';'';'';'';''
end.
)

NB. y. is message id (boxed).  x. is session returned from logonmail.  =
The message is deleted.
NB. Result is return code from delete
deletemail_z_ =3D: 4 : 0 "0
dllretcode 'Mapi32 MAPIDeleteMail i i i *c i i ' cd x.;0;y.,0;0
)

NB. x. is session id, y. is flags (2048=3Dno attachments, 512=3Dmake =
text an attachment, 128=3Ddon't mark
NB.   the messages as read, 64=3Dread headers only, no text)
NB. Result is message_id;origin_name;origin_addr;subject;text;rcvdate =
for all mail messages
collectmail_z_ =3D: 4 : '(,. x.&readmail@(,&(<y.))"0) x.&findnextmail^:_ =
(0$a:)' "0 0

------=_NextPart_000_0011_01BEB82A.8B1B1E20--

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

From owner-jsoftware@lists.interlog.com  Wed Jun 16 21:37:14 1999
From: k-list@iname.com
Date: Wed, 16 Jun 1999 21:35:00 -0400 (EDT)
Content-Type: Text/Plain
Subject: Jforum: double-byte & ocx

In j4.03, I can't enter Chinese (double-btye) text into ocx from keyboard, (more specifically, farpoint input pro 3.0.6 Edit control). However, the same can be done using VB.

By the way, double-byte text can be read or written to ocx using wd'oleset.

---------------------------------------------------
Get free personalized email at http://www.iname.com

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

From owner-jsoftware@lists.interlog.com  Thu Jun 17 10:05:27 1999
From: "Seymour Glass" <glasss@mindspring.com>
Subject: RE: Jforum: attachments/reuters
Date: Thu, 17 Jun 1999 10:01:24 -0400
Content-Type: multipart/mixed;
	boundary="----=_NextPart_000_0001_01BEB8A8.5BE7FFA0"
Importance: Normal
In-Reply-To: <001401beb84c$137ae900$38f3a1d1@alex>

This is a multi-part message in MIME format.

------=_NextPart_000_0001_01BEB8A8.5BE7FFA0
	charset="iso-8859-1"

> -----Original Message-----
> From: owner-jsoftware@lists.interlog.com
> [mailto:owner-jsoftware@lists.interlog.com]On Behalf Of Alex Kornilovski
> Sent: Wednesday, June 16, 1999 19:01
> To: forum@jsoftware.com
> Subject: Re: Jforum: attachments/reuters
>
>
> Milan wrote:
>
>  >    Does somebody know of a method or an already existing feature
> accessible by J  that would
>  >   allow me to send attachments to an E-mail address?
>  >   (Ps : the company uses outlook as its E-mail system and the
> MAPI works
> fine with it ,but
>  >   I'm not sure if I can also use MAPI for sending attachments.)
>
> Attached a bit modified version of Henry's MAPI interface that
> allows you to
> send attachment (I was able to send attachment to myself and my
> zdnetmail.com accounts). I am using Outlook express.

Thanks, Alex.  I have taken your changes and inserted them into
my current version of mapi.ijs (which also includes support for
inbound attachments).

I modified the attachment specification from a single character
string to an array with shape (n,1).  The n is the number of attachments -
you can send as many as you want.  I made each attachment specification
a 1-element boxed list (rather than a single box) so that we can
add support for attachment position & other stuff later if we want
to.

This format is incompatible with your use of a single character
string, but I have put in code to support the single character
string as a special case so your current applications will still work.

I have attached the current version in case anyone wants it right away.
------=_NextPart_000_0001_01BEB8A8.5BE7FFA0
Content-Type: application/octet-stream;
	name="mapi.ijs"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="mapi.ijs"

NB. Simple MAPI Interface for Windows.
NB.
NB. Installs into _z_ locale.
NB.
NB. Does not request dialog boxes.  Does not support non-IPMs.
NB.   Does not support credentialed messaging systems.
NB.
NB. You log on to establish a session, do mail transactions, and log =
off.
NB. Sample sequence to process messages with qualifying subject lines =
might be:
NB.
NB. sess =3D. logonmail ''  NB. Establish session.  On some systems the =
argument (a profile name) is required
NB. subjects =3D. sess collectmail 192  NB. Get subjects only, don't =
mark as read
NB. desiredmsgs =3D. 0 {"1 (#~ qualifying_verb) subjects  NB. Get IDs of =
messages to read
NB. texts =3D. sess readmail desiredmsgs ,"0 _ <2048  NB. Get full text, =
no attachments
NB. sess deletemail desiredmsgs  NB. Delete messages after processing
NB. logoffmail sess  NB. end session
NB.
NB. sendmail is used to send outbound mail, with To, Cc, and Bcc =
recipients optional.
NB.  Attachments are optional.
NB. A session is required.
NB. An example, with only a To recipient:
NB. sess sendmail (1 ; < ,: 'Henry Rich';'SMTP:glasss@mindspring.com') ; =
'wow' ; 'Great Work!'
NB.
NB. Henry H. Rich (glasss@mindspring.com), March 1999
NB. Alex Kornilovski <kornal@idirect.com>, March 1999

require 'dll'

NB. Utility verbs
NB. Extract the return code from a DLL: if DLL error, use it, else the =
return is the first element
dllretcode_z_ =3D: (0&{::)`] @. (1: =3D #)
NB. y. is character string, result is memory address of a copy of the =
string, null-terminated.
NB. But if the string is null, use 0 instead of making an allocation
allostring_z_ =3D: 0: ` ( (] [ [ memw (, 0&,@>:@#)~)    mema@>:@# ) @. =
(*@#)
NB. y. is result from allostring; it is freed (if nonzero)
deallostring_z_ =3D: (''"_)`((''"_)@memf) @. (0&~:) "0

NB.*logonmail v-- Establish mail session
NB. Log on a mail session.  Use shared session if there is one.  y. is =
name of profile to use
NB.  (default '', which means use default profile).  In Windows 95, the =
profile is set by
NB.   clicking on Control Panel|Mail.
NB. Result is session handle, 0 if no session
logonmail_z_ =3D: 3 : 0
logonrc =3D. 'Mapi32 MAPILogon i i i i i i *i' cd 0;(s =3D. allostring =
y.);0;0;0;(,_1)
deallostring s
if. 0 =3D dllretcode logonrc do.
  {. 6 {:: logonrc  NB. Convert response to scalar for use as memory =
address
else.
  0  NB. If error, return the error code
end.
)

NB.*logoffmail v-- Terminate mail session
NB. Log off a mail session.  y. is the session id.  Return the DLL =
retcode (0 if success).
logoffmail_z_ =3D: 3 : 0 "0
dllretcode 'Mapi32 MAPILogoff i i i i i' cd y.;0;0;0
)

NB.*sendmail v-- Send email
NB. x. is session id returned from logonmail
NB. y. is recipient_list ; subject_text (string) ; message_text (string) =
; (optional) attachments=20
NB.  recipient_list is list of recipient_type , < list of name (string) =
; address (string)
NB.  where recipient_type is 0 (originator), 1 (to), 2 (cc) , or 3 (bcc)
NB.  attachments is (possibly a list of) boxed lists representing =
attachment files
NB.    each list has just one element: the filename (other elements will =
be added in future)
NB. You may use your address book to translate the name, and leave the =
address empty.
NB. You may NOT leave the name empty, even though the spec says you may =
- pick a harmless
NB. nonnull.  If you use an Internet address, be sure to prefix it with =
'SMTP:'
NB. Example: sess sendmail (1 ; < ,: 'name';'SMTP:addr') ; 'subject' ; =
'text' ;< (1 1 {body}lt;'c:att1.txt'),(1 1 {body}lt;'c:att2.txt')
sendmail_z_ =3D: 4 : 0 "0 1
NB. y. is (possibly list of) dwords, result is byte string for them
longwords =3D. 2&(3!:4)

NB. Allocate the message test
nrecip =3D. _2 { 1 , $ recipsallolist =3D. ; recipsallo =3D. =
allostring@> L:_1 (1) {"1 reciplist =3D. 0 {:: y.
recipallo =3D. allostring longwords , ; (0 {"1 reciplist) (0: , [ , ] , =
0 0"_)"_ 1 L:_1 recipsallo

NB. Allocate the attachments
if. natt =3D. _2 { 0 1 , $ att=3D. ,@<^:(2:=3D(3!:0)) 3 {:: y. , (<a:)  =
do.  NB. get attachment list (default null)
     NB. the ,@<^:(2:=3D(3!:0)) is to support single character strings, =
now deprecated
  attsallo =3D. allostring@> , 0 {"1 att  NB. allocate attachment =
strings
  attallo =3D. allostring longwords , (0 0 _1"_ , ] ,  0 0"_)"0 attsallo =
 NB. allocate file structures
else.
  attsallo =3D. attallo =3D. 0
end.

msgallo =3D. allostring longwords 0,(textallo =3D. allostring@> 1 2 { =
y.),0,0,0,0,0,nrecip,recipallo,natt,attallo

mailrc =3D. dllretcode 'Mapi32 MAPISendMail i i i i i i' cd =
x.;0;msgallo;1;0
deallostring msgallo,recipallo,textallo,attallo,attsallo, =
,recipsallolist  NB. Release storage for nonnull pointers
mailrc  NB. Return DLL errcode for error calling DLL, otherwise the DLL =
retcode
)

NB. Get next message id.  y. is list of messages read so far (boxed), or =
null to start with first message.
NB. x. is session (the return from logonmail)
NB. result is list of boxed strings: new list of messages read
findnextmail_z_ =3D: 4 : 0 "0 1
retarea =3D. mema 512
if. #y. do.
  mailrc =3D. 'Mapi32 MAPIFindNext i i i i *c i i i' cd =
x.;0;0;({:y.),16384;0;retarea
else.
  mailrc =3D. 'Mapi32 MAPIFindNext i i i i i i i i' cd =
x.;0;0;0;16384;0;retarea
end.
if. 0 =3D dllretcode mailrc do.
  newresult =3D. <memr retarea,0,_1
else.
  newresult =3D. 0 $ <''
end.
memf retarea
y.,newresult
)

NB.*readmail v-- Read an email message
NB. y. is the message_id;flags.  Flags defaults to 0.
NB.     (2048=3Dno attachments, 512=3Dmake text an attachment, =
128=3Ddon't mark
NB.     the messages as read, 64=3Dread headers only, no text)
NB. x. is the session id returned from logonmail
NB. result is =
originator_name;originator_addr;subject;text;date;attchments for the =
message
NB.  attachments are a list of =
character_position;filename;original_filename
NB.    position=3D_1 means end-of-file
NB. NOTE: future releases may add items to the returned value
readmail_z_ =3D: 4 : 0 "0 1
NB. y. is addr,offset,len;  result is pointer value
loadint =3D. 13 : '_2 (3!:4) memr y.'
NB. y. is structure_address,offset
NB. Result is the string pointed to by the pointer at that offset, or '' =
if pointer is null
loadstring =3D. ( (''"_) ` (memr@(,&0 _1)) @. ({.@(0&~:)) ) @ loadint @ =
(,&4) "1

'mid flgs' =3D. 2 {. y. , <0
if. mid -: '' do. '';'';'';'';'' return. end.
if. 0 =3D dllretcode mailrc =3D. 'Mapi32 MAPIReadMail i i i *c i i *i' =
cd x.;0;mid;flgs;0;(,_1) do.
  pmsgstr =3D. {. 6 {:: mailrc
  if. 0 ~: precipstr =3D. {. loadint pmsgstr,28,4 do.
    onmaddr =3D. <@loadstring precipstr ,"_ 0 (8 12)
  else.
    onmaddr =3D. '';''
  end.

  if. 0 ~: *./ 'natt aatt' =3D. loadint pmsgstr,40,8 do.
    cpos =3D. <@{.@loadint"1 aatt ,"_ 1 (8 + 24 * i. natt) ,"0 (4)  NB. =
character position
    cfn =3D. <@loadstring aatt ,"_ 0 (12 16 +/~ 24 * i. natt)  NB. full =
filename, original filename
    onatt =3D. cpos ,. cfn
  else.
    onatt =3D. 0 3 $ a:
  end.

  osubtxdt =3D. <@loadstring pmsgstr ,"_ 0 (4 8 16)

  'Mapi32 MAPIFreeBuffer i i' cd pmsgstr  NB. Free the message and all =
its strings
  onmaddr , osubtxdt , <onatt
else.
  '';'';'';'';''
end.
)

NB.*deletemail v-- Delete a mail message.
NB. y. is message id (boxed).  x. is session returned from logonmail.
NB. Result is return code from delete
deletemail_z_ =3D: 4 : 0 "0
dllretcode 'Mapi32 MAPIDeleteMail i i i *c i i ' cd x.;0;y.,0;0
)

NB.*collectmail v-- Retrieve all mail, or just the headers
NB. x. is session id, y. is flags (2048=3Dno attachments, 512=3Dmake =
text an attachment, 128=3Ddon't mark
NB.   the messages as read, 64=3Dread headers only, no text)
NB. Result is =
message_id;origin_name;origin_addr;subject;text;rcvdate;attachments for =
all mail messages
NB.  attachments are a list of =
character_position;filename;original_filename
NB.    position=3D_1 means end-of-file
NB. NOTE: future releases may add items to the returned value
collectmail_z_ =3D: 4 : '(,. x.&readmail@(,&(<y.))"0) x.&findnextmail^:_ =
(0$a:)' "0 0

------=_NextPart_000_0001_01BEB8A8.5BE7FFA0--

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

From owner-jsoftware@lists.interlog.com  Thu Jun 17 13:50:01 1999
Date: 16 Jun 99 09:47:20 -0800
Subject: RE: Jforum: Passing a verb to a verb
From: "Piet de Jong" <piet@dejong.u-net.com>

Thanks for all the suggestions regarding "passing a verb to a verb".  They
were all very helpful.  Still digesting some of the suggestions.

The topic has led me to a wider understanding of the power of J.  Despite
the frustrations, I am once again reaffirming my vows to the language.

One source of frustration is a little portion of the Dictionary which I
often stare at, trying to understand :

"An adverb is produced according to the following definition (using nv to
denote noun or verb):

x (a1 a2)  is  x a1 a2
x (c nv)    is  x c nv
x (nv c)    is  nv c x
x (a c)     is  x a c x     "

That's it.  The nagging question is always "What is x?"  A noun, a verb or
what?  Probably a verb or an appropriate noun, that is provided it works
with say the conjunction.

Presumably a1, a2 and a are adverbs.  Somehow I don't have an
"understanding" of these constructs, at least sufficient to use them
effectively.

Similar learning difficulties occur with the description of "conjunction
trains".  Difficulties appear to vanish once explicit constructs are used.
But it would be nice to really "understand" (in an effective operational
sense) the tacit constructs.   This is because part of J appears to be a
push to reformulate mathematical notation in ways that are more consistent
with computational constraints and demands.   If Iverson thinks the tacit
constructs are useful, that is  enough motivation for me to try and
understand and  see why they are useful.

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

From owner-jsoftware@lists.interlog.com  Thu Jun 17 14:44:37 1999
From: "Seymour Glass" <glasss@mindspring.com>
Subject: RE: Jforum: Passing a verb to a verb
Date: Thu, 17 Jun 1999 14:41:47 -0400
	charset="iso-8859-1"
Importance: Normal
In-Reply-To: <B38D236E-BB359@204.244.233.44>

> -----Original Message-----
> From: owner-jsoftware@lists.interlog.com
> [mailto:owner-jsoftware@lists.interlog.com]On Behalf Of Piet de Jong
> Sent: Wednesday, June 16, 1999 13:47
> To: forum@jsoftware.com
> Subject: RE: Jforum: Passing a verb to a verb
>
>
> ...One source of frustration is a little portion of the Dictionary which I
> often stare at, trying to understand :
>
> "An adverb is produced according to the following definition (using nv to
> denote noun or verb):
>
> x (a1 a2)  is  x a1 a2
> x (c nv)    is  x c nv
> x (nv c)    is  nv c x
> x (a c)     is  x a c x     "
>
> That's it.  The nagging question is always "What is x?"  A noun, a verb or
> what?  Probably a verb or an appropriate noun, that is provided it works
> with say the conjunction.
>
> Presumably a1, a2 and a are adverbs.  Somehow I don't have an
> "understanding" of these constructs, at least sufficient to use them
> effectively.

I can't find the text you are referring to.  The complete definition
is in Dictionary II.F, the parse table, which you should have taped
to your mirror for study while shaving each morning.  It shows several
tridents that produce adverbs too.

You have it right, that x is a verb or a noun acceptable in the context.

You create an adverb when you want to modify the behavior of many
different verbs in the same way.  Adverbs are less often used with
noun left arguments; } is the most important case.

If you have any specific questions, ask.  Here are a few adverbs from
my utilities; you can use them as exercises.  After you master adverbs,
you can move up to conjunctions!

NB. Adverb: like @], but performs u. before ], which is faster if the result
is smaller than y.
onyd_z_ =: ((]`]:) `:6)
NB. Adverb: like @], but avoids the ] if monadic
ony_z_ =: onyd (]. : [.)
NB. Adverb: like @[, but performs u. before [, which is faster if the result
is smaller than x.
onx_z_ =: ((]`]:) `:6) ~

NB. Adverb.  Do u., but skip it if y. is null (result then is '')
onlyifnonnull_z_ =: ((''"_)`]:) @. (*@# onyd)

NB. Adverb.  Monad, converts y. to rank m. by adding axes
enrank_z_ =: ,: ^: ((0&>.)@(]:&-)@#@$)

NB. adverb: purge memory, then do u.
afterpurging_z_ =: ]: [ (7!:4 @ (($0)"_))

>
> Similar learning difficulties occur with the description of "conjunction
> trains".  Difficulties appear to vanish once explicit constructs
> are used.
> But it would be nice to really "understand" (in an effective operational
> sense) the tacit constructs.   This is because part of J appears to be a
> push to reformulate mathematical notation in ways that are more consistent
> with computational constraints and demands.   If Iverson thinks the tacit
> constructs are useful, that is  enough motivation for me to try and
> understand and  see why they are useful.

Enough for me, too.  That reminds me of a question.  The definition
of & says that 'Use of the bond conjunction is often called
Currying in honour of Haskell Curry'.  That meant nothing to me, but
I recently finished reading an old book that mentions Curry and
his logic of 'combinators' which provided a notation for introducing
constants into functional programs, an advance (the book said) over Church's
lambda-calculus.

So, is KEI's homage to Curry a recognition of this important idea, or
for Curry's other contributions to functional programming, or what?

Henry Rich

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

From owner-jsoftware@lists.interlog.com  Thu Jun 17 16:02:33 1999
From: Andrew Nikitin <anikitin@fastenal.com>
Subject: Jforum: editor utilities
Date: Thu, 17 Jun 1999 14:58:48 -0500

The new version of editor utilities is available from
http://members.xoom.com:80/nsg21/jedit.zip
It uses new editor features like wd 'setreplace' and wd 'getscroll'. Old
code is retained for comptibility though.

This utilities are being bound to function keys and perform the
following functions:

 F2 - show list of definitions
 F4 - comment/decomment block
 F5 - indent block
 F6 - unindent block
 F9 - select entire explicit definition for running/deleting/moving

BTW, I use this expression to choose actual advrb code depending on J
version:

Selection=: 1 : (>(4.03>:".>{.<;._2 wd'qabout'){(0 :0);(0 :0))
--- new explicit code (for versions 4.03 and above)
)
--- old explicit code(for versions less than 4.03)
)

and it seems pretty ugly to me. (In addition this will not work for beta
versions of J).
Could anybody suggest better solution?

nsg

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

From owner-jsoftware@lists.interlog.com  Thu Jun 17 16:53:40 1999
From: <paul_gauthier@dynasys.tm.fr>
Subject: RE: Jforum: editor utilities
Date: Thu, 17 Jun 1999 22:50:39 +0200
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by plus.interlog.com id QAA18902

Not much of an improvement but I am curious to know if it covers beta
versions, I can't test it.
     Selection=:    1 :(>(4.03>:".>0{;:9!:14''){(0 :0);(0 :0))
--- new explicit code (for versions 4.03 and above)
)
--- old explicit code(for versions less than 4.03)
)

>-----Message d'origine-----
>De:	Andrew Nikitin [SMTP:anikitin@fastenal.com]
>Date:	jeudi 17 juin 1999 21:59
>�:	'forum@jsoftware.com'
>Objet:	Jforum: editor utilities
>BTW, I use this expression to choose actual advrb code depending on J
>version:
>
>Selection=: 1 : (>(4.03>:".>{.<;._2 wd'qabout'){(0 :0);(0 :0))
>--- new explicit code (for versions 4.03 and above)
>)
>--- old explicit code(for versions less than 4.03)
>)
>
>and it seems pretty ugly to me. (In addition this will not work for beta
>versions of J).
>Could anybody suggest better solution?
>
>
>nsg

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

From owner-jsoftware@lists.interlog.com  Thu Jun 17 18:23:42 1999
Date: Thu, 17 Jun 1999 18:20:33 -0400
From: Fraser Jackson <Fraser_Jackson@compuserve.com>
Subject: Jforum: Displaying tables and constructing cross tabulations
	 charset=ISO-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by plus.interlog.com id SAA07784

Displaying arrays with labels.

 It is often valuable to have arrays printed with labels for the rows,
columns, planes,  etc.   The function Tables lists an array with
descriptive information for the locations along each dimension.  For a
three dimensional array it has as right argument     dim0;dim1;dim2;array
where   dimi  is a character matrix or numeric vector  with one item for
each item along the i'th dimension of the array.

The expression

Tables dim0;dim1;dim2;array

displays the array  with all rows and columns labelled, and separate
displays with an appropriate heading  for all rank two objects.

Tabulation

Often for a database we want to count the items which have  each
combination of values on several characteristics.
The function Tabulate constructs such a table, and lists of the values of
the characteristics.   If the characteristics are in var0, var1, var2  then
the expression

Tabulate   var0;var1;var2

will construct the required table of counts and display  the result
dim0;dim1;dim2;counts
with  dimi  the sorted nub of the items in the corresponding variable, and
the array counts containing the number of cases for each combination of the
values of the variables.

Tables Tabulate var0;var1;var2

will list the result in a convenient and readable form.

If you are using mapped files see the note in the script.  I have found it
better to construct an index file and use the function TabulateI instead.

Download the script   tabulate.zip  from //www. jsoftware.com.   Any
comments are welcome to Fraser_Jackson@compuserve.com

Fraser

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

From owner-jsoftware@lists.interlog.com  Thu Jun 17 19:21:26 1999
From: "Seymour Glass" <glasss@mindspring.com>
Subject: RE: Jforum: editor utilities
Date: Thu, 17 Jun 1999 19:17:45 -0400
	charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
Importance: Normal
In-Reply-To: <c=FR%a=_%p=DynaSys_-_Schilt%l=DYNASYS01-990617205039Z-394@mail.dynasys.tm.fr>

That was my solution too (maybe with 4{. before the ". if that would
work on betas).  But I'm curious: what changes in 4.03 to make a
different version required?

Henry Rich

> -----Original Message-----
> From: owner-jsoftware@lists.interlog.com
> [mailto:owner-jsoftware@lists.interlog.com]On Behalf Of
> paul_gauthier@dynasys.tm.fr
> Sent: Thursday, June 17, 1999 16:51
> To: forum@jsoftware.com
> Subject: RE: Jforum: editor utilities
>
>
> Not much of an improvement but I am curious to know if it covers beta
> versions, I can't test it.
>      Selection=:    1 :(>(4.03>:".>0{;:9!:14''){(0 :0);(0 :0))
> --- new explicit code (for versions 4.03 and above)
> )
> --- old explicit code(for versions less than 4.03)
> )
>
> >-----Message d'origine-----
> >De:	Andrew Nikitin [SMTP:anikitin@fastenal.com]
> >Date:	jeudi 17 juin 1999 21:59
> >�:	'forum@jsoftware.com'
> >Objet:	Jforum: editor utilities
> >BTW, I use this expression to choose actual advrb code depending on J
> >version:
> >
> >Selection=: 1 : (>(4.03>:".>{.<;._2 wd'qabout'){(0 :0);(0 :0))
> >--- new explicit code (for versions 4.03 and above)
> >)
> >--- old explicit code(for versions less than 4.03)
> >)
> >
> >and it seems pretty ugly to me. (In addition this will not work for beta
> >versions of J).
> >Could anybody suggest better solution?
> >
> >
> >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  Thu Jun 17 19:25:42 1999
From: Ajith Prasad <burap@nus.edu.sg>
Subject: RE: Jforum: editor utilities
Date: Fri, 18 Jun 1999 07:23:45 +0800
	charset="windows-1252"

 Whic directory should it be unzipped into? Thanks.

-----Original Message-----
From: Andrew Nikitin
Sent: 6/18/99 3:58 AM
Subject: Jforum: editor utilities

The new version of editor utilities is available from
http://members.xoom.com:80/nsg21/jedit.zip
It uses new editor features like wd 'setreplace' and wd 'getscroll'. Old
code is retained for comptibility though.

This utilities are being bound to function keys and perform the
following functions:

 F2 - show list of definitions
 F4 - comment/decomment block
 F5 - indent block
 F6 - unindent block
 F9 - select entire explicit definition for running/deleting/moving

BTW, I use this expression to choose actual advrb code depending on J
version:

Selection=: 1 : (>(4.03>:".>{.<;._2 wd'qabout'){(0 :0);(0 :0))
--- new explicit code (for versions 4.03 and above)
)
--- old explicit code(for versions less than 4.03)
)

and it seems pretty ugly to me. (In addition this will not work for beta
versions of J).
Could anybody suggest better solution?

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  Thu Jun 17 19:33:22 1999
From: Andrew Nikitin <anikitin@fastenal.com>
Subject: RE: Jforum: editor utilities
Date: Thu, 17 Jun 1999 18:29:11 -0500

> -----Original Message-----
> From:	Seymour Glass [SMTP:glasss@mindspring.com]
> Sent:	Thursday, June 17, 1999 18:18
>
> That was my solution too (maybe with 4{. before the ". if that would
> work on betas).  But I'm curious: what changes in 4.03 to make a
> different version required?
>
New version takes benefit of two new wd commands: getscroll and
setreplace. The first allows to restore scroll position after performing
desired changes. (Old version of J cannot do this and that causes screen
flickering). Second smoothes thing a bit in large files (that is not
really nesessary, but why not to use useful feature?).

nsg

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

From owner-jsoftware@lists.interlog.com  Thu Jun 17 19:42:38 1999
From: Andrew Nikitin <anikitin@fastenal.com>
Subject: RE: Jforum: editor utilities
Date: Thu, 17 Jun 1999 18:40:28 -0500

> From:	Ajith Prasad [SMTP:burap@nus.edu.sg]
> Sent:	Thursday, June 17, 1999 18:24
>
>  Whic directory should it be unzipped into? Thanks.
>
Wherever you wish. As for me, I unzipped it into 'user/' directory and
added line

load 'user/jedit'

to the end of system\extras\config\profile.ijs

nsg

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

From owner-jsoftware@lists.interlog.com  Fri Jun 18 13:32:25 1999
From: Andromeda <milan.ice@bluewin.ch>
Subject: Jforum: RE:
Date: Fri, 18 Jun 1999 19:32:06 +0200
Content-Type: multipart/mixed; boundary="---- =_NextPart_000_01BEB9C1.40B84F40"

------ =_NextPart_000_01BEB9C1.40B84F40

Martin,
the mapi.ijs from Alex is a good solution so I must not look for sth else
but thanks anyway for the proposed alternative.
/regards - Milan

----------
From: Martin Neitzel[SMTP:neitzel@gaertner.de]
Sent: 	Donnerstag, 17. Juni 1999 05:02

From: neitzel@gaertner.de (Martin Neitzel)
Subject: Re: Jforum: attachments/reuters
Organization: Gaertner Datensysteme, Braunschweig, Germany
References: <3768193D.F6F05740@bluewin.ch>
Date: Thu, 17 Jun 1999 03:02:39 GMT

milan <milan.ice@bluewin.ch> wrote:
>
>--------------0678FBA90437201D39622454
>Content-Type: text/plain; charset=us-ascii
>Content-Transfer-Encoding: 7bit
>
>
>   I have 2 questions:
>
>  a) I have a J server in place to distribute data using FTP/ODBC etc.
>that I use in a big company.
>     But there are situations where I should send attachments (which
>might be Excel-Spreadsheets
>     or MsAccess databases) to specific E-mail addresses.
>
>    Does somebody know of a method or an already existing feature
>accessible by J  that would
>    allow me to send attachments to an E-mail address?
>    (Ps : the company uses outlook as its E-mail system and the MAPI
>works fine with it ,but
>     I'm not sure if I can also use MAPI for sending attachments.)
>

I'm not familiar with the MS MAPI but Henry's code looks like
attachments are possible.

Making attachments on your own is easy and just a matter two things:

(1) You have to create the very straightforward MIME headers and
    sub part headers (for an example, I quoted your original question
    as sent with your original boundary line and sub part header)

(2) Binary subparts such as an excel file must be ascii encoded
    using "base64" encoding.

I have written simple base64 encoding and decoding utilities in J three
years ago.  Should I make them available?

							Martin

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

------ =_NextPart_000_01BEB9C1.40B84F40
Content-Type: application/ms-tnef
Content-Transfer-Encoding: base64

eJ8+IgcRAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAEIgAcAGAAAAElQTS5NaWNy
b3NvZnQgTWFpbC5Ob3RlADEIAQ2ABAACAAAAAgACAAEEkAYAHAEAAAEAAAAMAAAAAwAAMAIAAAAL
AA8OAAAAAAIB/w8BAAAARQAAAAAAAACBKx+kvqMQGZ1uAN0BD1QCAAAAAGZvcnVtQGpzb2Z0d2Fy
ZS5jb20AU01UUABmb3J1bUBqc29mdHdhcmUuY29tAAAAAB4AAjABAAAABQAAAFNNVFAAAAAAHgAD
MAEAAAAUAAAAZm9ydW1AanNvZnR3YXJlLmNvbQADABUMAQAAAAMA/g8GAAAAHgABMAEAAAAWAAAA
J2ZvcnVtQGpzb2Z0d2FyZS5jb20nAAAAAgELMAEAAAAZAAAAU01UUDpGT1JVTUBKU09GVFdBUkUu
Q09NAAAAAAMAADkAAAAACwBAOgEAAAACAfYPAQAAAAQAAAAAAAACGTQBBIABAAUAAABSRTogAPEA
AQWAAwAOAAAAzwcGABIAEwAgAAYABQAsAQEggAMADgAAAM8HBgASABMAHwAtAAUAUgEBCYABACEA
AAA2REIzODA3QkFGQjlCRTExODZEQTZFRDE5NDNDMDY0RQBgBwEDkAYAbAgAABQAAAALACMAAAAA
AAMAJgAAAAAACwApAAAAAAADAC4AAAAAAAMANgAAAAAAQAA5AICmh3ywub4BHgBwAAEAAAAFAAAA
UkU6IAAAAAACAXEAAQAAABYAAAABvrmwfIePwejiJbMR05a/REVTVAAAAAAeAB4MAQAAAAUAAABT
TVRQAAAAAB4AHwwBAAAAFQAAAG1pbGFuLmljZUBibHVld2luLmNoAAAAAAMABhDpFoX7AwAHEJcG
AAAeAAgQAQAAAGUAAABNQVJUSU4sVEhFTUFQSUlKU0ZST01BTEVYSVNBR09PRFNPTFVUSU9OU09J
TVVTVE5PVExPT0tGT1JTVEhFTFNFQlVUVEhBTktTQU5ZV0FZRk9SVEhFUFJPUE9TRURBTFRFUk5B
AAAAAAIBCRABAAAA7wYAAOsGAAAVDAAATFpGdf9Q3Xb/AAoBDwIVAqQD5AXrAoMAUBMDVAIAY2gK
wHNldO4yBgAGwwKDMgPGBxMCg7ozEw19CoAIzwnZOxX/eDI1NQKACoENsQtgbr5nAdAYQAr7EvIM
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

------ =_NextPart_000_01BEB9C1.40B84F40--

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

From owner-jsoftware@lists.interlog.com  Fri Jun 18 14:47:10 1999
From: Andromeda <milan.ice@bluewin.ch>
Subject: RE: Jforum: attachments/reuters
Date: Fri, 18 Jun 1999 19:27:07 +0200
Content-Type: multipart/mixed; boundary="---- =_NextPart_000_01BEB9C0.8F1DB220"

------ =_NextPart_000_01BEB9C0.8F1DB220

      Hi Alex ,

      thank you very much for your fast answer.The script does exactly what I wanted.

      /cheers - Milan

----------
From: Alex Kornilovski[SMTP:kornal@idirect.com]
Sent: 	Donnerstag, 17. Juni 1999 01:00
Subject: Re: Jforum: attachments/reuters

<<File: Mapi.ijs>>
Milan wrote:

 >    Does somebody know of a method or an already existing feature
accessible by J  that would
 >   allow me to send attachments to an E-mail address?
 >   (Ps : the company uses outlook as its E-mail system and the MAPI works
fine with it ,but
 >   I'm not sure if I can also use MAPI for sending attachments.)

Attached a bit modified version of Henry's MAPI interface that allows you to
send attachment (I was able to send attachment to myself and my
zdnetmail.com accounts). I am using Outlook express.

Alex

------ =_NextPart_000_01BEB9C0.8F1DB220
Content-Type: application/ms-tnef
Content-Transfer-Encoding: base64

eJ8+IgkRAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAEIgAcAGAAAAElQTS5NaWNy
b3NvZnQgTWFpbC5Ob3RlADEIAQ2ABAACAAAAAgACAAEEkAYAHAEAAAEAAAAMAAAAAwAAMAIAAAAL
AA8OAAAAAAIB/w8BAAAARQAAAAAAAACBKx+kvqMQGZ1uAN0BD1QCAAAAAGZvcnVtQGpzb2Z0d2Fy
ZS5jb20AU01UUABmb3J1bUBqc29mdHdhcmUuY29tAAAAAB4AAjABAAAABQAAAFNNVFAAAAAAHgAD
MAEAAAAUAAAAZm9ydW1AanNvZnR3YXJlLmNvbQADABUMAQAAAAMA/g8GAAAAHgABMAEAAAAWAAAA
J2ZvcnVtQGpzb2Z0d2FyZS5jb20nAAAAAgELMAEAAAAZAAAAU01UUDpGT1JVTUBKU09GVFdBUkUu
Q09NAAAAAAMAADkAAAAACwBAOgEAAAACAfYPAQAAAAQAAAAAAAACGTQBBIABACAAAABSRTogSmZv
cnVtOiBhdHRhY2htZW50cy9yZXV0ZXJzAJMLAQWAAwAOAAAAzwcGABIAEwAbAAcABQAoAQEggAMA
DgAAAM8HBgASABMAGQAvAAUATgEBCYABACEAAAA1QkIzODA3QkFGQjlCRTExODZEQTZFRDE5NDND
MDY0RQBdBwEDkAYAGAUAABQAAAALACMAAAAAAAMAJgAAAAAACwApAAAAAAADAC4AAAAAAAMANgAA
AAAAQAA5AICPPcqvub4BHgBwAAEAAAAgAAAAUkU6IEpmb3J1bTogYXR0YWNobWVudHMvcmV1dGVy
cwACAXEAAQAAABYAAAABvrmvyj2PwejhJbMR05a/REVTVAAAAAAeAB4MAQAAAAUAAABTTVRQAAAA
AB4AHwwBAAAAFQAAAG1pbGFuLmljZUBibHVld2luLmNoAAAAAAMABhBQGK/YAwAHEIYCAAAeAAgQ
AQAAAGUAAABISUFMRVgsVEhBTktZT1VWRVJZTVVDSEZPUllPVVJGQVNUQU5TV0VSVEhFU0NSSVBU
RE9FU0VYQUNUTFlXSEFUSVdBTlRFRC9DSEVFUlMtTUlMQU4tLS0tLS0tLS0tRlJPTTpBAAAAAAIB
CRABAAAAhAMAAIADAAA9BgAATFpGdctOU8//AAoBDwIVAqQD5AXrAoMAUBMDVAIAY2gKwHNldO4y
BgAGwwKDMgPGBxMCg7ozEw19CoAIzwnZOxX/eDI1NQKACoENsQtgbr5nAdAYQAr7FCIMAWMAQCYg
CoUbREhpE3BsZVh4ICwKhRrrdBHAbkhrIHkIYCB2BJB56CBtdRGwIAIQBcAd4bEFwGZhcwVAAHF3
BJAgLlRoZSAE9WRvpweRHAAA0HRsHlB3EcCtBUBJIYAAcHQJgC4a650a6y8RsAngEeAgLQXQDwMQ
AHAcTAqLbGkxOIIwAtFpLTE0NA3w5wzQJ1MLWTE2CqADYCIwfyFAJIApdwqHKCsMMCj2Rr0DYToq
fij2DIIb1EsFsAEDAW92c2tpW1NgTVRQOmsukQdAQFhpZGkWACFALgWgbX5dKh8rLQZgAjAsXy1r
RA0CIG4kUQGQZywgMWA3LiBKdQMANZA54TZAIDAxOibwMM8rLRxUbzMPLWsewXVtQPhqc28BgCIA
FgAwcjbfcTHedWJqKTE4/y1rUvplPnBKOtM+cCGwAZARsNMHgAIwcy8WAHUiMBHg8yV/JoMzNif3
EvIMASj2GDw8RgMQQGFNYXDIaS5pOzA+PgqFJLPrIYApAjocTT4bQjTgB5EXO0AHgAbgZB5Qa25v
3wfgO1AfkB5gEgBoBHBJ8O8FwAORB0AWAGFJgRwABABadAuAZx6wS1B0CHBlewqFANBjB5AAkAJg
IDBiLR5QSh1jBUB3CGBsZL9ICgdAFZAH4AeAHXBvIECfCfBKoEEZUAIDkUUtAMBbAxFLYGQWAAQQ
P0gKKH5QBCA+cB2AIDAwgQqwbj0eUHUR8AQgCGAhUG9vMx3AH2AgaVEhUbVzeTkfcGVtH5FKoFPC
TUH2UCHhBbBrQjYnIDUQIYBvVYAeoFWAHCBiQfBICknuJ1aAScAFQHNMcVVwShD9IeBjSvM7QFRy
VxQewlBC00vyQRkuKRxMQUEjCYD9SiFiWNEEYQaQCJBKoB4htwCQAiBJ8kgJ8B5AJw/R/1cyC4BC
AR9QTTBOFE+DBCD/HeJQEAqFUE1TUCHiBCABoC9NkVAfBUBloW1WQGVsT0oRUGFnAAqFemQ1EHTf
UdIwck0CCGBBkSk1wCHg7mFWgFSAS/JPVOUcACjw/01BImZeRhvxJQ9C70P/KTILCoUVIQBwwAMA
EBAAAAAAAwAREAAAAABAAAcwwMBgmq+5vgFAAAgwwMBgmq+5vgEeAD0AAQAAAAUAAABSRTogAAAA
AAMADTT9NwAAHXM=

------ =_NextPart_000_01BEB9C0.8F1DB220--

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

From owner-jsoftware@lists.interlog.com  Fri Jun 18 19:14:51 1999
From: Andrew Nikitin <anikitin@fastenal.com>
Subject: Jforum: scriptdoc fails on gl2
Date: Fri, 18 Jun 1999 18:11:23 -0500
Content-Type: multipart/mixed;
	boundary="---- =_NextPart_000_01BEB9B5.F959BEA0"

This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

------ =_NextPart_000_01BEB9B5.F959BEA0

I use the following replacement to the standard 'gl2' library (see
attached zip). When I run scriptdoc on this file it shows help, but if i
check on summary button, then scriptdoc fails with

error in: sdoc_sum_button

result error: wd
       wd'set view *',dat

messagebox.

What is wrong with this file?

nsg

------ =_NextPart_000_01BEB9B5.F959BEA0
Content-Type: application/octet-stream;
	name="gl2.zip"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="gl2.zip"

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

------ =_NextPart_000_01BEB9B5.F959BEA0--

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

From owner-jsoftware@lists.interlog.com  Sat Jun 19 03:36:33 1999
Date: Sat, 19 Jun 1999 09:31:17 +0200
From: "d.alis" <dalis@balcab.ch>
Subject: Re: Jforum: J for Windows CE
References: <002201be252f$43f9fd60$2d0114d1@xps200>

Which WinCE machines have, or can be connected to, a hard disk? I have looked at a
couple of  HP web pages and distributer sites, but I havent found a site that gives
me a clear idea one way or the other.
Thanks for any advice.
David

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

From owner-jsoftware@lists.interlog.com  Sat Jun 19 13:25:03 1999
From: "David Vincent-Jones" <geomap@galaxynet.com>
References: <002201be252f$43f9fd60$2d0114d1@xps200> <376B4744.BF7E8E48@balcab.ch>
Subject: Re: Jforum: J for Windows CE
Date: Sat, 19 Jun 1999 09:53:33 -0700

I know that there have been several messages on WinCE but it would really be
great if somebody could put together a comprehensive blurb on the whole
subject as it relates to J.
>From some prior messages it sounded like even installation really was a
hassle!

What are optimal hardware needs?

Does the chipset make a big difference?

How is it installed?

Are there operating limitations?

How will performance compare?

----- Original Message -----
From: d.alis <dalis@balcab.ch>
Sent: June 19, 1999 12:31 AM
Subject: Re: Jforum: J for Windows CE

> Which WinCE machines have, or can be connected to, a hard disk? I have
looked at a
> couple of  HP web pages and distributer sites, but I havent found a site
that gives
> me a clear idea one way or the other.
> Thanks for any advice.
> David
>
>
>
> --------------------------------------------------------------------------
------
> 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 Jun 19 17:27:30 1999
Date: Sun, 20 Jun 1999 00:33:27 +0300
From: Anssi  Seppala <anssi.seppala@enease.fi>
Subject: Re: Jforum: J for Windows CE
In-Reply-To: <001c01beba76$bb44ad20$490881ce@desktop>
References: <002201be252f$43f9fd60$2d0114d1@xps200>
 <376B4744.BF7E8E48@balcab.ch>
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by plus.interlog.com id RAA28882

I have hp620lx. You do not need a hard disk attached. I have a PCMCIA flash
memory card 15MB and my PC can read/write such memory. With the memory card
I can move a lot of data.

Optimal WINCE is system you can afford memory, performance, display cost
$$ and you need all of them with J. With J there must be also a keyboard.

The J language is quite similar but GUI is not. The CE GUI is very limited
and PC GUI is only partly protable from PC to CE.

Anssi

At 09:53 19.6.1999 -0700, you wrote:
>I know that there have been several messages on WinCE but it would really be
>great if somebody could put together a comprehensive blurb on the whole
>subject as it relates to J.
>>From some prior messages it sounded like even installation really was a
>hassle!
>
>What are optimal hardware needs?
>
>Does the chipset make a big difference?
>
>How is it installed?
>
>Are there operating limitations?
>
>How will performance compare?
>
>
>----- Original Message -----
>From: d.alis <dalis@balcab.ch>
>To: <forum@JSoftware.Com>
>Sent: June 19, 1999 12:31 AM
>Subject: Re: Jforum: J for Windows CE
>
>
>> Which WinCE machines have, or can be connected to, a hard disk? I have
>looked at a
>> couple of  HP web pages and distributer sites, but I havent found a site
>that gives
>> me a clear idea one way or the other.
>> Thanks for any advice.
>> David
>>
>>
>>
>> --------------------------------------------------------------------------
>------
>> 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

-------------------------------------------------------------------
Anssi Sepp�l�
Konsultti, s�hk�markkinat ja s�hk�njakelu: Sovellukset ja ohjelmistot

e-mail: anssi.seppala@enease.fi	tel: +358 9 45400550
Enease Oy				fax: +358 9 45400551
Mannerheimintie 66 A			mob: +358 400 760077
FIN - 00260  HELSINKI, Finland	http://www.kolumbus.fi/enease/

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

From owner-jsoftware@lists.interlog.com  Sun Jun 20 01:15:12 1999
Date: Sun, 20 Jun 1999 07:10:51 +0200
From: "d.alis" <dalis@balcab.ch>
Subject: Re: Jforum: J for Windows CE
References: <002201be252f$43f9fd60$2d0114d1@xps200>
	 <376B4744.BF7E8E48@balcab.ch> <4.1.19990620002605.00a62510@pop.kolumbus.fi>
Content-Transfer-Encoding: 8bit

I ask about hard disks because the applications I have in mind  involve around
200-400Meg of data.

Anssi Seppala wrote:

> I have hp620lx. You do not need a hard disk attached. I have a PCMCIA flash
> memory card 15MB and my PC can read/write such memory. With the memory card
> I can move a lot of data.
>
> Optimal WINCE is system you can afford memory, performance, display cost
> $$ and you need all of them with J. With J there must be also a keyboard.
>
> The J language is quite similar but GUI is not. The CE GUI is very limited
> and PC GUI is only partly protable from PC to CE.
>
> Anssi
>
> At 09:53 19.6.1999 -0700, you wrote:
> >I know that there have been several messages on WinCE but it would really be
> >great if somebody could put together a comprehensive blurb on the whole
> >subject as it relates to J.
> >>From some prior messages it sounded like even installation really was a
> >hassle!
> >
> >What are optimal hardware needs?
> >
> >Does the chipset make a big difference?
> >
> >How is it installed?
> >
> >Are there operating limitations?
> >
> >How will performance compare?
> >
> >
> >----- Original Message -----
> >From: d.alis <dalis@balcab.ch>
> >To: <forum@JSoftware.Com>
> >Sent: June 19, 1999 12:31 AM
> >Subject: Re: Jforum: J for Windows CE
> >
> >
> >> Which WinCE machines have, or can be connected to, a hard disk? I have
> >looked at a
> >> couple of  HP web pages and distributer sites, but I havent found a site
> >that gives
> >> me a clear idea one way or the other.
> >> Thanks for any advice.
> >> David
> >>
> >>
> >>
> >> --------------------------------------------------------------------------
> >------
> >> 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
>
> -------------------------------------------------------------------
> Anssi Sepp�l�
> Konsultti, s�hk�markkinat ja s�hk�njakelu: Sovellukset ja ohjelmistot
>
> e-mail: anssi.seppala@enease.fi tel: +358 9 45400550
> Enease Oy                               fax: +358 9 45400551
> Mannerheimintie 66 A                    mob: +358 400 760077
> FIN - 00260  HELSINKI, Finland  http://www.kolumbus.fi/enease/
>
> --------------------------------------------------------------------------------
> J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

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

From owner-jsoftware@lists.interlog.com  Sun Jun 20 04:05:39 1999
Date: Sun, 20 Jun 1999 11:12:53 +0300
From: Anssi  Seppala <anssi.seppala@enease.fi>
Subject: Re: Jforum: J for Windows CE
In-Reply-To: <376C77DB.98CD1E6D@balcab.ch>
References: <002201be252f$43f9fd60$2d0114d1@xps200>
 <376B4744.BF7E8E48@balcab.ch>
 <4.1.19990620002605.00a62510@pop.kolumbus.fi>

Why not ordinary PC or laptop? Hard disk requires power and  CE computers
are designed for batteries.

Flash memories can be very big >80 mB and you may have 2 in some machines.
Maybe you can use data compression?

Anssi

Flash memory may be 80MB or even more.
At 07:10 20.6.1999 +0200, you wrote:
>I ask about hard disks because the applications I have in mind  involve around
>200-400Meg of data.
>

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

From owner-jsoftware@lists.interlog.com  Sun Jun 20 12:18:31 1999
From: "Chris Burke" <cdburke@interlog.com>
Subject: Jforum: J403b
Date: Sun, 20 Jun 1999 12:18:34 -0400
	charset="iso-8859-1"

J4.03b is now available at the web site. This release fixes some
problems in the 'a' release, including the Excel OLE server crash and
OCX cut/paste support. We recommend that serious J users download this
new version.

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

From owner-jsoftware@lists.interlog.com  Sun Jun 20 12:22:32 1999
From: "Chris Burke" <cdburke@interlog.com>
References: <ED32805AF20ED21186AE00805FA615340131CCAD@NUT>
Subject: Re: Jforum: scriptdoc fails on gl2
Date: Sun, 20 Jun 1999 12:22:38 -0400
	charset="iso-8859-1"

The problem was that dat was too large (~80K) to be displayed in an
edit control. The reason why your file increased to this size, from
about 20K, was that in formatting the scriptdoc output, the data was
made into a matrix, and so each row was padded out with blanks.

This problem is fixed in J403b.

> I use the following replacement to the standard 'gl2' library (see
> attached zip). When I run scriptdoc on this file it shows help, but
if i
> check on summary button, then scriptdoc fails with
>
> error in: sdoc_sum_button
>
> result error: wd
>        wd'set view *',dat
>
> messagebox.
>
> What is wrong with this file?

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

From owner-jsoftware@lists.interlog.com  Sun Jun 20 12:25:25 1999
From: "Chris Burke" <cdburke@interlog.com>
References: <A12A4ACD69B4D011BB960020AFFBF108029E90D8@exs02.ex.nus.edu.sg> <001f01beaa04$b2650ab0$9e15bac3@oti.com>
Subject: Re: Jforum: DICTIONARIES IN J
Date: Sun, 20 Jun 1999 12:25:55 -0400
	charset="iso-8859-1"

Simon's dictionary class is in J403b, see
system\classes\dict\dictdemo.ijs

----- Original Message -----
From: Simon Garland <simon_garland@bluewin.ch>
Sent: Saturday, May 29, 1999 2:54 PM
Subject: Re: Jforum: DICTIONARIES IN J

> I've got a neat implementation of dictionaries (3 different classes,
for
> general text keys, for tokens, and for numbers) I'll sort out the
code and
> send it shortly.
>
> ----- Original Message -----
> From: Ajith Prasad <burap@nus.edu.sg>
> To: <forum@jsoftware.com>
> Sent: Saturday, May 29, 1999 6:53 PM
> Subject: Jforum: DICTIONARIES IN J
>
>
> > Python and K directly support "dictionaries". For example, in
Python, I
> can
> > write a salary lookup table for, say, 3 employees as a dictionary
of the
> > form:

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

From owner-jsoftware@lists.interlog.com  Sun Jun 20 17:07:32 1999
Date: Sun, 20 Jun 1999 23:02:23 +0200
From: "p.smith" <smith@ibm.net>
Subject: Re: Jforum: J for Windows CE
References: <002201be252f$43f9fd60$2d0114d1@xps200>
	 <376B4744.BF7E8E48@balcab.ch>
	 <4.1.19990620002605.00a62510@pop.kolumbus.fi> <4.1.19990620110534.009ec6c0@pop.kolumbus.fi>

Thanks for the suggestion.

Anssi Seppala wrote:

> Why not ordinary PC or laptop? Hard disk requires power and  CE computers
> are designed for batteries.
>
> Flash memories can be very big >80 mB and you may have 2 in some machines.
> Maybe you can use data compression?
>
> Anssi
>
> Flash memory may be 80MB or even more.
> At 07:10 20.6.1999 +0200, you wrote:
> >I ask about hard disks because the applications I have in mind  involve around
> >200-400Meg of data.
> >
>
> --------------------------------------------------------------------------------
> 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 Jun 21 01:59:07 1999
From: k-list@iname.com
Date: Mon, 21 Jun 1999 01:56:13 -0400 (EDT)
Content-Type: Text/Plain
Subject: Jforum: test results: double-byte & OCX

I agree that it is not cost effective to make J core to support double-byte. But it will be sufficient for most applications if double-byte i/o works.

I downloaded j403b last night, and did some testing on
OCX: input pro 3.0, VB textbox, Farpoint Spreadsheet
here what I got:-
environment 1:
English version Win98, ACP/OEMCP=1252
Njstar commuicator 2.0
(plug-in for viewing and input Chinese, Japanese and Korean)
oleset oleget keyboard-input: all work. \(^o^)/

environment 2:
Traditional Chinese version Win98 , ACP/OEMCP=950
(use native shell for viewing and input Chinese)
oleset oleget : both failed.  (+.+)
keyboard-input: work.  (^o^)

Will it be the choice of codepage in the MultiByte<->WideChar conversion API that causes error?

Moreover,
window's generic edit/text control works in all cases.
VB+OCX also work in all cases.

I do not prefer window's generic controls because there lacks "wd'get" command to retrieve text (although q can do the job).

---------------------------------------------------
Get free personalized email at http://www.iname.com

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

From owner-jsoftware@lists.interlog.com  Mon Jun 21 11:35:59 1999
From: "Nichols, Peter" <pnichols@sprinc.com>
Subject: RE: Jforum: J403b
Date: Mon, 21 Jun 1999 10:21:56 -0500

Chris, the website only shows J4.03a and gets an error if you try to
download.

Peter Nichols

> -----Original Message-----
> From:	Chris Burke [SMTP:cdburke@interlog.com]
> Sent:	Sunday, June 20, 1999 11:19 AM
> To:	JForum
> Subject:	Jforum: J403b
>
> J4.03b is now available at the web site. This release fixes some
> problems in the 'a' release, including the Excel OLE server crash and
> OCX cut/paste support. We recommend that serious J users download this
> new version.
>
>
>
>
>
> --------------------------------------------------------------------------
> ------
> 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 Jun 21 11:49:23 1999
From: "Chris Burke" <cdburke@interlog.com>
References: <01074BD4EEC4D1118E3200805F6542A7177F15@SPRDALLAS2>
Subject: Re: Jforum: J403b
Date: Mon, 21 Jun 1999 11:46:26 -0400
	charset="iso-8859-1"

We occasionally get complaints of this type.

J403b is definitely at the website (we have plenty of downloads so
far), and I suspect the problem is that your browser needs to be
refreshed. If this is the problem, does anyone know if there is any
way we can force the page to be refreshed?

----- Original Message -----
From: Nichols, Peter <pnichols@sprinc.com>
Sent: Monday, June 21, 1999 11:21 AM
Subject: RE: Jforum: J403b

> Chris, the website only shows J4.03a and gets an error if you try to
> download.
>
> Peter Nichols
>
> > -----Original Message-----
> > From: Chris Burke [SMTP:cdburke@interlog.com]
> > Sent: Sunday, June 20, 1999 11:19 AM
> > To: JForum
> > Subject: Jforum: J403b
> >
> > J4.03b is now available at the web site. This release fixes some
> > problems in the 'a' release, including the Excel OLE server crash
and
> > OCX cut/paste support. We recommend that serious J users download
this
> > new version.

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

From owner-jsoftware@lists.interlog.com  Mon Jun 21 12:45:15 1999
From: "Nichols, Peter" <pnichols@sprinc.com>
Subject: RE: Jforum: J403b
Date: Mon, 21 Jun 1999 11:38:06 -0500

Ok, Got it.  Clicking Refresh in Internet Exploder gets it.  Thanks.

> -----Original Message-----
> From:	Chris Burke [SMTP:cdburke@interlog.com]
> Sent:	Monday, June 21, 1999 10:46 AM
> To:	forum@jsoftware.com
> Subject:	Re: Jforum: J403b
>
> We occasionally get complaints of this type.
>
> J403b is definitely at the website (we have plenty of downloads so
> far), and I suspect the problem is that your browser needs to be
> refreshed. If this is the problem, does anyone know if there is any
> way we can force the page to be refreshed?
>
> ----- Original Message -----
> From: Nichols, Peter <pnichols@sprinc.com>
> To: <forum@jsoftware.com>
> Sent: Monday, June 21, 1999 11:21 AM
> Subject: RE: Jforum: J403b
>
>
> > Chris, the website only shows J4.03a and gets an error if you try to
> > download.
> >
> > Peter Nichols
> >
> > > -----Original Message-----
> > > From: Chris Burke [SMTP:cdburke@interlog.com]
> > > Sent: Sunday, June 20, 1999 11:19 AM
> > > To: JForum
> > > Subject: Jforum: J403b
> > >
> > > J4.03b is now available at the web site. This release fixes some
> > > problems in the 'a' release, including the Excel OLE server crash
> and
> > > OCX cut/paste support. We recommend that serious J users download
> this
> > > new version.
>
>
>
>
> --------------------------------------------------------------------------
> ------
> 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 Jun 21 13:41:10 1999
From: "Gilles Kirouac" <gkirouac@riq.qc.ca>
Date: Mon, 21 Jun 99 13:28:47 -0500
Subject: Jforum: Uninstalling J

 Attempting to uninstall J403a with Add/Remove Prog
 (in order to install elsewhere) leads to:

 "An error occurred while trying to remove J folder...
 Uninstallation has been canceled."

 Using NT4 US English no SP.

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

From owner-jsoftware@lists.interlog.com  Mon Jun 21 21:35:21 1999
X-Sent: 22 Jun 1999 01:30:41 GMT
From: "Barry Savage" <bv@bsavage.net>
References: <01074BD4EEC4D1118E3200805F6542A7177F15@SPRDALLAS2>
Subject: Re: Jforum: J403b
Date: Mon, 21 Jun 1999 21:31:39 -0400
	charset="iso-8859-1"

It was reported by at least one party
that the J website seems to contain
J403a rather than j403b (for NT/98/95).

I got the same error!
But in fact it is not an error and I was
able to download J403b.exe with no problem.

The solution lies in refreshing/reloading the page.

Unfortunately just pressing the appropriate button may
reload the page from the browser's cache rather than
update from the web site. To be sure to get the updated page ...

(1) press the Ctrl (control) key and Refesh button at the same
      time in Internet Explorer

(2) press the Shift key and Reload button at the same time
     in Netscape Navigator

Barry Savage
bv@bsavage.net

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

From owner-jsoftware@lists.interlog.com  Tue Jun 22 10:23:33 1999
Date: Tue, 22 Jun 1999 10:20:52 -0400
From: Brian Bambrough <b.bambrough@worldnet.att.net>
Subject: Jforum: Grids without OOP

When I leave a client with a system that I have written, one of my top
priorities is that the client's personnel can maintain it.  In my case
this means actuarial students.

Actuarial students do not want to be programmers.  They want to pass
the exams and become actuaries.  On the way to this goal they do a lot
of projects, preferably with their beloved Excel spreadsheet program.
However, if their boss tells them to learn enough APL or J or whatever
to modify a system, they will attempt to do it.

So the system I leave has to have a very clear structure.  I try to
use only a subset of the language.  I write short lines of code with
almost all lines having a comment.  I comment both the programming and
business aspects.  I have a small subset of idioms and I use them
consistently.  These the other practices minimize what they need to
know and makes the learning curve manageable.

To further minimize the learning curve it is my strong instinct to
stay away from OOP.  OOP adds another layer of abstraction.  It takes
a lot of effort to learn, especially for people who do not intend to
become programmers.

In the current implementation of J, the primary tool for data entry of
tables seems to be the grid.  In all the documentation, labs and
scripts provided with J, the only way to access grids is with OOP.  It
seems to me that it makes for a faster learning curve to dispense with
OOP and to program the grid directly.  After all, there are only 22
glgrid commands plus a few other gl commands to learn.

Of course, I could be completely wrong in this.  Maybe OOP is easier.
To find out, I have been experimenting with OOPless grids.  I have
duplicated the "Report" example from the Lab "Grid Basic Examples" in
a script that is completely stand-alone except for "require 'gl2'".

I would be interested to know what others think of this attempt.  If
anybody wants to check out my report script, I will be happy to e-mail
it.

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

From owner-jsoftware@lists.interlog.com  Tue Jun 22 13:58:54 1999
From: "Donald B. McIntyre" <donald.mcintyre@kinfauns.demon.co.uk>
References: <376F9BC4.E4979458@worldnet.att.net>
Subject: Re: Jforum: Grids without OOP
Date: Tue, 22 Jun 1999 17:43:46 +0100
	charset="iso-8859-1"

Brian:

I am very interested in what you report and would be grateful if you would
e-mail a copy of your report script.

Donald B. McIntyre
Beaumont House, Apt.17
15 St John's Place
Perth PH1 5SZ
Scotland -- U.K.

Tel: (44) 1738-451-331
Fax: (44) 1738-451-332
donald.mcintyre@kinfauns.demon.co.uk

----- Original Message -----
From: Brian Bambrough <b.bambrough@worldnet.att.net>
Sent: 22 June 1999 15:20
Subject: Jforum: Grids without OOP

> When I leave a client with a system that I have written, one of my top
> priorities is that the client's personnel can maintain it.  In my case
> this means actuarial students.
>
> Actuarial students do not want to be programmers.  They want to pass
> the exams and become actuaries.  On the way to this goal they do a lot
> of projects, preferably with their beloved Excel spreadsheet program.
> However, if their boss tells them to learn enough APL or J or whatever
> to modify a system, they will attempt to do it.
>
> So the system I leave has to have a very clear structure.  I try to
> use only a subset of the language.  I write short lines of code with
> almost all lines having a comment.  I comment both the programming and
> business aspects.  I have a small subset of idioms and I use them
> consistently.  These the other practices minimize what they need to
> know and makes the learning curve manageable.
>
> To further minimize the learning curve it is my strong instinct to
> stay away from OOP.  OOP adds another layer of abstraction.  It takes
> a lot of effort to learn, especially for people who do not intend to
> become programmers.
>
> In the current implementation of J, the primary tool for data entry of
> tables seems to be the grid.  In all the documentation, labs and
> scripts provided with J, the only way to access grids is with OOP.  It
> seems to me that it makes for a faster learning curve to dispense with
> OOP and to program the grid directly.  After all, there are only 22
> glgrid commands plus a few other gl commands to learn.
>
> Of course, I could be completely wrong in this.  Maybe OOP is easier.
> To find out, I have been experimenting with OOPless grids.  I have
> duplicated the "Report" example from the Lab "Grid Basic Examples" in
> a script that is completely stand-alone except for "require 'gl2'".
>
> I would be interested to know what others think of this attempt.  If
> anybody wants to check out my report script, I will be happy to e-mail
> it.
>
>
>
> --------------------------------------------------------------------------
------
> 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 Jun 22 15:08:32 1999
Date: Tue, 22 Jun 1999 15:05:46 -0400
From: David Ness <DNess@home.com>
Subject: Jforum: I have a trivial problem that ...

... I think I remember from discussion here, but can't find my
notes:

  v =: 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 1 1

representing, and in order, start (0) and end (1) of `strings', which
can clearly contain strings. The first begins at 0 and ends at 23.
The next begins at 1 and ends at 2, ...

I can get `string begins' easily with
   beg =: (1-v)*+/\0=v
which produces
   1 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 10 0 11 0 12 0 0 0
but I am having `mind storms' trying to produce
   0 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 0 10 0 11 0 12 9 1
which indicates where the given strings end...

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

From owner-jsoftware@lists.interlog.com  Tue Jun 22 16:01:48 1999
From: "Steven J. Mandula" <smandula@idirect.com>
Subject: RE: Jforum: Grids without OOP
Date: Tue, 22 Jun 1999 13:55:42 -0400
	charset="iso-8859-1"
Importance: Normal
In-Reply-To: <376F9BC4.E4979458@worldnet.att.net>

I would be interested receiving a copy of your report script

With thanks

Steve Mandula

smandula@idirect.com

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

From owner-jsoftware@lists.interlog.com  Tue Jun 22 16:01:50 1999
From: "Donald B. McIntyre" <donald.mcintyre@kinfauns.demon.co.uk>
References: <01074BD4EEC4D1118E3200805F6542A7177F15@SPRDALLAS2> <000201bebc4e$fa65d040$6c7bbfa8@palmtop>
Subject: Re: Jforum: J403b
Date: Tue, 22 Jun 1999 18:52:58 +0100
	charset="iso-8859-1"

Many thanks for this clarification.  I have a friend who had run into the
problem and he was grateful to learn your solution.

----- Original Message -----
From: Barry Savage <bv@bsavage.net>
Sent: 22 June 1999 02:31
Subject: Re: Jforum: J403b

> It was reported by at least one party
> that the J website seems to contain
> J403a rather than j403b (for NT/98/95).
>
> I got the same error!
> But in fact it is not an error and I was
> able to download J403b.exe with no problem.
>
> The solution lies in refreshing/reloading the page.
>
> Unfortunately just pressing the appropriate button may
> reload the page from the browser's cache rather than
> update from the web site. To be sure to get the updated page ...
>
> (1) press the Ctrl (control) key and Refesh button at the same
>       time in Internet Explorer
>
> (2) press the Shift key and Reload button at the same time
>      in Netscape Navigator
>
> Barry Savage
> bv@bsavage.net
>
>
>
>
> --------------------------------------------------------------------------
------
> 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 Jun 22 17:08:48 1999
From: arneson@pkb.mega.net.id (arneson)
Subject: Jforum: Read  disk label?
Date: Tue, 22 Jun 1999 07:57:53 +0700

How can I read a disk label from J?

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

From owner-jsoftware@lists.interlog.com  Tue Jun 22 19:02:56 1999
From: "Alex Kornilovski" <kornal@idirect.com>
Subject: Re: Jforum: Read  disk label?
Date: Tue, 22 Jun 1999 19:07:10 -0400
	charset="iso-8859-1"

>How can I read a disk label from J?

load 'dll'
r=.'kernel32 GetVolumeInformationA i *c *c i i i i *c i' cd('a:\');(100



');100;0;0;0;(10#' ');10

2{r gives you disk(volume) label
7{r gives you file system type (FAT or NTFS)

'kernel32 SetVolumeLabelA i *c *c' cd 'a:\';'test label'
2{  'kernel32 GetVolumeInformationA i *c *c i i i i *c i'
cd('a:\');(100


 ');100;0;0;0;(10#' ');10
  TEST LABEL

7{  'kernel32 GetVolumeInformationA i *c *c i i i i *c i'
cd('a:\');(100


 ');100;0;0;0;(10#' ');10
   FAT

Alex

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

From owner-jsoftware@lists.interlog.com  Tue Jun 22 21:44:55 1999
From: Ajith Prasad <burap@nus.edu.sg>
Subject: RE: Jforum: Grids without OOP
Date: Wed, 23 Jun 1999 09:42:34 +0800
	charset="ISO-8859-1"

As quite a few have expressed interest in Brian's script, perhaps he should
post it to the forum as a whole. Thanks.

----- Original Message -----
From: Brian Bambrough <b.bambrough@worldnet.att.net>
Sent: 22 June 1999 15:20
Subject: Jforum: Grids without OOP

> When I leave a client with a system that I have written, one of my top
> priorities is that the client's personnel can maintain it.  In my case
> this means actuarial students.
>
> Actuarial students do not want to be programmers.  They want to pass
> the exams and become actuaries.  On the way to this goal they do a lot
> of projects, preferably with their beloved Excel spreadsheet program.
> However, if their boss tells them to learn enough APL or J or whatever
> to modify a system, they will attempt to do it.
>
> So the system I leave has to have a very clear structure.  I try to
> use only a subset of the language.  I write short lines of code with
> almost all lines having a comment.  I comment both the programming and
> business aspects.  I have a small subset of idioms and I use them
> consistently.  These the other practices minimize what they need to
> know and makes the learning curve manageable.
>
> To further minimize the learning curve it is my strong instinct to
> stay away from OOP.  OOP adds another layer of abstraction.  It takes
> a lot of effort to learn, especially for people who do not intend to
> become programmers.
>
> In the current implementation of J, the primary tool for data entry of
> tables seems to be the grid.  In all the documentation, labs and
> scripts provided with J, the only way to access grids is with OOP.  It
> seems to me that it makes for a faster learning curve to dispense with
> OOP and to program the grid directly.  After all, there are only 22
> glgrid commands plus a few other gl commands to learn.
>
> Of course, I could be completely wrong in this.  Maybe OOP is easier.
> To find out, I have been experimenting with OOPless grids.  I have
> duplicated the "Report" example from the Lab "Grid Basic Examples" in
> a script that is completely stand-alone except for "require 'gl2'".
>
> I would be interested to know what others think of this attempt.  If
> anybody wants to check out my report script, I will be happy to e-mail
> it.
>
>
>
> --------------------------------------------------------------------------
------
> 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 Jun 22 22:44:26 1999
From: Eemcd@aol.com
Date: Tue, 22 Jun 1999 22:41:29 EDT
Subject: Jforum: David Ness's problem

One way to solve it is to use a variation of the parenthesis depth function,
Phrase 13.B.m13, letting 0 stand for left paren and 1 for right paren. It's
straightforward from then on:
   y.=.0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 1 1
   j=.>:i.-:#y.
   j
1 2 3 4 5 6 7 8 9 10 11 12
   t=.+/\y.-~-.}:0,y. NB. variation of Phrase 13.b.m13
   t
1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 2 1
   m=._2]\;<@(+/{.\:)"1 (>:i.>./t)=/t NB. uses Phrase 4.B.m19
   m  NB. each row is a start and end of one substring
 0 23
 1  2
 3  4
 5  6
 7  8
 9 10
11 12
13 14
15 22
16 17
18 19
20 21
   o=.+./((i.#y.) e."1 m)*."_1 j
   o
1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 10 10 11 11 12 12 9 1
   starts=.j (o i. j)}(#y.)#0
   starts
1 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 10 0 11 0 12 0 0 0
   ends=.(|.~.|.o)((0=starts)#(i.#y.))}(#y.)#0
   ends
0 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 0 10 0 11 0 12 9 1
   starts,:ends
1 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 10  0 11  0 12  0 0 0
0 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0  0 10  0 11  0 12 9 1

Eugene McDonnell

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

From owner-jsoftware@lists.interlog.com  Tue Jun 22 23:08:10 1999
Date: Tue, 22 Jun 1999 23:07:39 -0400
From: Brian Bambrough <b.bambrough@worldnet.att.net>
Subject: Jforum: Script for grid without OOP
Content-Type: multipart/mixed;
 boundary="------------86A27C53550E59960E2862EA"

This is a multi-part message in MIME format.
--------------86A27C53550E59960E2862EA

Ajid;

 > As quite a few have expressed interest in Brian's script, perhaps he
 > should post it to the forum as a whole.

Good idea.  Here it is, as a plain text attachment.

All;

If anyone has trouble accessing this attachment my original offer
still stands - I will be happy to email it to you.

The script is a fairly faithful emulation of the functionality of
"Report" in the "Grid Basic Examples" lab.  It has some improvements.
E.g., the arrow keys wrap.  But since I treated it as a learning
exercise it also has omissions and warts.  I would be very interested
in improvements, especially to the data entry function which is very
clumsy.

--------------86A27C53550E59960E2862EA
Content-Type: application/x-unknown-content-type-ijs_auto_file;
 name="repex.ijs"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="repex.ijs"

TkIuIEV4cGVyaW1lbnRhbCB2ZXJzaW9uIG9mIFJFUE9SVC5JSlMNCg0KTkIuIFByb2R1Y2Vz
IGEgcmVwb3J0IHNpbWlsYXIgdG8gdGhlIG9uZSBpbiB0aGUgbGFiICJHcmlkIEV4YW1wbGVz
Ig0KTkIuIFRoZSAiR3JpZCBFeGFtcGxlcyIgcmVwb3J0IGhhcyB0aGUgZm9sbG93aW5nIGNo
YXJhY3RlcmlzdGljczoNCk5CLiAgICBUaGUgb3ZlcmFsbCBzaXplIG9mIHRoZSBncmlkIGlz
IDEzIHJvdyBhbmQgMTQgY29sdW1ucw0KTkIuICAgIFJvd3MgMCBhbmQgMSBhcmUgY29sdW1u
IGhlYWRlcnMNCk5CLiAgICBDb2x1bW4gMCBob2xkcyByb3cgdGl0bGVzDQpOQi4gICAgVGhl
cmUgYXJlIDEwIHJvd3MgYW5kIDEyIGNvbHVtbnMgb2YgZGF0YSANCk5CLiAgICBUaGUgZGF0
YSBpcyBwdXQgb24gdGhlIGdyaWQgaW4gcm93cyAyIHRvIDExIGFuZCBjb2x1bW5zIDEgdG8g
MTINCk5CLiAgICBSb3cgMTIgYW5kIGNvbHVtbiAxMyBob2xkIHRvdGFscw0KTkIuIEJ5IGNo
YW5naW5nIHRoZSB2YWx1ZXMgb2YgdGhlIGdsb2JhbHMgaW4gdGhlICJnbG9iYWxzIHlvdSBp
bnB1dCB0byBkZWZpbmUgDQpOQi4gICAgdGhlIGZvcm0iIHNlY3Rpb24sIGEgZGlmZmVyZW50
IGdyaWQgY2FuIGJlIGNvbnN0cnVjdGVkDQpOQi4gTmFtaW5nIGNvbnZlbnRpb25zOiB0aGUg
Zm9sbG93aW5nIGxldHRlcnMsIGZvbGxvd2VkIGJ5IGEgY2FwaXRhbCBsZXR0ZXIsIG1lYW46
DQpOQi4gICAgZyBnbG9iYWwgdmFyaWFibGUsIGUuZy4sIGdXSElURQ0KTkIuICAgIG4gbm91
biwgZS5nLiwgbkFjdGlvbkRvYw0KTkIuICAgIHYgdmVyYiwgZS5nLCB2SW5pdGlhbGl6ZVRo
ZUdyaWQNCg0KcmVxdWlyZSAnZ2wyJw0KDQpSRVBPUlQ9OiAwIDogMA0KcGMgcmVwb3J0Ow0K
eHl3aCAwIDAgNDgwIDIwMDtjYyByZXBncmlkIGlzaWdyYXBoIHdzX2JvcmRlciB3c19jbGlw
Y2hpbGRyZW4gcmlnaHRtb3ZlIGJvdHRvbW1vdmU7DQp4eXdoIDAgMjAxIDQ4MCA4O2NjIHNj
cm9sbGJhcmggc2Nyb2xsYmFyOw0KeHl3aCA0ODAgMCA4IDIwMDtjYyBzY3JvbGxiYXJ2IHNj
cm9sbGJhcnY7DQpwYXMgNiA2O3BjZW50ZXI7DQpyZW0gZm9ybSBlbmQ7DQopDQoNCioqKiBH
TE9CQUxTIFlPVSBJTlBVVCBUTyBERUZJTkUgVEhFIEZPUk0sIEFORCBHTE9CQUxTIENPTVBV
VEVEIEZST00gVEhFTSAqKioNCg0KTkIuIENvbG9ycyB1c2VkIHRvIHBhaW50IHRoZSBncmlk
DQpnV0hJVEU9OjI1NSAyNTUgMjU1DQpnU0lMVkVSPToxOTIgMTkyIDE5Mg0KZ0FRVUE9OjAg
MjU1IDI1NQ0KZ0JMQUNLPTowIDAgMA0KZ0dSRUVOPTowIDI1NSAwDQpnUFVDRT06MTI4IDI1
NSAyNTUNCmdSRUQ9OjI1NSAwIDANCg0KTkIuIE51bWJlcnMgb2Ygcm93cyBhbmQgY29sdW1u
cyBvZiBlYWNoIHR5cGUNCmdOdW1SQ1Q9OjIgICAgICAgICAgICAgIE5CLiByb3dzIG9mIGNv
bHVtbiB0aXRsZXMNCmdOdW1DUlQ9OjEgICAgICAgICAgICAgIE5CLiBjb2x1bW5zIG9mIHJv
dyB0aXRsZXMuIFR5cGljYWxseSAxIGNvbHVtbiBvbmx5DQpnTnVtVFIgPToxICAgICAgICAg
ICAgICBOQi4gdG90YWwgcm93cw0KZ051bVRDID06MSAgICAgICAgICAgICAgTkIuIHRvdGFs
IGNvbHVtbnMNCmdOdW1EUiA9OjEwICAgICAgICAgICAgIE5CLiBkYXRhIHJvd3MNCmdOdW1E
QyA9OjEyICAgICAgICAgICAgIE5CLiBkYXRhIGNvbHVtbnMNCmdOdW1EUz06Z051bURSLGdO
dW1EQyAgIE5CLiBzaGFwZSBvZiB0aGUgZGF0YQ0KDQpOQi4gc2hhcGUgKHNpemUpIG9mIHRo
ZSBlbnRpcmUgZ3JpZA0KZ051bUdTPTooZ051bVJDVCtnTnVtRFIrZ051bVRSKSxnTnVtQ1JU
K2dOdW1EQytnTnVtVEMNCidnTnVtR1IgZ051bUdDJz06Z051bUdTIE5CLiBudW1iZXIgb2Yg
cm93cyBhbmQgY29sdW1ucyBpbiB0aGUgZ3JpZA0KZ0xvY0VuZD06Z051bUdTLTEgICAgICAg
TkIuIEFkZHJlc3Mgb2YgYm90dG9tIHJpZ2h0IGNvcm5lciBvZiBlbnRpcmUgZ3JpZA0KDQpO
Qi4gSGVpZ2h0IG9mIGFsbCBjZWxscy4gd2lkdGggb2YgdGl0bGUsIGRhdGEgYW5kIHRvdGFs
IGNlbGxzDQonZ0hlaWdodENlbGwgZ1dpZHRoVGl0bGUgZ1dpZHRoRGF0YSBnV2lkdGhUb3Rh
bCc9OjI1IDEwMCA2MCAxMDANCg0KTkIuIENlbGwgdHlwZXMgZm9yOiBkYXRhLCByb3cgdG90
YWxzLCBjb2x1bW4gdG90YWwgYW5kIGdyYW5kIHRvdGFsDQpOQi4gQnkgZGVmYXVsdCwgdGl0
bGUgY2VsbHMgaGF2ZSBhdHRyaWJ1dGUgbnVtYmVyIDANCidnVHlwZUQgZ1R5cGVSVCBnVHlw
ZUNUIGdUeXBlR1QnPToxIDMgMyA0DQoNCk5CLiBtaW5pbXVtIGhlaWdodCBhbmQgd2lkdGgg
Zm9yIGEgY2VsbA0KJ2dNaW5IZWlnaHQgZ01pbldpZHRoJz06MTUgMzANCg0KTkIuIFRoZSBj
b2x1bW4gaGVhZGVyIGxpbmVzDQpnQ0h4eWh3PTowIDAsZ051bVJDVCx7OmdOdW1HUyAgIE5C
LiBsb2NhdGlvbiBhbmQgZXh0ZW50IG9mIGNvbHVtbiBoZWFkZXIgbGluZXMNCmdDSD06Jyc7
JzFzdCBxdWFydGVyJzsnJzsnJzsnMm5kIHF1YXJ0ZXInOycnOycnOyczcmQgcXVhcnRlcic7
Jyc7Jyc7JzR0aCBxdWFydGVyJzsnJzsnJzsnJw0KZ0NIPTpnQ0gsOicnOydKYW4nOydGZWIn
OydNYXInOydBcHInOydNYXknOydKdW5lJzsnSnVseSc7J0F1Zyc7J1NlcHQnOydPY3QnOydO
b3YnOydEZWMnOydUb3RhbHMnDQpnQ0g9OigyfS5nQ0h4eWh3KXsuZ0NIICAgICAgICAgIE5C
LiANCg0KTkIuIFRoZSBjZWxsIHR5cGVzIGluIHRoZSBjb2x1bW4gaGVhZGVyIGxpbmVzDQpO
Qi4gZ0NIeHlodz06MCAxLGdOdW1DUlQsZ051bURDKzENCmdDSHR5cGU9OjAsKGdOdW1EQyQw
IF8xIF8xKSwwIE5CLiBxdWFydGVycyBhcmUgY2VudGVyZWQgaW4gYSAzIGNlbGwgd2lkZSBm
aWVsZA0KZ0NIdHlwZT06Z0NIdHlwZSw6KHs6Z051bUdTKSQwDQpnQ0h0eXBlPTooMn0uZ0NI
eHlodyl7LmdDSHR5cGUgICBOQi4gDQoNCk5CLiBUaGUgcm93IHRpdGxlcyAtIEl0ZW0gMCwg
SXRlbSAxLCBldGMuLCBhbmQgVG90YWxzDQpnUkh4eWh3PTpnTnVtUkNULDAsKGdOdW1EUitn
TnVtVFIpLGdOdW1DUlQgDQpnUkh0eXBlPTooMn0uZ1JIeHlodykkMA0KZ1JIPTo8IjEgKChn
TnVtRFIsIDUpJCdJdGVtICcpLCIxICAiOmkuZ051bURSLCAxDQpnUkg9OmdSSCw8J1RvdGFs
cycNCg0KTkIuIEF0dHJpYnV0ZXMNCk5CLiBicnVzaCBjb2xvciAoYmFja2dyb3VuZCksIHBl
biBjb2xvciAoY2VsbCBib3JkZXIpLCB0ZXh0IGNvbG9yLCBmb250LCBhbGlnbiwgZWRpdA0K
Z0F0dHM9LiA8Z1dISVRFLCAgZ1NJTFZFUiwgZ0JMQUNLLCAxICAyIDAgICAgICAgICBOQi4g
bm9uLWRhdGEsIG5vbi10b3RhbCBjZWxscw0KZ0F0dHM9LiBnQXR0cywgPGdTSUxWRVIsIGdX
SElURSwgIGdCTEFDSywgMCBfMSAxICBOQi4gZGF0YSBjZWxscywgZWRpdGFibGUNCmdBdHRz
PS4gZ0F0dHMsIDxnU0lMVkVSLCBnV0hJVEUsICBnQkxBQ0ssIDAgXzEgMCAgTkIuIGRhdGEg
Y2VsbHMsIG5vdCBlZGl0YWJsZQ0KZ0F0dHM9LiBnQXR0cywgPGdTSUxWRVIsIGdQVUNFLCAg
IGdCTEFDSywgMCBfMSAwICBOQi4gdG90YWwgY2VsbHMNCmdBdHRzPS4gZ0F0dHMsIDxnU0lM
VkVSLCBnR1JFRU4sICBnUkVELCAgIDAgXzEgMCAgTkIuIGdyYW5kIHRvdGFsIGNlbGwNCmdB
dHRzPToyMCZ7LiAmPiBnQXR0cw0KDQpOQi4gU2V0IHVwIHRoZSBib3JkZXJzDQpOQi4gSW4g
dGhpcyBleGFtcGxlLCBib3JkZXIgZm9yIGVhY2ggcXVhcnRlcnMnIGRhdGEgaXMgYSBkb3Vi
bGUgcmVkIGxpbmUNCk5CLiB4IGlzOiBudW0gcm93cyAmIGNvbHM7IHR5cGUgYW5kIGNvbG9y
ICg0IHRpbWVzKQ0KeD0uZ051bURSLCAzLDE2JDExIDI1NSAwIDAgICANCnk9LmdOdW1DUlQg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOQi4gbWFrZXMgdGhlIGZvbGxvd2luZyBj
b2RlIG1vcmUgY29tcGFjdA0KZ0JvcmRlcnM9OmdOdW1SQ1QseSx4LGdOdW1SQ1QsKHkrMyks
eCxnTnVtUkNULCh5KzYpLHgsZ051bVJDVCwoeSs5KSx4DQoNCmdGb250MD06JyJjb3VyaWVy
IG5ldyIgMjAgYm9sZCcNCmdGb250MT06J2FyaWFsIDIwJyAgICAgICAgICAgICANCg0KTkIu
IExvY2F0aW9ucyBvZiB0b3AgbGVmdCBjb3JuZXJzIG9mIGZpZWxkcyBvZiBjZWxscw0KZ0xv
Y0Q9OmdOdW1SQ1QsIGdOdW1DUlQgICAgICAgICAgICAgICAgIE5CLiBkYXRhIGNlbGxzICAg
DQpnTG9jUlQ9OihnTnVtUkNUK2dOdW1EUiksIGdOdW1DUlQgICAgICAgTkIuIHJvdyB0b3Rh
bHMgICANCmdMb2NDVD06Z051bVJDVCwgKGdOdW1DUlQrZ051bURDKSAgICAgICBOQi4gY29s
dW1uIHRvdGFscw0KZ0xvY0dUPTpnTG9jRW5kICAgICAgICAgICAgICAgICAgICAgICAgIE5C
LiBncmFuZCB0b3RhbCAgDQoNCk5CLiBBZGRyZXNzZXMgb2YgZGF0YSBhbmQgdG90YWxzIGFz
IHgsIHksIGhlaWdodCwgd2lkdGgNCmdBZHJEYXRhPTpnTG9jRCwgZ051bURSLGdOdW1EQyAg
ICAgICAgICBOQi4gZGF0YSBjZWxscyAgIA0KZ0FkclJvd1RvdGFscz06Z0xvY1JULCBnTnVt
VFIsIGdOdW1EQyAgIE5CLiByb3cgdG90YWxzICAgDQpnQWRyQ29sVG90YWxzPTpnTG9jQ1Qs
IGdOdW1EUiwgZ051bVRDICAgTkIuIGNvbHVtbiB0b3RhbHMNCmdBZHJHcmFuZFRvdGFsPTpn
TG9jRW5kLCAxIDEgICAgICAgICAgICBOQi4gZ3JhbmQgdG90YWwgIA0KDQpOQi4gSGVpZ2h0
IGFuZCB3aWR0aCBvZiBhbGwgY2VsbHMNCmdHcmlkSHM9Oigwe2dOdW1HUykkZ0hlaWdodENl
bGwgICAgICAgICANCmdHcmlkV3M9OihnTnVtQ1JUJGdXaWR0aFRpdGxlKSwoZ051bURDJGdX
aWR0aERhdGEpLGdOdW1UQyRnV2lkdGhUb3RhbA0KDQoqKiogT1RIRVIgR0xPQkFMUyAqKioN
Cg0KZ05VTEw9OjB7YS4NCg0KTkIuIGdNYXJrVGFibGUgaXMgdXNlZCB0byBtb3ZlIG1hcmsg
YWZ0ZXIgRW50ZXIsIGhvbWUgb3IgYXJyb3cga2V5cyBhcmUgaGl0DQpOQi4gMTMgICAgMSAg
MCAgICAgRW50ZXINCk5CLiAzNiAgICAwICAwICAgICBob21lDQpOQi4gMzcgICAgMCBfMSAg
ICAgbGVmdCBhcnJvdw0KTkIuIDM4ICAgXzEgIDAgICAgIHVwIGFycm93DQpOQi4gMzkgICAg
MCAgMSAgICAgcmlnaHQgYXJyb3cNCk5CLiA0MCAgICAxICAwICAgICBkb3duIGFycm93DQpn
TWFya1RhYmxlPTo0MSAyJDANCmdNYXJrVGFibGU9Oig1IDIkMSAwIDAgXzEgXzEgMCAwIDEg
MSAwKSAoMTMsMzcraS40KX1nTWFya1RhYmxlDQoNCmdFZGl0RmxhZz06MCAgICAgICAgICAg
IE5CLiBpcyAxIHdoZW4gdGhlcmUgaXMgYW4gZWRpdCBjZWxsDQpnRWRpdGFibGVGbGFnPTox
ICAgICAgICBOQi4gaW5pdGlhbGx5LCBkYXRhIGNlbGxzIGFyZSBlZGl0YWJsZQ0KZ0NoYXIx
PToxICAgICAgICAgICAgICAgTkIuIGlzIG9uZSB3aGVuIGZpcnN0IGNoYXIgZW50ZXJlZCBp
biBjZWxsDQpnU2Nyb2xsQ29sPTowICAgICAgICAgICBOQi4gaW5pdGlhbGl6ZSBzY3JvbGwg
bG9jYXRpb24NCmdTY3JvbGxSb3c9OjANCg0KTkIuICoqKiBVVElMSVRZIFZFUkJTICoqKg0K
DQp2Q2VsbERhdGE9OiAzIDogJzsoIjplYWNoIHkuKSxlYWNoIGdOVUxMJyAgTkIuIHNldCB1
cCBkYXRhIHRvIGdvIGluIGdyaWQNCnZOb3RJblJhbmdlPTogNCA6ICcoeC48ey55LikrLngu
Pns6eS4nICAgICBOQi4gZS5nLiwgMCB2Tm90SW5SYW5nZSAxIDEyIGlzIDENCnZJblJhbmdl
PTogNCA6ICcoeC4+OnsueS4pKi54Ljw6ezp5LicgICAgICBOQi4gZS5nLiwgNSB2SW5SYW5n
ZSAxIDEyIGlzIDENCg0KTkIuICoqKiBSVU4gKioqDQoNCnJlcG9ydF9ydW49OiAzIDogMA0K
d2QgUkVQT1JUDQpnRGF0YT06eS4NCndkICdzZXQgc2Nyb2xsYmFyaCAwIDAgJywoIjpnTnVt
RFIrZ051bVJDVCksJyAxJw0Kd2QgJ3NldCBzY3JvbGxiYXJ2IDAgMCAnLCgiOmdOdW1EQytn
TnVtQ1JUKSwnIDEnDQp3ZCAncHNob3c7Jw0KdkluaXRpYWxpemVUaGVHcmlkJycNCikNCg0K
TkIuICoqKiBTRVRVUCAqKioNCg0KdkluaXRpYWxpemVUaGVHcmlkPTogMyA6IDANCmdsY2xl
YXInJyAgICAgICAgICAgICAgIE5CLiBpbml0aWFsaXplIGdyYXBoaWMgc3RhdGUNCmdsbWFw
cmF3JycgICAgICAgICAgICAgIE5CLiB0dXJuIG9mZiBkZWZhdWx0IGlzaWdyYXBoIG1hcHBp
bmcgYmVoYXZpb3INCmdsbWFwIE1NX1RFWFQgICAgICAgICAgIE5CLiBzZXQgY29vcmRpbmF0
ZSBtb2RlLiB4LCBsZWZ0IHRvIHJpZ2h0OyB5LCB0b3AgdG8gYm90dG9tDQpnbGdyaWRyYyBn
TnVtR1MgICAgICAgICBOQi4gcm93cyBhbmQgY29sdW1ucyBpbiBncmlkIGRhdGENCg0KTkIu
IFJvdyBoZWlnaHRzIGFuZCBjb2x1bW4gd2lkdGhzIGZvciB0aGUgZ3JpZCBkYXRhDQpnbGdy
aWRoIGdHcmlkSHMNCmdsZ3JpZHcgZ0dyaWRXcw0KDQpnbGdyaWRhdHQgLGdBdHRzICAgICAg
ICBOQi4gc2V0IHVwIHRoZSBncmlkIGF0dHJpYnV0ZXMNCmdsbm9lcmFzZWJrZ25kIDEgICAg
ICAgIE5CLiBzcGVlZHMgdXAgcmVwYWludGluZyB0aGUgZ3JpZA0KZ2xncmlkZmlsbCAxMCAx
MCAwIDAgICAgTkIuIHNob3J0LCBuYXJyb3cgc2l6ZSBmb3IgdW51c2VkIGNlbGxzDQoNCmds
Z3JpZHJjaHcgZ0NIeHlodyAgICAgIE5CLiBkaXNwbGF5IHRoZSBjb2x1bW4gaGVhZGVycw0K
Z2xncmlkdHlwZSAsZ0NIdHlwZQ0KZ2xncmlkdGV4dCA7Z0NILGVhY2ggZ05VTEwNCg0KZ2xn
cmlkcmNodyBnUkh4eWh3ICAgICAgTkIuIGRpc3BsYXkgdGhlIHJvdyB0aXRsZXMNCmdsZ3Jp
ZHR5cGUgLGdSSHR5cGUNCmdsZ3JpZHRleHQgO2dSSCxlYWNoIGdOVUxMDQoNCk5CLiBTZXQg
dGhlIHR5cGUgb2YgZWFjaCBjZWxsDQpnQWRyRGF0YSB2U2V0VHlwZSBnVHlwZUQNCmdBZHJS
b3dUb3RhbHMgdlNldFR5cGUgZ1R5cGVSVA0KZ0FkckNvbFRvdGFscyB2U2V0VHlwZSBnVHlw
ZUNUDQpnQWRyR3JhbmRUb3RhbCB2U2V0VHlwZSBnVHlwZUdUDQoNCmdsZ3JpZGJvcmRlciBn
Qm9yZGVycw0KDQp2U2V0RGF0YSBnRGF0YSAgICAgICAgICBOQi4gRmlsbCB0aGUgZ3JpZCB3
aXRoIGRhdGENCg0KZ2xncmlkZml4IGdOdW1SQ1QsIGdOdW1DUlQgTkIuIFN0b3AgdGhlIHRp
dGxlIHJvdyBhbmQgY29sdW1uIGZyb20gc2Nyb2xsaW5nDQoNCmdsZ3JpZGZvbnQwIGdGb250
MCAgICAgIE5CLiBmb250IGZvciBudW1iZXJzIGluIHRoZSBncmlkDQpnbGdyaWRmb250MSBn
Rm9udDEgICAgICBOQi4gZm9udCBmb3IgdGl0bGVzDQpnbGdyaWQnJyAgICAgICAgICAgICAg
ICBOQi4gcGFpbnQgdGhlIGdyaWQgdXNpbmcgcmVzdWx0cyBvZiBhYm92ZSB0aGUgY29tbWFu
ZHMNCmdsc2hvdycnICAgICAgICAgICAgICAgIE5CLiBhZGQgbmV3IGNvbW1hbmRzIGFuZCBz
aG93DQopDQoNCk5CLiB4LiBpcyB0aGUgeHlodyBvZiB0aGUgYmxvY2sgb2YgY2VsbHMsIGUu
Zy4sZ0FkckRhdGENCk5CLiB5LiBpcyB0aGUgdHlwZSwgZS5nLiwgZ1R5cGVEDQp2U2V0VHlw
ZT06IDQgOiAwDQpnbGdyaWRyY2h3IHguICAgICAgICAgICBOQi4gcG9pbnQgdG8gdGhlIGNl
bGxzDQpnbGdyaWR0eXBlICwoMn0ueC4pJHkuICBOQi4gc2V0IHRoZSB0eXBlDQopDQoNCk5C
LiB4LiBpcyB0aGUgeHlodyBvZiB0aGUgYmxvY2sgb2YgY2VsbHMsIGUuZy4sZ0FkckRhdGEN
Ck5CLiB5LiBpcyB0aGUgZGF0YSB0byB3cml0ZSB0byB0aGUgZ3JpZCwgZS5nLiwgO2dDSCxl
YWNoIGdOVUxMDQp2V3JpdGVUb0dyaWQ9OiA0IDogMA0KZ2xncmlkcmNodyB4LiAgICAgICAg
ICAgTkIuIHBvaW50IHRvIHRoZSBjZWxscw0KZ2xncmlkdGV4dCB5LiAgICAgICAgICAgTkIu
IHdyaXRlIHRoZSB0ZXh0IHRvIHRoZSBncmlkDQopDQoNCk5CLiBTZXQgcm93LCBjb2wgYW5k
IGdyYW5kIHRvdGFscyB0byByZWZsZWN0IGNoYW5nZSBpbiBvbmUgY2VsbA0KTkIuIHkuICwg
dGhlIGNlbGwgZGF0YSwgaGFzIHNoYXBlIGdOdW1EUywgZS5nLiwgMTAgMTINCnZTZXREYXRh
PTogMyA6IDANCmdBZHJEYXRhIHZXcml0ZVRvR3JpZCB2Q2VsbERhdGEgeS4gICAgICAgICAg
ICBOQi4gZmlsbCB0aGUgZ3JpZCB3aXRoIGRhdGENCmdBZHJSb3dUb3RhbHMgdldyaXRlVG9H
cmlkIHZDZWxsRGF0YSArL3kuICAgICBOQi4gcm93IHRvdGFscw0KZ0FkckNvbFRvdGFscyB2
V3JpdGVUb0dyaWQgdkNlbGxEYXRhICsvIjEgeS4gIE5CLiBjb2x1bW4gdG90YWxzDQpnQWRy
R3JhbmRUb3RhbCB2V3JpdGVUb0dyaWQgdkNlbGxEYXRhICsvLHkuICAgTkIuIGdyYW5kIHRv
dGFsDQopDQoNCk5CLiAqKiogRVZFTlRTICoqKg0KDQpOQi4gTW91c2UgYnV0dG9uIGxlZnQg
ZG93bg0KcmVwb3J0X3JlcGdyaWRfbWJsZG93bj06IDMgOiAwDQp4PS4wDQppZi4gZ0VkaXRG
bGFnIGRvLiB4PS52RG9FZGl0JycgZW5kLg0KaWYuIHggZG8uIHJldHVybi4gZW5kLg0KaWYu
ICh2U2V0TWFya0Zyb21Nb3VzZScnKSBkby4gdlNldENlbGxGb3JEYXRhRW50cnknJyBlbmQu
DQopDQoNCk5CLiBBZnRlciBhIG1vdXNlIGJ1dHRvbiBjbGljayBvbiBhIGNlbGwsIHNldCBt
YXJrIG9uIHRoZSBjZWxsDQp2U2V0TWFya0Zyb21Nb3VzZT06IDMgOiAwDQpkPS4gKDB7ZCks
LS8zIDF7ZD0uICIuc3lzZGF0YQ0KZ01hcms9OigrLygxe2QpPjorL1xnR3JpZEhzKSwrLygw
e2QpPjorL1xnR3JpZFdzDQpnTWFyaz06Z01hcmsrZ1Njcm9sbFJvdyxnU2Nyb2xsQ29sDQp4
PS4oey5nTWFyaykgdkluUmFuZ2UgZ051bVJDVCxnTnVtRFIrZ051bVJDVC0xICAgICBOQi4g
eCA9IDAgLSB0aGUgY2VsbCBpcyBub3QgYSBkYXRhIGNlbGwNCng9LngqLih7OmdNYXJrKSB2
SW5SYW5nZSBnTnVtQ1JULGdOdW1EQytnTnVtQ1JULTEgIE5CLiB4ID0gMSAtIHRoZSBjZWxs
IGlzIGEgZGF0YSBjZWxsDQopDQoNCk5CLiBDcmVhdGUgYW4gZWRpdCBib3ggYXQgdGhlIGNl
bGwgbG9jYXRpb24gcG9pbnRlZCB0byBieSAyIGVsZW1lbnQgbGlzdCwgZ01hcmsNCnZTZXRD
ZWxsRm9yRGF0YUVudHJ5PTogMyA6IDANCno9OmdsZ3JpZGdldHRleHQgZ01hcmsgICAgTkIu
IHNhdmUgb3JpZ2luYWwgY2VsbCB0ZXh0IGluIGNhc2UgaXQgbmVlZHMgdG8gYmUgcmVwbGFj
ZWQNCmdsZ3JpZG1hcmsgZ01hcmssMSAxICAgICAgTkIuIG1hcmsgdGhlIGNlbGwgdG8gZWRp
dA0KZ2xncmlkZHJhd21hcmsnJyAgICAgICAgICBOQi4gdW5kcmF3IHByZXZpb3VzIG1hcmss
IGRyYXcgbmV3IGNlbGwNCmdsZ3JpZGVkaXQgeiAgICAgICAgICAgICAgTkIuIGNyZWF0ZSBl
ZGl0IGJveA0KZ0VkaXRGbGFnPToxDQopDQoNCnZEb0VkaXQ9OiAzIDogMA0KZD0uZ2xncmlk
Z2V0ZWRpdCcnICAgICAgICBOQi4gZ2V0IGNvbnRlbnRzIG9mIGVkaXQgYm94DQp0cnkuICAg
ICAgICAgICAgICAgICAgICAgIE5CLiBjaGVjayB3aGV0aGVyIHRoaXMgaXMgYSB3ZWxsLWZv
cm1lZCBudW1iZXINCiAgIHg9LiIuZCANCmNhdGNoLg0KICAgd2QnbWIgIkJhZCBJbnB1dCIg
IllvdSBtdXN0IGlucHV0IGEgcHJvcGVybHkgZm9ybWVkIG51bWJlciIgbWJfaWNvbmV4Y2xh
bWF0aW9uJw0KICAgMSAgICAgICAgICAgICAgICAgICAgICBOQi4gcmV0dXJuZWQgdmFsdWUg
MSBzaWduYWxzIGJhZCBkYXRhDQogICByZXR1cm4uICAgDQplbmQuDQppZi4gMD0kZCBkby4g
ZD0ueiBlbmQuICAgIE5CLiByZXN0b3JlIG9yaWdpbmFsIGNlbGwgdGV4dCBpZiBub25lIGVu
dGVyZWQNCihnTWFyaywxIDEpIHZXcml0ZVRvR3JpZCBkIE5CLiBwdXQgZGF0YSBmcm9tIGVk
aXQgYm94IGludG8gY2VsbA0KZ2xncmlkZWRpdCAwICAgICAgICAgICAgICBOQi4gY2xvc2Ug
ZWRpdCBib3gNCnZTZXREYXRhIHZHZXRHcmlkVmFsdWVzJycgTkIuIHNldCByb3csIGNvbCBh
bmQgZ3JhbmQgdG90YWxzIHRvIHJlZmxlY3QgY2hhbmdlIGluIGNlbGwNCmdFZGl0RmxhZz06
MA0KKQ0KDQpOQi4gUHJvY2VzcyBrZXlzdHJva2VzIHdoaWxlIGEgY2VsbCBpcyBiZWluZyBl
ZGl0ZWQNCnJlcG9ydF9yZXBncmlkX2NoYXI9OiAzIDogMA0KDQphPS4gPjpieCAnMSc9d2Qg
J3FrZXlzdGF0ZSAqJyx9Ln06YS4NCm49LiRhICAgICAgICAgICAgICAgICAgIE5CLiBudW1i
ZXIgb2YgaW50ZWdlcnMgaW4ga2V5c3Ryb2tlDQpmPS57LmEgICAgICAgICAgICAgICAgICBO
Qi4gZmlyc3QgaW50ZWdlciBpbiBrZXlzdHJva2UNCnQ9Lns6YSAgICAgICAgICAgICAgICAg
IE5CLiBsYXN0IGludGVnZXIgaW4ga2V5c3Ryb2tlDQoNCk5CLiBTaGlmdCtDdHJsK2Fycm93
IGtleXMgcmVzaXplIGNlbGxzDQppZi4gKG49MykqLnQgZS4zNytpLjQgZG8uIHZTaXplIHR7
Z01hcmtUYWJsZSBlbmQuDQoNCk5CLiBDdHJsK2Fycm93IGtleXMgc2Nyb2xsIHRoZSBkYXRh
IGdyaWQNCmlmLiAobj0yKSouKGY9MTcpKi50IGUuMzYraS41IGRvLiB2U2Nyb2xsIHR7Z01h
cmtUYWJsZSBlbmQuDQoNCmlmLiBnRWRpdEZsYWcgZG8uDQoNCiAgIE5CLiBwcm9jZXNzIEVu
dGVyIGFuZCBhcnJvdyBrZXlzDQogICBpZi4gKG49MSkqLmYgZS4xMywzNytpLjQgZG8uIHZT
ZXROZXdNYXJrIGZ7Z01hcmtUYWJsZSBlbmQuDQoNCmVuZC4NCg0KZ2xwYWludHgnJw0KKQ0K
DQpOQi4gQ2hhbmdlIHRoZSBzaXplIG9mIGNlbGxzDQp2U2l6ZT06IDMgOiAwDQpoPS41Knsu
eS4gICAgICAgICAgICAgICAgICAgICAgIE5CLiBzZXQgdGhlIGluY3JlbWVudA0Kdz0uNSp7
OnkuDQpnR3JpZEhzPTpnTWluSGVpZ2h0Pi5nR3JpZEhzK2ggIE5CLiBkb24ndCByZWR1Y2Ug
aGVpZ2h0IHRvIGxlc3MgdGhhbiBtaW5pbXVtDQpnR3JpZFdzPTpnTWluV2lkdGg+LmdHcmlk
V3MrdyAgIE5CLiBkb24ndCByZWR1Y2Ugd2lkdGggdG8gbGVzcyB0aGFuIG1pbmltdW0NCmds
Z3JpZGggZ0dyaWRIcw0KZ2xncmlkdyBnR3JpZFdzDQopDQoNCnZTZXROZXdNYXJrPTogMyA6
IDANCmlmLiB2RG9FZGl0ICcnIGRvLiByZXR1cm4uIGVuZC4NCg0KJ3IgYyc9LnkuICAgICAg
ICAgICAgICAgICAgICAgICBOQi4gcm93IGFuZCBjb2x1bW4gb2Zmc2V0IGZyb20gY3VycmVu
dCBjZWxsDQonbWFya3IgbWFya2MnPS5nTWFyayAgICAgICAgICAgIE5CLiByb3cgYW5kIGNv
bHVtbiBvZiBjdXJyZW50IGNlbGwNCg0KbWFya3I9Lm1hcmtyK3IgICAgICAgICAgICAgICAg
ICBOQi4gbW92ZSBtYXJrIG9uZSBjZWxsIHVwIG9yIGRvd24NCmlmLiBtYXJrcj1nTnVtUkNU
LTEgZG8uIG1hcmtyPS5nTnVtRFIrZ051bVJDVC0xIGVuZC4gICAgTkIuIHdyYXAgdG8gdG9w
IGlmIGF0IGJvdHRvbQ0KaWYuIG1hcmtyPShnTnVtRFIrZ051bVJDVCkgZG8uIG1hcmtyPS5n
TnVtUkNUIGVuZC4gICAgICBOQi4gd3JhcCB0byBib3R0b20gaWYgYXQgdG9wDQoNCm1hcmtj
PS5tYXJrYytjICAgICAgICAgICAgICAgICAgTkIuIG1vdmUgbWFyayBvbmUgY2VsbCBsZWZ0
IG9yIHJpZ2h0DQppZi4gbWFya2M9Z051bUNSVC0xIGRvLiBtYXJrYz0uZ051bURDK2dOdW1D
UlQtMSBlbmQuICAgIE5CLiB3cmFwIHRvIHRvcCBpZiBhdCBib3R0b20NCmlmLiBtYXJrYz0o
Z051bURDK2dOdW1DUlQpIGRvLiBtYXJrYz0uZ051bUNSVCBlbmQuICAgICAgTkIuIHdyYXAg
dG8gYm90dG9tIGlmIGF0IHRvcA0KDQpOQi4gZ01hcms9OihtYXJrcitnU2Nyb2xsUm93KSxt
YXJrYytnU2Nyb2xsQ29sICBOQi4gcG9pbnQgdG8gdGhlIG5ldyBjZWxsDQpnTWFyaz06KG1h
cmtyKSxtYXJrYyAgTkIuIHBvaW50IHRvIHRoZSBuZXcgY2VsbA0KDQp2U2V0Q2VsbEZvckRh
dGFFbnRyeScnDQopDQoNCnJlcG9ydF9jbG9zZT06IDMgOiAwDQppZi4gZ0VkaXRGbGFnIGRv
LiB2RG9FZGl0ICcnIGVuZC4gICAgICAgTkIuIGNsb3NlIG91dCB0aGUgbGFzdCBjZWxsIHRo
YXQgd2FzIGVkaXRlZA0KdHJ5LiBnT3V0X2Jhc2VfPTp2R2V0R3JpZFZhbHVlcycnIGNhdGNo
LiBlbmQuIA0Kd2QncGNsb3NlJw0KKQ0KDQpOQi4gU2Nyb2xsIHJvd3MgYW5kIGNvbHVtcyB1
c2luZyBDdHJsK2Fycm93DQpOQi4gVG8gc2Nyb2xsIHRvIHRoZSBob21lIHBvc2l0aW9uLCB1
c2UgQ3RybCtoLiBTZWUgcmVwb3J0X2hjdHJsX2ZrZXkNCnZTY3JvbGw9OiAzIDogMA0KaWYu
ICouL3kuPTAgMCBkby4gICAgICAgICAgICAgICBOQi4gQ3RybCtIb21lDQogICAnZ1Njcm9s
bFJvdyBnU2Nyb2xsQ29sJz06MA0KZWxzZS4gICAgICAgICAgICAgICAgICAgICAgICAgICBO
Qi4gQ3RybCthcnJvdw0KICAgZ1Njcm9sbFJvdz06MD4uZ051bURSPC5nU2Nyb2xsUm93K3su
eS4NCiAgIGdTY3JvbGxDb2w9OjA+LmdOdW1EQzwuZ1Njcm9sbENvbCt7OnkuDQplbmQuDQpn
bGdyaWRzY3JvbGwgZ1Njcm9sbFJvdyxnU2Nyb2xsQ29sICBOQi4gc2Nyb2xsIHRvIHRoZSBu
ZXcgbG9jYXRpb24NCndkICdzZXQgc2Nyb2xsYmFyaCAnLCI6Z1Njcm9sbENvbCAgIE5CLiBz
ZXQgdGhlIHNjcm9sbCBiYXJzIHRvIHJlZmxlY3QgdGhlIG5ldyBsb2NhdGlvbg0Kd2QgJ3Nl
dCBzY3JvbGxiYXJ2ICcsIjpnU2Nyb2xsUm93DQp3ZCAnc2V0Zm9jdXMgcmVwZ3JpZCcNCmds
cGFpbnR4JycNCikNCg0KTkIuIFRvZ2dsZSBkYXRhIGtleXMgYmV0d2VlbiBlZGl0YWJsZSBh
bmQgbm9uLWVkaXRhYmxlDQpyZXBvcnRfZWN0cmxfZmtleT06IDMgOiAwDQppZi4gZ0VkaXRG
bGFnIGRvLiB2RG9FZGl0JycgZW5kLiBOQi4gY2xvc2Ugb3V0IHRoZSBlZGl0IGJveA0KaWYu
IGdUeXBlRD0xIGRvLiAgICAgICAgICAgICAgICBOQi4gaXQgd2FzIGVkaXRhYmxlLCBzbyBt
YWtlIGl0IHVuLWVkaXRhYmxlDQogICBnVHlwZUQ9OjINCmVsc2UuICAgICAgICAgICAgICAg
ICAgICAgICAgICAgTkIuIGl0IHdhcyB1bi1lZGl0YWJsZSwgc28gbWFrZSBpdCBlZGl0YWJs
ZQ0KICAgZ1R5cGVEPToxDQplbmQuDQpnbGdyaWRtYXJrIDAgMCAwIDAgICAgICAgICAgICAg
IE5CLiB1bm1hcmsgdGhlIGNlbGwNCmdBZHJEYXRhIHZTZXRUeXBlIGdUeXBlRA0KZ2xwYWlu
dHgnJw0KKQ0KDQpyZXBvcnRfZmN0cmxfZmtleT06IDMgOiAwICAgICAgIE5CLiBzZWxlY3Qg
YSBuZXcgZm9udCBmb3IgdGl0bGVzDQpnRm9udDA9OndkJ21iZm9udCcNCmdsZ3JpZGZvbnQw
IGdGb250MA0KZ2xwYWludHgnJw0KKQ0KDQpyZXBvcnRfZ2N0cmxfZmtleT06IDMgOiAwICAg
ICAgIE5CLiBzZWxlY3QgYSBuZXcgZm9udCBmb3IgbnVtYmVycw0KZ0ZvbnQxPTp3ZCdtYmZv
bnQnDQpnbGdyaWRmb250MSBnRm9udDENCmdscGFpbnR4JycNCikNCg0KTkIuIFNjcm9sbCB0
aGUgZ3JpZCBiYWNrIHRvIGhvbWUgcG9zdGlvbg0KcmVwb3J0X2hjdHJsX2ZrZXk9OiAzIDog
MA0KdlNjcm9sbCAwIDANCikNCg0KcmVwb3J0X3Njcm9sbGJhcmhfYnV0dG9uPTogMyA6IDAg
IE5CLiBVc2Ugc2Nyb2xsIGJhciB0byBtb3ZlIGhvcml6b250YWxseQ0KZ1Njcm9sbENvbD06
Ii4+ezosd2RxICAgICAgICAgICAgIE5CLiBjdXJyZW50IGxvY2F0aW9uIG9mIHNjcm9sbCBi
dXR0b24NCmdsZ3JpZHNjcm9sbCBnU2Nyb2xsUm93LGdTY3JvbGxDb2wNCndkICdzZXRmb2N1
cyByZXBncmlkJw0KZ2xwYWludHgnJw0KKQ0KDQpyZXBvcnRfc2Nyb2xsYmFydl9idXR0b249
OiAzIDogMCAgTkIuIFVzZSBzY3JvbGwgYmFyIHRvIG1vdmUgdmVydGljYWxseQ0KZ1Njcm9s
bFJvdz06Ii4+ey5fM3suLHdkcSAgICAgICAgIE5CLiBjdXJyZW50IGxvY2F0aW9uIG9mIHNj
cm9sbCBidXR0b24NCmdsZ3JpZHNjcm9sbCBnU2Nyb2xsUm93LGdTY3JvbGxDb2wNCndkICdz
ZXRmb2N1cyByZXBncmlkJw0KZ2xwYWludHgnJw0KKQ0KDQpyZXBvcnRfZjFfZmtleT06IDMg
OiAwICAgICAgICAgICAgTkIuIFNob3cgaGVscCBtZXNzYWdlIHdoZW4gdXNlciBoaXRzIHRo
ZSBGMSBrZXkNCndkJ3NldGZvbnQgcmVwZ3JpZCAiY291cmllciBjZXciIDEyIG9lbScNCndk
J21iICJHcmlkIEhlbHAiIConLG5BY3Rpb25Eb2MNCikNCg0KbkFjdGlvbkRvYz06IDAgOiAw
ICAgICAgICAgICAgICAgIE5CLiBUaGUgaGVscCBtZXNzYWdlDQphcnJvd3MgCQkJbW92ZSBz
ZWxlY3Rpb24NCnNoaWZ0K2Fycm93cyAJCWV4dGVuZHMgcmFuZ2UNCmN0cmwrYXJyb3dzIAkJ
c2Nyb2xscyBkYXRhDQpjdHJsK3NoaWZ0K2Fycm93cwkJY2hhbmdlcyBkZWZhdWx0IGNlbGwg
c2l6ZQ0KDQpjdHJsK2YgCQkJZm9udCBmb3IgbnVtYmVycw0KY3RybCtnIAkJCWZvbnQgZm9y
IHRpdGxlcw0KDQpjdHJsK2ggCQkJc2Nyb2xscyB0byByb3cgMCBhbmQgY29sIDANCg0KYXNj
aWkgY2hhcmFjdGVycyAJCW5ldyBkYXRhIGZvciBzZWxlY3RlZCBjZWxsDQplbnRlciAJCQll
bmQgZWRpdCBtb2RlLCBtb3ZlIHRvIG5leHQgcm93DQpjbGljayAJCQlzZWxlY3RzIGNlbGwN
CmRvdWJsZSBjbGljayAJCWVudGVyIGVkaXQgbW9kZSBmb3IgY3VycmVudCBjZWxsDQptb3Vz
ZSBkb3duICYgaG9sZCAJCWV4dGVuZHMgcmFuZ2UgdG8gcmlnaHQgYW5kIGRvd24NCikNCg0K
TkIuIEdldCB0aGUgZGF0YSB2YWx1ZXMgZnJvbSB0aGUgZ3JpZCBhbmQgcmV0dXJuIHRoZW0g
YXMgYSBudW1lcmljIG1hdHJpeA0KdkdldEdyaWRWYWx1ZXM9OiAzIDogMA0Kcj0uZ051bVJD
VCsoZ051bURTKSRnTnVtREMjaS5nTnVtRFIgICAgIE5CLiByb3cgY29vcmRpbmF0ZXMgb2Yg
ZGF0YQ0KYz0uZ051bUNSVCsoZ051bURTKSRpLmdOdW1EQyAgICAgICAgICAgIE5CLiBjb2x1
bW4gY29vcmRpbmF0ZXMgb2YgZGF0YQ0KdzA9Lig8IjAgciksL2VhY2g8IjAgYyAgICAgICAg
ICAgICAgICAgIE5CLiBhcnJheSBvZiBib3hlcyBwb2ludGluZyB0byBlYWNoIGRhdGEgY2Vs
bA0KPiIuIGVhY2ggZ2xncmlkZ2V0dGV4dCBlYWNoIHcwICAgICAgICAgIE5CLiBleHRyYWN0
IHRoZSBkYXRhIGZyb20gdGhlIGdyaWQNCikNCg0KcmVwb3J0X3J1biAxK2kuZ051bURTICAg
ICAgICAgICBOQi4gcnVuIHRoZSByZXBvcnQgZ3JpZCB3aXRoIHRlc3QgZGF0YQ0K
--------------86A27C53550E59960E2862EA--

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

From owner-jsoftware@lists.interlog.com  Tue Jun 22 23:57:22 1999
From: Ajith Prasad <burap@nus.edu.sg>
Subject: FW: Jforum: Script for grid without OOP
Date: Wed, 23 Jun 1999 11:54:19 +0800
	charset="ISO-8859-1"

Thanks. J's power is unquestionable but accessing this power takes quite a
bit of investment in time and effort. Brian's script, like Simon's recent
contribution on "dictionaries", helps reduce this investment to a more
manageable level especially for those keen on use of J in specific business
problems.
-----Original Message-----
From:	Brian Bambrough [mailto:b.bambrough@worldnet.att.net]
Sent:	Wednesday, June 23, 1999 11:08 AM
To:	jforum
Subject:	Jforum: Script for grid without OOP

<< File: repex.ijs >> Ajid;
 > As quite a few have expressed interest in Brian's script, perhaps he
 > should post it to the forum as a whole.

Good idea.  Here it is, as a plain text attachment.
All;
If anyone has trouble accessing this attachment my original offer
still stands - I will be happy to email it to you.

The script is a fairly faithful emulation of the functionality of "Report"
in the "Grid Basic Examples" lab.  It has some improvements.  E.g., the
arrow keys wrap.  But since I treated it as a learning exercise it also has
omissions and warts.  I would be very interested in improvements, especially
to the data entry function which is very clumsy.

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

From owner-jsoftware@lists.interlog.com  Wed Jun 23 00:03:24 1999
Date: Tue, 22 Jun 1999 23:59:35 -0400
From: David Ness <DNess@home.com>
Subject: Re: Jforum: David Ness's problem
References: <251dfeab.24a1a359@aol.com>

I must say I am consoled, heartened and thankful for this very nice
answer. I am consoled that it is complicated enough that the fact
that I couldn't find it is no shame, heartened that I am able to
understand it and thankful for the help.

Eemcd@aol.com wrote:
>
> One way to solve it is to use a variation of the parenthesis depth function,
> Phrase 13.B.m13, letting 0 stand for left paren and 1 for right paren. It's
> straightforward from then on:
>    y.=.0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 1 1
>    j=.>:i.-:#y.
>    j
> 1 2 3 4 5 6 7 8 9 10 11 12
>    t=.+/\y.-~-.}:0,y. NB. variation of Phrase 13.b.m13
>    t
> 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 2 1
>    m=._2]\;<@(+/{.\:)"1 (>:i.>./t)=/t NB. uses Phrase 4.B.m19
>    m  NB. each row is a start and end of one substring
>  0 23
>  1  2
>  3  4
>  5  6
>  7  8
>  9 10
> 11 12
> 13 14
> 15 22
> 16 17
> 18 19
> 20 21
>    o=.+./((i.#y.) e."1 m)*."_1 j
>    o
> 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 10 10 11 11 12 12 9 1
>    starts=.j (o i. j)}(#y.)#0
>    starts
> 1 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 10 0 11 0 12 0 0 0
>    ends=.(|.~.|.o)((0=starts)#(i.#y.))}(#y.)#0
>    ends
> 0 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 0 10 0 11 0 12 9 1
>    starts,:ends
> 1 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 10  0 11  0 12  0 0 0
> 0 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0  0 10  0 11  0 12 9 1
>
> Eugene McDonnell
>

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

From owner-jsoftware@lists.interlog.com  Wed Jun 23 05:53:52 1999
From: M.Day@fscii.maff.gov.uk
               Wed, 23 Jun 1999 10:41:44 +0100
               Wed, 23 Jun 1999 10:38:31 +0100
               Wed, 23 Jun 1999 10:36:45 +0100
Date: Wed, 23 Jun 1999 10:36:45 +0100
Content-Identifier: m1210623103613aa
Alternate-Recipient: Allowed
In-Reply-To: <376FDE8A.92416B56@Home.Com>
Subject: Re: Jforum: David Ness's problem

Eugene McDonnell's solved it,  but here's another probably trivial solution:

   beg   =: (* +/\)@:-.        NB.  tacit form of beg

   depth =: [: +/\ ({ 1 _1"_)  NB.  find depth of "nesting"
   mask  =: #                  NB.  to isolate the stop depths
   esort =: >:@:/:@:/:         NB.  relate stop indices to starts & increment
   unmask=: #^:_1              NB.  to restore the start zeros

   end   =: unmask esort @: (mask depth)     NB. tie it all together

      depth v
1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 3 2 3 2 3 2 1 0
      (mask depth)v
1 1 1 1 1 1 1 2 2 2 1 0
      esort@:(mask depth) v
2 3 4 5 6 7 8 10 11 12 9 1
      (unmask esort@:(mask depth)) v
0 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 0 10 0 11 0 12 9 1
      end   v
0 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 0 10 0 11 0 12 9 1

Mike
23 6 99

David Ness wrote (in part):
>  v =: 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 1 1
>
>representing, and in order, start (0) and end (1) of `strings', which
>can clearly contain strings. The first begins at 0 and ends at 23.
>The next begins at 1 and ends at 2, ...
>I can get `string begins' easily with
>   beg =: (1-v)*+/\0=v
>which produces
>   1 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 10 0 11 0 12 0 0 0
>but I am having `mind storms' trying to produce
>   0 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 0 10 0 11 0 12 9 1
>which indicates where the given strings end...

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

From owner-jsoftware@lists.interlog.com  Wed Jun 23 09:58:48 1999
From: Andrew Nikitin <anikitin@fastenal.com>
Subject: RE: Jforum: David Ness's problem
Date: Wed, 23 Jun 1999 08:32:47 -0500

> -----Original Message-----
> From:	M.Day@fscii.maff.gov.uk [SMTP:M.Day@fscii.maff.gov.uk]
> Sent:	Wednesday, June 23, 1999 04:37
>
>    beg   =: (* +/\)@:-.        NB.  tacit form of beg
>
>    depth =: [: +/\ ({ 1 _1"_)  NB.  find depth of "nesting"
>    mask  =: #                  NB.  to isolate the stop depths
>    esort =: >:@:/:@:/:         NB.  relate stop indices to starts &
> increment
>    unmask=: #^:_1              NB.  to restore the start zeros
>
>    end   =: unmask esort @: (mask depth)     NB. tie it all together
>
'end' can be rewritten in the following way:

end=: 3 : 'esort&.(y.&#) depth y.'

This hides mask/umask pair  into 'under' conjunction, that seems more
natural, but also requires explicit definition. Does anybody know the
way to express the same idea tacitly?

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

From owner-jsoftware@lists.interlog.com  Wed Jun 23 11:32:38 1999
From: arneson@pkb.mega.net.id (arneson)
Subject: RE: Jforum: Read  disk label?
Date: Wed, 23 Jun 1999 19:18:01 +0700
Content-Type: multipart/mixed; boundary="---- =_NextPart_000_01BEBDAE.ED660D40"

------ =_NextPart_000_01BEBDAE.ED660D40

Thanks Alex.

I put in in a verb, as follows:

NB. begin j script

require 'dll strings'

NB.======================
NB.*getVolumeLabel v returns disk volume label
NB. use: getVolumeLabel <drive_letter>

getVolumeLabel=: 3 : 0
  drive=.(0{y.),':\'
  left=.'kernel32 GetVolumeInformationA i *c *c i i i i *c i'
  right=.(drive);(100


 ');100;0;0;0;(10#' ');10
  dtb>2{ left cd right
)
NB. end j script

-----Original Message-----
From:	Alex Kornilovski [SMTP:kornal@idirect.com]
Sent:	Wednesday, June 23, 1999 06:07
To:	forum@jsoftware.com
Subject:	Re: Jforum: Read  disk label?

>How can I read a disk label from J?

load 'dll'
r=.'kernel32 GetVolumeInformationA i *c *c i i i i *c i' cd('a:\');(100


 ');100;0;0;0;(10#' ');10

2{r gives you disk(volume) label
7{r gives you file system type (FAT or NTFS)

'kernel32 SetVolumeLabelA i *c *c' cd 'a:\';'test label'
2{  'kernel32 GetVolumeInformationA i *c *c i i i i *c i'
cd('a:\');(100


 ');100;0;0;0;(10#' ');10
  TEST LABEL

7{  'kernel32 GetVolumeInformationA i *c *c i i i i *c i'
cd('a:\');(100


 ');100;0;0;0;(10#' ');10
   FAT

Alex

--------------------------------------------------------------------------------
J Forum: for information about this list, see http://www.jsoftware.com/forum.htm
------ =_NextPart_000_01BEBDAE.ED660D40
Content-Type: application/ms-tnef
Content-Transfer-Encoding: base64

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

------ =_NextPart_000_01BEBDAE.ED660D40--

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

From owner-jsoftware@lists.interlog.com  Wed Jun 23 11:40:45 1999
From: M.Day@fscii.maff.gov.uk
               Wed, 23 Jun 1999 16:28:58 +0100
               Wed, 23 Jun 1999 16:25:10 +0100
               Wed, 23 Jun 1999 16:23:26 +0100
Date: Wed, 23 Jun 1999 16:23:26 +0100
Content-Identifier: m1210623162246aa
Alternate-Recipient: Allowed
In-Reply-To: <ED32805AF20ED21186AE00805FA615340131CCBE@NUT>
Subject: RE: Jforum: David Ness's problem

Yes I agree - I developed the idea as esort under mask,  but
my mask was originally v&#,  and I didn't see how to incorporate
v as a variable.

Mike

A Nikitin wrote:
>'end' can be rewritten in the following way:
>
>end=: 3 : 'esort&.(y.&#) depth y.'
>
>This hides mask/umask pair  into 'under' conjunction, that seems more
>natural, but also requires explicit definition. Does anybody know the
>way to express the same idea tacitly?

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

From owner-jsoftware@lists.interlog.com  Wed Jun 23 20:10:26 1999
Date: Thu, 24 Jun 1999 02:01:12 +0200 (CEST)
From: Martin Neitzel <neitzel@is.gaertner.de>
Subject: Re: Jforum: Read  disk label?
In-Reply-To: <01BEBD2E.518887C0@pkb-120.mega.net.id>
Organization: Gaertner Datensysteme, Braunschweig, Germany

In article <01BEBD2E.518887C0@pkb-120.mega.net.id> you write:
>How can I read a disk label from J?

Here are two different approaches that are applicable to J on Unixens:

lbl =. 2!:0 'disklabel wd0'		  NB. using a command, here: BSD
lbl =. 512 {. 1!:1 <'/dev/rdsk/dks0d1vh'  NB. reading the device, here: IRIX

I love this kind of simplicity.  I had a bit fun today on a FreeBSD system
with the following J code:

play=: fwrite & <'/dev/speaker'
play startrek =. 'l2b.f+.p16a.c+.p l4mn<b.>e8a2mspg+e8c+f+8b2'

							Martin Neitzel

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

From owner-jsoftware@lists.interlog.com  Wed Jun 23 22:27:32 1999
Date: Wed, 23 Jun 1999 22:23:03 -0400
From: Eric Iverson <eiverson@interlog.com>
Organization: Iverson Software Inc.
Subject: Re: Jforum: Uninstalling J
References: <199906211735.NAA00526@riq.qc.ca>

Gilles Kirouac wrote:
>  Attempting to uninstall J403a with Add/Remove Prog
>  (in order to install elsewhere) leads to:
>  "An error occurred while trying to remove J folder...
>  Uninstallation has been canceled."

The J installation unzips files to the J directory and runs the J setup
program. During J4.03 beta testing we found that in a few cases windows
would find another setup.exe program and execute it instead. I think
this is a bug in the winzip installer. The quick fix was to change the
name of the J setup program to setup_j.exe. This this messes up the
control panel Add/Remove Programs as it tries to execute <setup.exe
/uninstall> and doesn't find it (because it is called setup_j.exe).

The cure for the the initial problem was worse than the disease. We'll
sort this out for the next release.

All that the J uninstall does is to delete the J directory. You can run
<setup_j.exe /uninstall> or simply delete the directory.

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

From owner-jsoftware@lists.interlog.com  Thu Jun 24 08:50:12 1999
From: arneson@pkb.mega.net.id (arneson)
Subject: Jforum: J for surveying
Date: Thu, 24 Jun 1999 19:49:50 +0700
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by plus.interlog.com id IAA29787

Are there any others using J for land surveying or geodetic surveying calculations?

I'm a Land Surveyor, currently working in Indonesia. I've started on J scripts for plane surveying and geodetic (latitude, longitude) to and from UTM conversions. Also for processing data collected by Leica total stations in .gsi format.

I'm willing to share code with other surveyors.

Tom Arneson
arneson@cpimsx.ptcpi.com

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

From owner-jsoftware@lists.interlog.com  Thu Jun 24 12:00:05 1999
Date: Thu, 24 Jun 1999 11:53:52 -0400
From: Murray Eisenberg <murray@math.umass.edu>
Organization: Mathematics & Statistics, Univ. of Mass./Amherst
Subject: Re: Jforum: Uninstalling J
References: <199906211735.NAA00526@riq.qc.ca> <37719687.666@interlog.com>

Is the behavior of the J install/uninstall documented fully?  Every time
I go to install a new version, I forget whether to delete the (released)
files of the last, or just install over the last version, or what.

J is not alone in such murkiness of what's happening!

Also, shouldn't an uninstall also delete the shortcut icon (and folder)
that the install provided, as well as delete the registry keys written
during the install?

Eric Iverson wrote:
>
> All that the J uninstall does is to delete the J directory. You can run
> <setup_j.exe /uninstall> or simply delete the directory.

--
Murray Eisenberg                     murray@math.umass.edu
Mathematics & Statistics Dept.       phone 413 549-1020 (H)
Univ. of Massachusetts                     413 545-2859 (W)
Amherst, MA 01003-4515

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

From owner-jsoftware@lists.interlog.com  Thu Jun 24 12:41:53 1999
Date: Thu, 24 Jun 1999 12:35:49 -0400
From: Eric Iverson <eiverson@interlog.com>
Organization: Iverson Software Inc.
Subject: Re: Jforum: Uninstalling J
References: <199906211735.NAA00526@riq.qc.ca> <37719687.666@interlog.com> <37725490.CE84DE20@math.umass.edu>

Murray Eisenberg wrote:
> Is the behavior of the J install/uninstall documented fully?  Every time
> I go to install a new version, I forget whether to delete the (released)
> files of the last, or just install over the last version, or what.

The J initial install dialog recommends installing to an empty directory
by either renaming or deleting the old one. Installing on top of a
previous install will work fine, but might leave around a bit of
garbage.

> J is not alone in such murkiness of what's happening!

This whole area and the registry in particular is such a mess that it is
impossible to do it right. Solutions just squeeze the problem to another
area.

> Also, shouldn't an uninstall also delete the shortcut icon (and folder)
> that the install provided, as well as delete the registry keys written
> during the install?

It would be nice if it could, but it is impossible to know what to do.
By not deleteing these things we leave a very tiny bit of completely
innocuous garbage lying about. If we deleted them we could cause serious
damage to nicely running systems.

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

From owner-jsoftware@lists.interlog.com  Thu Jun 24 15:32:23 1999
Date: Thu, 24 Jun 1999 10:56:41 -0700
From: "Stuart I. McDonald" <sim@eng.sun.com>
Subject: Jforum: running J CE/Mips on Casio E-100 or E-105?
Content-type: text/plain; charset=us-ascii

Has anyone had any success getting the CE/Mips version of J
running on a Casio CASSIOPEIA E-100 or E-105?

I dragged the j42a folder to
    \Program Files
and put a link to its J.EXE in
    \Windows\Start Menu\Programs
but when I ran it from Start/Programs/J
a dialog complained that J or its
components can't be found.

I was using the trial version and I
was never given an opportunity to enter
a registration key.

Would I have any greater success installing
the J-PRO version? i.e. does installing
from CD-ROM use an installer or is it also
a drag-and-drop affair requiring a key?

I'm thinking it might be

    1) bad bits during download?
or  2) chicken-and-egg registration problem?
or  3) J.EXE not built for CE 2.11?

-Stuart (not on forum, please CC me)

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

From owner-jsoftware@lists.interlog.com  Thu Jun 24 16:06:56 1999
From: "Oleg Kobchenko" <gccinc@usa.net>
References: <251dfeab.24a1a359@aol.com> <37705BA7.A2A28182@Home.Com>
Subject: Re: Jforum: David Ness's problem
Date: Thu, 24 Jun 1999 23:04:24 +0300
	charset="iso-8859-1"

I updated my JPage to include some screen shots, samples
and slightly renewed versions of some scripts.

http://members.xoom.com/olegyk/jpage.html

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

From owner-jsoftware@lists.interlog.com  Thu Jun 24 17:17:32 1999
Date: Thu, 24 Jun 1999 17:14:19 -0400
From: David Ness <DNess@home.com>
Subject: Re: Jforum: running J CE/Mips on Casio E-100 or E-105?
References: <37727159.B673839D@eng.sun.com>

Do they have keyboards?

Stuart I. McDonald wrote:
>
> Has anyone had any success getting the CE/Mips version of J
> running on a Casio CASSIOPEIA E-100 or E-105?
>

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

From owner-jsoftware@lists.interlog.com  Fri Jun 25 10:30:43 1999
From: "Seymour Glass" <glasss@mindspring.com>
Subject: RE: Jforum: Uninstalling J
Date: Fri, 25 Jun 1999 10:26:10 -0400
	charset="iso-8859-1"
Importance: Normal
In-Reply-To: <37719687.666@interlog.com>

Would it work to create setup_j.exe for use at setup time
(to sidestep the winzip bug) and also an identical
setup.exe for use at uninstall time?

Henry Rich

> -----Original Message-----
> From: owner-jsoftware@lists.interlog.com
> [mailto:owner-jsoftware@lists.interlog.com]On Behalf Of Eric Iverson
> Sent: Wednesday, June 23, 1999 22:23
> To: forum@jsoftware.com
> Subject: Re: Jforum: Uninstalling J
>
>
> Gilles Kirouac wrote:
> >  Attempting to uninstall J403a with Add/Remove Prog
> >  (in order to install elsewhere) leads to:
> >  "An error occurred while trying to remove J folder...
> >  Uninstallation has been canceled."
>
> The J installation unzips files to the J directory and runs the J setup
> program. During J4.03 beta testing we found that in a few cases windows
> would find another setup.exe program and execute it instead. I think
> this is a bug in the winzip installer. The quick fix was to change the
> name of the J setup program to setup_j.exe. This this messes up the
> control panel Add/Remove Programs as it tries to execute <setup.exe
> /uninstall> and doesn't find it (because it is called setup_j.exe).
>
> The cure for the the initial problem was worse than the disease. We'll
> sort this out for the next release.
>
> All that the J uninstall does is to delete the J directory. You can run
> <setup_j.exe /uninstall> or simply delete the directory.
>
>
> ------------------------------------------------------------------
> --------------
> 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 Jun 25 13:11:18 1999
Date: Fri, 25 Jun 1999 13:07:54 -0400
From: David Ness <DNess@home.com>
Subject: Jforum: Is there some simple way to get ...

... an effect similar to Atomic Permute (A.) but based on the
combinations of the base set, rather than permutations? As usual, I have
the feeling that there should be a `simple way' but I cannot find one
without writing substantial code. The code seems to work, but
(a) it isn't fast; and (b) it's a bit ugly...

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

From owner-jsoftware@lists.interlog.com  Fri Jun 25 13:35:46 1999
From: "Oleg Kobchenko" <gccinc@usa.net>
References: <01074BD4EEC4D1118E3200805F6542A7177F15@SPRDALLAS2> <000201bebc4e$fa65d040$6c7bbfa8@palmtop>
Subject: Re: Jforum: J403b
Date: Fri, 25 Jun 1999 20:31:18 +0300
	charset="iso-8859-1"

These keystrokes should be mapping to the browsers' respective
Navigate methods with "Use no cache" attribute selected.

Alternatively one can force cleaning cache as a radical measure.
E.g. in IE it's Menu: [Internet Options]->Delete Files

Sometimes cookies fail to get updated, esp. for different users
on the same workstation. To cure this go to
    Menu: [Internet Options]->Settings->View Files
then pick and delete the entries Cookie:yourname@host.address

----- Original Message -----
From: Barry Savage <bv@bsavage.net>
Sent: Tuesday, June 22, 1999 4:31 AM
Subject: Re: Jforum: J403b

...
> update from the web site. To be sure to get the updated page ...
>
> (1) press the Ctrl (control) key and Refesh button at the same
>       time in Internet Explorer
>
> (2) press the Shift key and Reload button at the same time
>      in Netscape Navigator

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

From owner-jsoftware@lists.interlog.com  Fri Jun 25 15:12:08 1999
From: "Oleg Kobchenko" <gccinc@usa.net>
References: <376F9BC4.E4979458@worldnet.att.net>
Subject: Re: Jforum: Grids without OOP
Date: Fri, 25 Jun 1999 22:09:42 +0300
	charset="iso-8859-1"

Subjective viewpoint first. When J grid appeared it was
long awaited and a superb tightly integrated tool.
Born in the depth of APL backgrounded millsmith,
it carried many of the respective traits. Functionality
prevailed over appearance and its programming
bore satisefaction in the challenge rather than in ease,
albeit being OOP. However, in later releases fonts
became neetier and some applications were really
smooth, e.g. the 'dirs' utility, which though requires
APL rocket science to reproduce.

As I metioned on my JPage in okole sampler, MSFlexGrid
has less functionality and integration with J, but a logarithmic
learning curve. It takes 5 min to make a cover OPP class
(to shortcut the 'olemethod temp base object!:#$%^&...' stuff)
and then with the supplied .hlp making FlexGrids with all its
versatality is a snap.

Now about the 22 commands. To me this figure is scary. Since
creation of GUI at Xerox, the most successful implementations
were based on event-driven model in contrast to procedural.
The objects are initiated and start living by themselves with
occasional interference from a set of triggers changing the designated
properties. What happens between the objects and triggers is
done once and is never changed, never even been aware of.
This is the reason why the ActiveX technology became
so popular. We just don't care what's inside.

The OOP wrappers for J grid a similar purpose of a higher, i.e simpler
interface to its functionality. However they represent a set of
special-purpose implementations, whereas such agregates as FlexGrid
hold all in one solutions. This is why to make something different that
a jwatch or jreport one cannot just supply one or two triggers to change
a couple of properties. The whole mechanism should be recreated,
not without necessity to undertand its internal behavior -- the same 22
functions.

E.g. J grid has only flat shape for border, in supplied OPP covers
the selection is only forward -- to make it work both ways one needs
to learn all the grid functionality and undertand the low-level source.
If it's necessary I can supply more examples.

In conclusion, J grid has a good user presentation interface, good
functionality, but an easy and comprehensive programming interface
is yet to be defined. I wanted to share this long ago, but did not see
the same awareness from others. Now I used the momentum.
Besides the Report of Brian's, maybe somebody else has any interesting
solutions?

----- Original Message -----
From: Brian Bambrough <b.bambrough@worldnet.att.net>
Sent: Tuesday, June 22, 1999 5:20 PM
Subject: Jforum: Grids without OOP

....
> To further minimize the learning curve it is my strong instinct to
> stay away from OOP.  OOP adds another layer of abstraction.  It takes
> a lot of effort to learn, especially for people who do not intend to
> become programmers.
>
> In the current implementation of J, the primary tool for data entry of
> tables seems to be the grid.  In all the documentation, labs and
> scripts provided with J, the only way to access grids is with OOP.  It
> seems to me that it makes for a faster learning curve to dispense with
> OOP and to program the grid directly.  After all, there are only 22
> glgrid commands plus a few other gl commands to learn.
>
> Of course, I could be completely wrong in this.  Maybe OOP is easier.
> To find out, I have been experimenting with OOPless grids.  I have
> duplicated the "Report" example from the Lab "Grid Basic Examples" in
> a script that is completely stand-alone except for "require 'gl2'".
....

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

From owner-jsoftware@lists.interlog.com  Fri Jun 25 15:14:13 1999
From: "Oleg Kobchenko" <gccinc@usa.net>
Subject: Jforum: [JUGGLE] Current J Feature Hitlist
Date: Fri, 25 Jun 1999 22:10:37 +0300
	charset="koi8-r"

We have been seeing these same items on the wish list several
times now already, I don't even remember for how may months
(years soon?). I can tell right away that items 2, 3, and a little less
so 4 and 7 (require some brain power), i.e. the documentation can be
achieved in some negligible time by a single individual. HTML and

sdoc utility. There are rtf2html and rtf2tex (for texinfo) converters,
which can do the job. Boxes will be an issue -- but that has many
solutions by now. So why it's still on the wish list?

One possible answer is the copyright. Those who carry the title for
the text are too busy to do it. And those who would be able to do
it don't have the rights and the source and can only strip the text and
adapting the medium keep it for private use.

(Just in case: It's not critisism. It's constructive ideas.)

----- Original Message -----
From: <owner-juggle@gaertner.de>
Sent: Tuesday, June 22, 1999 3:22 PM
Subject: [JUGGLE] Current J Feature Hitlist

> So, here are all the suggested changes for J, ranked according
> to the virtual money people would spend on them:
>
>  1:    30.00  X          - Support  X in Linux
>  2:    11.00  htmldict   - Make the J Dictionary available in HTML.
>  3:    10.24  jdict      - Ascii Source for the Dictionary of J
>  4:     6.26  refcard    - A Quick-Reference Card for J
>  5:     4.26  pilot      - The Palm Pilot should be a supported platform
>  6:     4.05  labs       - A driver for the "lab" tutorials
>  7:     2.57  unixman    - "User's Manual" for Unix Jugglers
>  8:     1.05  sgi        - J on SGI platforms
>  9:     0.52  hpux       - J on HPUX platforms
> 10:     0.05  nonulls    - J should not output null characters
> 11:     0.00  package    - Distribute J in packages that facilitate system
maintenance.

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

From owner-jsoftware@lists.interlog.com  Fri Jun 25 16:30:54 1999
From: Eemcd@aol.com
Date: Fri, 25 Jun 1999 16:25:58 EDT
Subject: Re: Jforum: Is there some simple way to get ...

Roger Hui has functions to go between ordinal numbers and combinations, which
I can look up when I get back to Palo Alto.

Eugene McDonnell

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

From owner-jsoftware@lists.interlog.com  Fri Jun 25 16:36:48 1999
From: Andrew Nikitin <anikitin@fastenal.com>
Subject: RE: Jforum: Is there some simple way to get ...
Date: Fri, 25 Jun 1999 15:33:11 -0500

> -----Original Message-----
> From:	Eemcd@aol.com [SMTP:Eemcd@aol.com]
> Sent:	Friday, June 25, 1999 15:26
>
> Roger Hui has functions to go between ordinal numbers and
> combinations, which
> I can look up when I get back to Palo Alto.
>
Why then they don't included in Phrases, I wonder?

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

From owner-jsoftware@lists.interlog.com  Fri Jun 25 16:42:54 1999
From: Eemcd@aol.com
Date: Fri, 25 Jun 1999 16:39:29 EDT
Subject: Re: RE: Jforum: Is there some simple way to get ...

The Phrase Book is limited to one-line phrases. Roger's functions have
multiple lines.

Eugene McDonnell

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

From owner-jsoftware@lists.interlog.com  Fri Jun 25 17:01:16 1999
Date: Fri, 25 Jun 1999 16:58:51 -0400
From: David Ness <DNess@home.com>
Subject: Re: Jforum: Is there some simple way to get ...
References: <f7e069a9.24a53fd6@aol.com>

I appreciate the offer. It is _not_ high priority from my
standpoint---it is just from my interest, but I would appreciate
it when you have time.

Thanks.

Eemcd@aol.com wrote:
>
> Roger Hui has functions to go between ordinal numbers and combinations, which
> I can look up when I get back to Palo Alto.
>
> Eugene McDonnell
>

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

From owner-jsoftware@lists.interlog.com  Fri Jun 25 17:27:52 1999
From: "Roger Hui" <RHui@interlog.com>
References: <f7e069a9.24a53fd6@aol.com>
Subject: Re: Jforum: Is there some simple way to get ...
Date: Fri, 25 Jun 1999 14:22:53 -0400
	charset="iso-8859-1"

> Roger Hui has functions to go between ordinal numbers and combinations, which
> I can look up when I get back to Palo Alto.

comb=: 4 : 0    NB. All size x. combinations of i.y.
 z=.1 0$k=.i.#c=.1,~(y.-x.)$0
 for. i.x. do. z=.;k,.&.>(-c=.+/\.c){.&.><1+z end.
)

f =. 4 : 0     NB. Assertions
 'm n'=.x.
 t=.y.   NB. m comb n
 z=.$0
 z=.z, ($t) -: (m!n),m
 z=.z, *./,t e.i.n
 z=.z, *./m=#@~."1 t
 z=.z, t -: ~.t
 z=.z, (i.#t) -: /:t
 z=.z, *./(i.m)-:"1 /:"1 t
)

(f comb/)"1 (i.6),.5
(f comb/) 4 4
(f comb/) 0 4
(f comb/) 0 0

NB. n ifc c      index from combination, the index of combination c
NB. n cfi i      combination from index, the i-th combination of i.n
NB. (m,n) ic c   (m comb0 n) i. c
NB. (m,n) ci i   i{(m comb0 n)

ifc=: 4 : 0 " 0 1
 (+/(i.#y.)!x.) + ((#y.),x.) ic y.
)

ic=: 4 : 0 " 1
 'm n'=. x.
 if. 1>:m do. {.y.,0
 else.
  k=. {.y.
  i=. m-1
  j=. i+i.i-n
  (+/i!k{.j) + (x.-1,1+k) ic (}.y.-1+k)
 end.
)

cfi=: 4 : 0 " 0
 v=. +/\(i.x.)!x.
 m=. (y.<v)i. 1
 (m,x.) ci (y.-m{0,v)
)

ci=: 4 : 0 " 1 0
 'm n'=. x.
 if. 0=m do.
  i.0
 else.
  v=. +/\ (m-1)!(1-m)}.i.-n
  k=. (v>y.) i. 1
  k,(1+k)+(x.-1,1+k)ci(y.-k{0,v)
 end.
)

NB. Assertions

(x{5 comb 9) -: 5 9 ci x=.?20$5!9
(  4 comb 6) -: 4 6 ci i.!/4 6

(<:20!100x) -: 20 100x ic 80x+i.20
(79x+(3 2$0 1 0 2 1 2),"1]3+i.18) -: 20 100x ci (20!100x)-3 2 1

i0=: [: ; ] ifc&.> i.@>: comb&.> ]
i1=: i.@(2&^)
i2=: ifc&.> i.@>: comb&.> ]
i3=: (+/\@}:@(0&,) +&.> i.&.>) @ (i.@>: ! ])
j0=. ] cfi&.> i3
j1=. i.@>: comb&.> ]

(i0 -: i1)"0 i.5
(i2 -: i3)"0 i.5
(j0 -: j1)"0 i.5

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

From owner-jsoftware@lists.interlog.com  Fri Jun 25 18:04:16 1999
From: "David Vincent-Jones" <geomap@galaxynet.com>
References: <e72a92cf.24a54301@aol.com>
Subject: Re: RE: Jforum: Is there some simple way to get ...
Date: Fri, 25 Jun 1999 14:47:54 -0700

----- Original Message -----
From: <Eemcd@aol.com>
Sent: June 25, 1999 1:39 PM
Subject: Re: RE: Jforum: Is there some simple way to get ...

> The Phrase Book is limited to one-line phrases. Roger's functions have
> multiple lines.

Yes, I know it is called a Phrase Book but...
A shame to limit useful, yet more complex, ideas that take another line or
two.

>
> Eugene McDonnell
>
> --------------------------------------------------------------------------
------
> 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 Jun 25 19:00:01 1999
Date: Fri, 25 Jun 1999 18:57:30 -0400
From: David Ness <DNess@home.com>
Subject: Re: Jforum: Is there some simple way to get ...
References: <f7e069a9.24a53fd6@aol.com> <004601bebf38$012c3220$e0b0ba89@f3nbp>

Very nice, thanks very much. I look forward to trying them...

Roger Hui wrote:
>
> > Roger Hui has functions to go between ordinal numbers and combinations, which
> > I can look up when I get back to Palo Alto.
>
> comb=: 4 : 0    NB. All size x. combinations of i.y.
>  z=.1 0$k=.i.#c=.1,~(y.-x.)$0
>  for. i.x. do. z=.;k,.&.>(-c=.+/\.c){.&.><1+z end.
> )
>
> f =. 4 : 0     NB. Assertions
>  'm n'=.x.
>  t=.y.   NB. m comb n
>  z=.$0
>  z=.z, ($t) -: (m!n),m
>  z=.z, *./,t e.i.n
>  z=.z, *./m=#@~."1 t
>  z=.z, t -: ~.t
>  z=.z, (i.#t) -: /:t
>  z=.z, *./(i.m)-:"1 /:"1 t
> )
>
> (f comb/)"1 (i.6),.5
> (f comb/) 4 4
> (f comb/) 0 4
> (f comb/) 0 0
>
> NB. n ifc c      index from combination, the index of combination c
> NB. n cfi i      combination from index, the i-th combination of i.n
> NB. (m,n) ic c   (m comb0 n) i. c
> NB. (m,n) ci i   i{(m comb0 n)
>
> ifc=: 4 : 0 " 0 1
>  (+/(i.#y.)!x.) + ((#y.),x.) ic y.
> )
>
> ic=: 4 : 0 " 1
>  'm n'=. x.
>  if. 1>:m do. {.y.,0
>  else.
>   k=. {.y.
>   i=. m-1
>   j=. i+i.i-n
>   (+/i!k{.j) + (x.-1,1+k) ic (}.y.-1+k)
>  end.
> )
>
> cfi=: 4 : 0 " 0
>  v=. +/\(i.x.)!x.
>  m=. (y.<v)i. 1
>  (m,x.) ci (y.-m{0,v)
> )
>
> ci=: 4 : 0 " 1 0
>  'm n'=. x.
>  if. 0=m do.
>   i.0
>  else.
>   v=. +/\ (m-1)!(1-m)}.i.-n
>   k=. (v>y.) i. 1
>   k,(1+k)+(x.-1,1+k)ci(y.-k{0,v)
>  end.
> )
>
> NB. Assertions
>
> (x{5 comb 9) -: 5 9 ci x=.?20$5!9
> (  4 comb 6) -: 4 6 ci i.!/4 6
>
> (<:20!100x) -: 20 100x ic 80x+i.20
> (79x+(3 2$0 1 0 2 1 2),"1]3+i.18) -: 20 100x ci (20!100x)-3 2 1
>
> i0=: [: ; ] ifc&.> i.@>: comb&.> ]
> i1=: i.@(2&^)
> i2=: ifc&.> i.@>: comb&.> ]
> i3=: (+/\@}:@(0&,) +&.> i.&.>) @ (i.@>: ! ])
> j0=. ] cfi&.> i3
> j1=. i.@>: comb&.> ]
>
> (i0 -: i1)"0 i.5
> (i2 -: i3)"0 i.5
> (j0 -: j1)"0 i.5
>

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

From owner-jsoftware@lists.interlog.com  Fri Jun 25 21:39:05 1999
Date: Fri, 25 Jun 1999 21:35:54 -0400
From: David Ness <DNess@home.com>
Subject: Jforum: A quick warning ...

... It would appear that Roger Hui's wonderful combinations
functions have a few assignments that were done with `=.' rather
than `=:'. This may trouble some with the latest versions of j,
although earlier versions seem to be fine...

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

From owner-jsoftware@lists.interlog.com  Sat Jun 26 10:59:11 1999
From: bjorn@rvk.is
X-Lotus-FromDomain: RVK
Date: Sat, 26 Jun 1999 14:54:43 +0000
Subject: Jforum: List in controls and cities
Content-type: text/plain; charset=us-ascii
Content-Disposition: inline

I was demonstrating J and used demo. I first showed controls and then I was
going to demonstrate cities. It broke down because the controls demo leaves
"list" behind in the base locale.

/Gosi

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

From owner-jsoftware@lists.interlog.com  Sun Jun 27 18:29:12 1999
Date: Sun, 27 Jun 1999 18:23:59 -0400
From: Alain Miville de =?ISO-8859-1?Q?Ch=EAne?= <Infodev@compuserve.com>
Subject: Re: Jforum: Grids without OOP
	 charset=ISO-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by plus.interlog.com id SAA08647

Message text written by INTERNET:forum@jsoftware.com
>maybe somebody else has any interesting solutions?<

I use FarPoint's Spread control. I didn't know about MSFlexGrid. I'll go
have a look.

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

From owner-jsoftware@lists.interlog.com  Mon Jun 28 04:05:17 1999
Date: Mon, 28 Jun 1999 09:11:19 +0200
From: Eke van Batenburg <Batenburg@Rulsfb.LeidenUniv.NL>
Subject: Jforum: WhatsWhere in Quote Quad
Content-type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by plus.interlog.com id EAA07991

Open letter to Tom Arneson

At 07:49 PM 6/24/99 +0700, you wrote:
>Are there any others using J for land surveying or geodetic surveying calculations?
>
>I'm a Land Surveyor, currently working in Indonesia.
>I've started on J scripts for plane surveying and geodetic
>(latitude, longitude) to and from UTM conversions.
>Also for processing data collected by Leica total stations in .gsi format.
-----------------------------------------------------------

Dear Tom

I was interested to read that you use J for plane surveying in Indonesia.
I would appreciate if you could describe that project in a short abstract (about 200 words which, I assume, does not impose a great burden on you) and send it to me for publication in the WhatsWhere column in Quote Quad.

The reason why I started this column is that I think it is interesting for APL/J/K programmers to learn what other people do in APL/J/K; for some people it could be mere interest, for others it could (as in your case) help in providing information to get in contact with similar minds.

I hope you will take the time and do this.............Eke

The reason that I write this as an "open letter" rather than contacting Tom privately is that I want to use this opportunity to invite other people as well to write a short description of their projects.

If you read Quote Quad you probably have seen the column in the last two copies, if not the best I can do to convey my intentions regarding this column is to copy here the intro of the first publication:
--------------------------------------------------------------------------
WHATSWHERE

Dear APL friends

Working out there at theoretical biology with biologists and mathematicians, I sometimes feel that I am the only one using APL.

It takes an APL conference to learn that there are many other projects going on that rely on APL. If I walk into an office of the "Deutsche Bank" (which I haven't done) and see the computer screens or read their weekly reports (which I don't) I wouldn't know that there are APL programs behind it, but after the APL conference I know better. If I play golf (which I don't) I wouldn't expect that the golfclub was designed by APL programs, but after the APL conference I know better. If I need a brain lobotomy (which ....) I wouldn't think that the tomographic brain mapping could be constructed by APL programs, but after an APL conference... OK, you get the message.

Unfortunately, those APL conferences only make me aware of a few dozen projects and if you don't visit a conference you even miss this opportunity.

Therefore I propose to start a column in Quote Quad to "inform each other about each other's work" by short (about 200 words) descriptions of various APL projects.

I don't want advertisements proclaiming potentially useful features, but I like to hear reports about real projects. Of course it is interesting to mention why it was successful, why it was developed quickly or why it was regarded highly by the users (that such a story is indirect publicity is fine by me).

Wouldn't you like to learn about other people that might work in similar area's, who probably had better solutions for your problem than you had time to develop yourself?
Wouldn't you like to learn about projects that are very different from your own projects?
Wouldn't you like to tell all your non-APL friends/ennemies about the various things that are done by APL?
Wouldn't you like to tell others about your accomplishments?

In order to stimulate you to write I opted for small pieces; about 200 words. This is no big burden for you to write, a couple of hours would do the job. So please help me and tell the world about your project or projects.

What if you have many projects that you want us to tell about? This does not fit into 200 words. Then you write many �whatswhere��s, one for each project. We will preferable spread that over several copies so your projects get renewed attention each time.
Or if you don�t want to invest so much time but still like to inform us about what is going on in your department (we would like to know that indeed), you could only write one 200-words piece that mentiones all your projects.
Or you could do both, write one piece that lists all the projects followed by one or more project descriptions.

I suspect that most readers are satisfied with reading short descriptions. A few readers might want to know more details. For those, I suggest you stick keep it short (not much work for you, is it?) but add  pointers for more detailed information.

Finally, please sit down for a minute and think about one of the projects that you favour for one reason or another. Just jot down on a piece of paper....
1. in what area are you working
2. write a colon (you can do that)
3. write down a title that catches the essence of your project
   Now you have the first line already.
4. write down in a few lines the same text that you brag about to your friends and family about your project (you have done that many times, have you not? so no extra work involved here)
5. write down why it is so interesting for APL people (if you think it has nothing fancy that�s OK, we are already interested in learning that such a project is done in APL).
6. who uses it, or where is it used, and how are the reactions? why is it your favourite project?

Now stop and read what you wrote down. You have created what Quote Quad was asking you to submit. Just add your name, how people who are interested can get more information (web-site, literature, publication, commercial flyer) and send it to me:
e-mail:Batenburg@RULSFB.LeidenUniv.NL or
snail-mail: F.H.D.v.Batenburg, Theoretical Biology, Leiden University, Kaiserstraat 63, 2311 GP Leiden, the Netherlands.

+-------------------------------------------------------------+
|                                                             |
| F.H.D. van Batenburg                                        |
| Group Theoretical Biology                                   |
| E.E.W. of University Leiden                                 |
| University Leiden                                           |
| Kaiserstraat 63                         tel.:+31-71-5274972 |
| 2311GP Leiden                           fax: +31-71-5274900 |
| The Netherlands       email: Batenburg@Rulsfb.LeidenUniv.NL |
|                //wwwbio.LeidenUniv.nl/~batenburg/index.html |
|                                                             |
+-------------------------------------------------------------+

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

From owner-jsoftware@lists.interlog.com  Mon Jun 28 13:52:53 1999
From: "Chris Burke" <cdburke@interlog.com>
References: <0025679C.0051EBE0.00@bvnotes.bv.rvk.is>
Subject: Re: Jforum: List in controls and cities
Date: Mon, 28 Jun 1999 13:37:01 -0400
	charset="iso-8859-1"

Fixed now, thanks.

----- Original Message -----
From: <bjorn@rvk.is>
Sent: Saturday, June 26, 1999 10:54 AM
Subject: Jforum: List in controls and cities

> I was demonstrating J and used demo. I first showed controls and
then I was
> going to demonstrate cities. It broke down because the controls demo
leaves
> "list" behind in the base locale.
>
> /Gosi
>
>
>
> --------------------------------------------------------------------
------------
> 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 Jun 28 14:02:45 1999
From: "Oleg Kobchenko" <gccinc@usa.net>
References: <0025679C.0051EBE0.00@bvnotes.bv.rvk.is> <013401bec18e$753866e0$490114d1@Pcdburke>
Subject: Re: Jforum: List in controls and cities
Date: Mon, 28 Jun 1999 20:58:58 +0300
	charset="iso-8859-1"

Before you demonstrating something to anybody
you must first make sure yourself that it works.

Even Bill Gates knows that.

----- Original Message -----
From: Chris Burke <cdburke@interlog.com>
Sent: Monday, June 28, 1999 8:37 PM
Subject: Re: Jforum: List in controls and cities

Fixed now, thanks.

----- Original Message -----
From: <bjorn@rvk.is>
Sent: Saturday, June 26, 1999 10:54 AM
Subject: Jforum: List in controls and cities

> I was demonstrating J and used demo. I first showed controls and
then I was
> going to demonstrate cities. It broke down because the controls demo
leaves
> "list" behind in the base locale.
>
> /Gosi
>
>
>
> --------------------------------------------------------------------
------------
> 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 Jun 28 18:25:51 1999
Date: Mon, 28 Jun 1999 18:23:00 -0400
From: Alain Miville de =?ISO-8859-1?Q?Ch=EAne?= <Infodev@compuserve.com>
Subject: Jforum: Wish List
	 charset=ISO-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by plus.interlog.com id SAA01558

There was a recent post of the wish list for J. Here is the one proposed by
one of my guys:

In general : Mostly better GUI support

1. PERFECT support of OCX controls
2. Support for MDI application development
3. Better Event Handling and Support, like OnChange, OnGotFocus, OnResize,
...
4. A better project manager, Class/Verb Browser
5. More controls with better handling (styles and all)
6. A better GUI designer

In short : I dont want to have to build my interface in VB and call J. I
want to be able to show a professional looking app.

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

From owner-jsoftware@lists.interlog.com  Mon Jun 28 18:26:31 1999
Date: Mon, 28 Jun 1999 18:23:00 -0400
From: Alain Miville de =?ISO-8859-1?Q?Ch=EAne?= <Infodev@compuserve.com>
Subject: Jforum: Wish List
	 charset=ISO-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by plus.interlog.com id SAA01783

There was a recent post of the wish list for J. Here is the one proposed by
one of my guys:

In general : Mostly better GUI support

1. PERFECT support of OCX controls
2. Support for MDI application development
3. Better Event Handling and Support, like OnChange, OnGotFocus, OnResize,
...
4. A better project manager, Class/Verb Browser
5. More controls with better handling (styles and all)
6. A better GUI designer

In short : I dont want to have to build my interface in VB and call J. I
want to be able to show a professional looking app.

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

From owner-jsoftware@lists.interlog.com  Mon Jun 28 19:54:38 1999
From: "Donald Pittenger" <dbpitt@demlab.com>
Subject: Jforum: locales and globals
Date: Mon, 28 Jun 1999 16:50:27 -0700
	boundary="----=_NextPart_000_0014_01BEC186.532DC700"

This is a multi-part message in MIME format.

------=_NextPart_000_0014_01BEC186.532DC700
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

I need to consider serious use of locales.  Feedback from the J403 =
interpreter is forcing me to think about how locales should be used in =
combat.  I'm posting this because I need a reality check on my currently =
half-baked notions.

In a project, locales might be=20
 _base_
  _something_
   _subsomething_
...probably no deeper than this.

Right now, if I create a global variable in _base_, it seems to be =
invisible to a program executing in _something_.  I can access it using =
GLOBAL_base_, but that means hardcoding the locale name, which I'm not =
anxious to do--it might not be _base_ in another app.

The interpreter seems to be telling me all locales (aside from _z_) are =
equal...includeing _base_; they ignore each other's content unless told =
otherwise.

Does this mean I have to stuff all globals into _z_?  This seems messy =
and probably a source of error.

The locales lab mentions something about 'current path', but I'm not =
sure how this is set up in practice and whether it might be of any help =
in modular programming.

What am I doing wrong?  What is accepted J practice here?

------=_NextPart_000_0014_01BEC186.532DC700
	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 need to consider serious use of =
locales.&nbsp;=20
Feedback from the J403 interpreter is forcing me to think about how =
locales=20
should be used in combat.&nbsp; I'm posting this because I need a =
reality check=20
on my currently half-baked notions.</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 size=3D2>In a project, locales might be=20
<BR>&nbsp;_base_<BR>&nbsp; _something_<BR>&nbsp;&nbsp;=20
_subsomething_<BR>...probably no deeper than this.</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 size=3D2>Right now, if I create a global =
variable in=20
_base_, it seems to be invisible to a program executing in =
_something_.&nbsp; I=20
can access it using GLOBAL_base_, but that means hardcoding the locale =
name,=20
which I'm not anxious to do--it might not be _base_ in another =
app.</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 size=3D2>The interpreter seems to be telling =
me all=20
locales (aside from _z_) are equal...includeing _base_; they ignore each =
other's=20
content unless told otherwise.</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 size=3D2>Does this mean I have to stuff all =
globals into=20
_z_?&nbsp; This seems messy and probably a source of error.</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 size=3D2>The locales lab mentions something =
about=20
'current path', but I'm not sure how this is set up in practice and =
whether it=20
might be of any help in modular programming.</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 size=3D2>What am I doing wrong?&nbsp; What is =
accepted J=20
practice here?</FONT></DIV></BODY></HTML>

------=_NextPart_000_0014_01BEC186.532DC700--

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

From owner-jsoftware@lists.interlog.com  Mon Jun 28 22:36:58 1999
Date: Mon, 28 Jun 1999 22:32:31 -0400
From: Murray Eisenberg <murray@math.umass.edu>
Organization: Mathematics & Statistics, Univ. of Mass./Amherst
Subject: Re: Jforum: locales and globals
References: <001701bec1c1$00300af0$59fe02c7@fwh71>

Can such plain text attachments to submissions be sent in a form that
PC-based e-mail programs such as Netscape Messenger will word wrap?
Messenger does not seem to offer a way to force word wrapping, so what I
get is _very_ long lines that require extensive horizontal scrolling to
read (unless I copy them and paste into a separate text reader/editor
that handles Unix- or Mac-like end-of-line conventions as well as the PC
convention.

Donald Pittenger wrote:
>
>    Part 1.1    Type: Plain Text (text/plain)
>            Encoding: quoted-printable

--
Murray Eisenberg                     murray@math.umass.edu
Mathematics & Statistics Dept.       phone 413 549-1020 (H)
Univ. of Massachusetts                     413 545-2859 (W)
Amherst, MA 01003-4515

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

From owner-jsoftware@lists.interlog.com  Tue Jun 29 08:11:15 1999
From: "Donald Pittenger" <dbpitt@demlab.com>
Subject: Re: Jforum: locales and globals
Date: Tue, 29 Jun 1999 05:06:15 -0700
	charset="iso-8859-1"

Sorry.. I drafted this on Wordpad on another computer and cut/pasted into
the email on my main machine, where it looked okay. (BTW I also always have
Outlook express set to the smallest type size, and my message coming back
via the forum looks fine.)

My question, at its nub, is how one can pass global variables down through
layers of locales.  This is mimicking name scoping as in APL and modules in
Modula-2.

Right now, the interpreter won't even recognize a global variable in _base_
unless I tag it with '_base_'.  The tutorial mentions something about
'current path', suggesting that scoping might be controllable with locales,
but I either missed how this works or misunderstand (either is highly
likelly).  Putting globals on _z_ seems messy if that is the only out.

Just what is good locale programming practice in J?

-----Original Message-----
From: Murray Eisenberg <murray@math.umass.edu>
Date: Monday, June 28, 1999 8:37 PM
Subject: Re: Jforum: locales and globals

>Can such plain text attachments to submissions be sent in a form that
>PC-based e-mail programs such as Netscape Messenger will word wrap?
>Messenger does not seem to offer a way to force word wrapping, so what I
>get is _very_ long lines that require extensive horizontal scrolling to
>read (unless I copy them and paste into a separate text reader/editor
>that handles Unix- or Mac-like end-of-line conventions as well as the PC
>convention.
>
>Donald Pittenger wrote:
>>
>>    Part 1.1    Type: Plain Text (text/plain)
>>            Encoding: quoted-printable
>
>--
>Murray Eisenberg                     murray@math.umass.edu
>Mathematics & Statistics Dept.       phone 413 549-1020 (H)
>Univ. of Massachusetts                     413 545-2859 (W)
>Amherst, MA 01003-4515
>
>---------------------------------------------------------------------------
-----
>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 Jun 29 10:10:59 1999
From: "Chris Burke" <cdburke@interlog.com>
References: <001701bec1c1$00300af0$59fe02c7@fwh71>
Subject: Re: Jforum: locales and globals
Date: Tue, 29 Jun 1999 10:10:26 -0400
	charset="iso-8859-1"

You can structure locales as you wish, but the standard way has the
"z" locale in every locale path.

A name "abc_def" is visible without a locale reference, only in locale
"def", or in locales that have "def" in their path. Since locale "z"
is in every locales path, then "z" is the natural place to store names
that should be visible everywhere.

You can distinguish globals visible everywhere (in "z"), and globals
visible (without explicit locale references) only to specific code in
some other locale. For example, globals for a form would likely be
defined in the form's locale.

You dont have to use "z" for this purpose. If defining globals in "z"
makes you uncomfortable, create another locale (say) "y" and put "y"
and "z" on its search path. Then define your globals in "y".

Use copath to set up a locale path, e.g. ('y';'z') copath 'base'

----- Original Message -----
From: Donald Pittenger <dbpitt@demlab.com>
Sent: Monday, June 28, 1999 7:50 PM
Subject: Jforum: locales and globals

I need to consider serious use of locales.  Feedback from the J403
interpreter is forcing me to think about how locales should be used in
combat.  I'm posting this because I need a reality check on my
currently half-baked notions.

In a project, locales might be
 _base_
  _something_
   _subsomething_
...probably no deeper than this.

Right now, if I create a global variable in _base_, it seems to be
invisible to a program executing in _something_.  I can access it
using GLOBAL_base_, but that means hardcoding the locale name, which
I'm not anxious to do--it might not be _base_ in another app.

The interpreter seems to be telling me all locales (aside from _z_)
are equal...includeing _base_; they ignore each other's content unless
told otherwise.

Does this mean I have to stuff all globals into _z_?  This seems messy
and probably a source of error.

The locales lab mentions something about 'current path', but I'm not
sure how this is set up in practice and whether it might be of any
help in modular programming.

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

From owner-jsoftware@lists.interlog.com  Tue Jun 29 10:15:33 1999
From: Andrew Nikitin <anikitin@fastenal.com>
Subject: RE: Jforum: locales and globals
Date: Tue, 29 Jun 1999 09:12:10 -0500

> -----Original Message-----
> From:	Donald Pittenger [SMTP:dbpitt@demlab.com]
> Sent:	Tuesday, June 29, 1999 07:06
>
> My question, at its nub, is how one can pass global variables down
> through
> layers of locales.  This is mimicking name scoping as in APL and
> modules in
> Modula-2.
>
Namespaces in J (for the reasons that are unknown to me, they are called
locales here) have structure slightly similar to FORTH namespaces (that
are called dictionaries there, I also don't know why). The idea is that
all namespaces are equal and name search is performed in one namespace,
then, if not found, in next, then in next, etc. Next namespace is
defined in global list (for FORTH) or in a special place inside the
namespace itself (see 18!:2 in J).

Actually, for historic reasons the idea of storing objects into separate
namespaces and allowing default search pathes is called object oriented
programming. OOP, in addition, uses rather weird terminology like
cryptic 'objects', 'polymorphism', 'inheritance', 'incapsulation' etc
for simple and intuitive clear ideas. Nevertheless, objects can be
easily implemented using namespases and searchpathes (as it done in J,
see lab Object Oriented programming as a simple example of such
implementation), but namespace/searchpathes are not limited to objects.

You can develop and implement your own models according to your needs
using this lowlevel mechanism.

In your example you create 'global' names in locale base (note, that
upon creation base searchpath is equal <'z' -- this is J minimal default
construction upon namespace/namesearch)

   a_base_=:<:
   b_base_=:>:

then you create names in something:

id_something_=:a@b

then you set searchpath for something to base:

   ('base';'z') 18!:2 <'something'

Now in something locale you have access to names from base:

   cocurrent 'something'
   a 5
4
   b 6
7
   id 10
10

Furthermore, you can create namespace (locale) subsomething and set it's
path to something and base:

   cocurrent 'subsomething'
   ('something';'base';'z') copath 'subsomething'
   a_subsomething_=:+:
   a=:+:
   a 5
10
   b 6
7
   id 10
22

Note that id, being definition from 'something', now uses 'a' defined in
subsomething.
In any case, you need to see labs 'Locales' and 'Object Oriented
programming'.

nsg

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

From owner-jsoftware@lists.interlog.com  Tue Jun 29 11:46:45 1999
Date: Tue, 29 Jun 1999 11:43:05 -0400
From: Brian Bambrough <b.bambrough@worldnet.att.net>
Subject: Jforum: Updating controls

I am unable to find a way to update a control in one form after I exit
another.  Here's a specific example:

I have two forms.  "test" is loaded into the base locale, "test1" is
loaded into the test 1 locale.  When I call test1, I can select one of
four items.  What I want to do is to display the selected item in test
when I exit from test1.  I can do this manually, with the btnDisplay
button, but I have been unable to automate it.  I've tried messing
around with wd 'psel', 18!:4 'base' and edtTest_base_=:gItem_base_
but I got nowhere.

So if anyone can tell me how to modify test1_close to automatically
update edtTest, I would greatly appreciate it.

----------------------------------------------------------

'test1' load 'c:\j403b\temp\test1'

gItem=:'Item 2'
gIndex=:2

TEST=: 0 : 0
pc test;
xywh 46 36 76 11;cc edtTest edit ws_border es_autohscroll;
xywh 88 6 34 11;cc btnTest1 button;cn "Show list";
xywh 3 36 34 11;cc btnDisplay button;cn "Display";
pas 6 6;pcenter;
rem form end;
)

test_run=: 3 : 0
wd TEST
test_btnDisplay_button''
wd 'pshow;'
)

test_close=: 3 : 0
wd'pclose'
)

test_btnTest1_button=: 3 : 0
test1_run_test1_''
)

test_btnDisplay_button=: 3 : 0
wd 'set edtTest "',gItem,'"'
)

test_run''

----------------------------------------------------------

TEST1=: 0 : 0
pc test1;
xywh 29 33 50 50;cc lstItem listbox;
pas 6 6;pcenter;
rem form end;
)

test1_run=: 3 : 0
wd TEST1
wd 'set lstItem "Item 0" "Item 1" "Item 2" "Item 3"'
wd 'setselect lstItem ',":gIndex_base_
wd 'pshow;'
)

test1_close=: 3 : 0
gItem_base_=:lstItem
gIndex_base_=:".>{:{:wdq
wd'pclose'
)

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

From owner-jsoftware@lists.interlog.com  Tue Jun 29 22:51:43 1999
From: "Chris Burke" <cdburke@interlog.com>
References: <3778E989.4323E773@worldnet.att.net>
Subject: Re: Jforum: Updating controls
Date: Tue, 29 Jun 1999 22:51:53 -0400
	charset="iso-8859-1"

----- Original Message -----
From: Brian Bambrough <b.bambrough@worldnet.att.net>
Sent: Tuesday, June 29, 1999 11:43 AM
Subject: Jforum: Updating controls

> I am unable to find a way to update a control in one form after I
exit
> another.  Here's a specific example:

Try:

test1_close=: 3 : 0
gIndex_base_=: ". lstItem_select
gItem_base_=: lstItem
wd 'pclose'
wd 'psel test'
wd 'set edtTest "',lstItem,'"'
)

A simple mechanism for handling several such updates is to define a
verb "test_result" to be executed when child forms are closed, and
which would update the test form with new values. For example

test_result=: 3 : 0
wd 'psel test'
wd 'set edtTest "',lstItem,'"'
... etc...
)

test1_close=: 3 : 0
gIndex_base_=: ". lstItem_select
gItem_base_=: lstItem
wd 'pclose'
test_result_base_''
)

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

From owner-jsoftware@lists.interlog.com  Wed Jun 30 05:45:48 1999
From: "Ondrus, Milan" <milan.ondrus@csfb.com>
Subject: Jforum: MAPI/rtn code 11
Date: Wed, 30 Jun 1999 11:42:01 +0200

       does anybody know what this returncode 11 means that comes from

        returncode =. sess send parameterlist (script mapi.ijs)

       its a dll return code but I could not find the meaning in the
documentation.
       This code 11 I get sometimes if I send out mails containing an
attachment - and the mail is then of course not
       sent.

       /Milan Ondrus

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

From owner-jsoftware@lists.interlog.com  Wed Jun 30 06:14:04 1999
From: "Ondrus, Milan" <milan.ondrus@csfb.com>
Subject: Jforum: FW: MAPI/rtn code 11
Date: Wed, 30 Jun 1999 12:14:01 +0200

        Forgot to say :
        I'm using J 4.03b on NT4.0 and as mail service I use MS Outlook.
/Milan

> -----Original Message-----
> From:	Ondrus, Milan
> Sent:	Mittwoch, 30. Juni 1999 11:42
> To:	'Jforum'
> Subject:	MAPI/rtn code 11
>
>
>        does anybody know what this returncode 11 means that comes from
>
>         returncode =. sess send parameterlist (script mapi.ijs)
>
>        its a dll return code but I could not find the meaning in the
> documentation.
>        This code 11 I get sometimes if I send out mails containing an
> attachment - and the mail is then of course not
>        sent.
>
>        /Milan Ondrus
>
>
>
>

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

From owner-jsoftware@lists.interlog.com  Wed Jun 30 12:12:43 1999
Date: Wed, 30 Jun 1999 12:05:53 -0400
From: Brian Bambrough <b.bambrough@worldnet.att.net>
Subject: Re: Jforum: Updating controls
References: <3778E989.4323E773@worldnet.att.net> <002801bec2a3$90ca7e00$570114d1@Pcdburke>

Chris;

Thanks for your input.  Everything's working fine now.

I thought that I had tried all the things you suggested, but I must not have done it
right.  I guess you've got the magic J touch.

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