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

View Raw

More Information

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

From owner-jsoftware@lists.interlog.com  Thu Dec 31 04:45:53 1998
Date: Thu, 31 Dec 1998 10:45:56 +0200
From: Anssi  Seppala <anssi.seppala@enease.fi>
Subject: Re: Jforum: Event Handlers
In-Reply-To: <368AC446.448F@airmail.net>

To return the focus to main dialog after return from subdialog use

wd 'psel main'

I have a convention to use a loop to keep the event handling in the
subform. The variable close has value 0 in the loop and the dialog stays in
the while. do. end. loop as long as the close  variable is 0. The Close
button of the subform sets new value for the close variable:
...
close=: 0
while. -. close do.
 wd 'wait'
 wdhandler ''
end.
)
)
At 18:24 30.12.1998 -0600, you wrote:
>I have a program that uses 2 windows.  Let's say mainwin and subwin.
>When I open subwin from mainwin it executes wd 'wait'.  While it
>executes everything is fine until it get's closed with wd 'pclose'.
>Mainwin is then displayed again.  My problem is, how do I know when I'm
>back in mainwin.  It doesn't seem to trigger an event, and I need to do
>some processing when subwin is done.
>
>Also, when mainwin invokes subwin with the wd 'wait' the next statement
>in the main program is executed.  If its waiting on subwin, why does it
>continue in mainwin?  It doesn't seem to work this way with the mb
>common dialogs.  How are they coded to achieve a total wait?
>
>Is there someplace that these messages are stored?  If someone has
>already answered this it would save me asking again.
>
>Thanks to everyone in advance.
>
>----------------------------------------------------------------------------
>----
>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 Dec 31 10:21:44 1998
Date: Thu, 31 Dec 1998 10:09:10 -0500
From: Murray Eisenberg <murray@math.umass.edu>
Organization: Mathematics & Statistics, Univ. of Mass./Amherst
Subject: Jforum: JUSER.CNT problem
References: <Pine.LNX.4.04.9812302218310.4037-100000@spin.vl.net.ua>

With J 4.02a for Win 95/NT, each time when I select "User" from the Help
menu, a Windows Help error dialog box pops up with the message:

     Unable to open the file
     G:\HELP\WINHLP\JUSER.CNT

(G: happens to be my CD-ROM drive.)

The file JUSER.CNT is where it ought to be (at least where I think it
ought to be) on my hard drive, namely, in

  J402\System\Extras\help

(along with all the other .cnt and other help files).

No other selection from the Help menu causes the same Windows Help error
message.

After I click the OK button in the Windows Help error dialog box, the
desired User help does opens.  But it's really annoying to have to go
through this extra step each time I want to access User help.

I prowled around in the Registry but found no entry likely to be causing
this problem there.

Diagnosis?  Cure?

--
  Murray Eisenberg                  Internet:  murray@math.umass.edu
  Mathematics & Statistics Dept.    Voice:  413-545-2859 (W)
  University of Massachusetts               413-549-1020 (H)
  Amherst, MA 01003                 Fax:    413-545-1801

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

From owner-jsoftware@lists.interlog.com  Thu Dec 31 10:46:39 1998
From: "Bjorn G. Helgason" <gosi@centrum.is>
Subject: Jforum: What happened?
Date: Thu, 31 Dec 1998 15:42:05 -0000

Today it is the last day of the year in Iceland.
It is customary to stop a bit and look back and
reflect on what has been achieved last year and
put it in respect to earlier years and make promises
for the future.

So what happened ?

Not very much it seems.

We got J to keep in the pocket. When I got J the first time
I got a discette from Ken 1990 and I could keep it in my
pocket.

When I started to look at it I discovered that I could
manage to understand about 1% of what was there.
I still can only understand about 1% of what is in J.

J then was amazingly compact, clean and powerful
and had a great future.

J is still amazingly compact, clean and powerful
and has a great future.

So what is new then.

Well for one thing it is so much easier now to start using J
and learn to use all kinds of very advanvanced features.

For another then there are so many others who have already
spent some years of learning how to do things that those who
experience difficulties have a lot of examples and experienced
users to turn to.

I think that now finally we have a real opportunity to begin to
get a really broader audience. It is like rings on a water. The
first waves build a circle that is narrow and then the rings get
wider and wider.

Even if we have seen very big changes to J during last year then
in the light of earlier achievements they only improved an already
near perfect product.

The mapped file for one is an enourmously important feature but
it will probably take a long time before we will see the impact and
the importance of it.

Getting J to run on a calculator is another very important milestone
and it will surely lift J into categories of users and applications we
could hardly dream of just a few years ago.

The labs, tutorials and demos have been and area that has been lifted
to a near perfection and wil have a great effect of spreading the knowledge
of how to do things in and with J.

The importance of an active web to spread and concentrate knowledge
about J and its usage has also come to be during this passing year.

I could go on and on about what it is that is most important in making
J the most important product advancement this year but mostly it is
the combined effect of gradual enhancements that have happend over
the years behind great ideas.

I thank you all I have had the pleasure of meeting in person or on the
net to share the experience of J and its applications. I want to congratulate
us all on having this marvelous product and wish us all a great new and
coming years.

And if you are lucky then this will be the last message you will receive
from me this year.

Happy new Jer.

/Gosi

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

From owner-jsoftware@lists.interlog.com  Thu Dec 31 11:14:03 1998
From: "Chris Burke" <cdburke@interlog.com>
Subject: Re: Jforum: Event Handlers
Date: Thu, 31 Dec 1998 11:04:26 -0500
	charset="iso-8859-1"

>I have a program that uses 2 windows.  Let's say mainwin and subwin.
>When I open subwin from mainwin it executes wd 'wait'.  While it
>executes everything is fine until it get's closed with wd 'pclose'.
>Mainwin is then displayed again.  My problem is, how do I know when I'm
>back in mainwin.  It doesn't seem to trigger an event, and I need to do
>some processing when subwin is done.

Define a verb that reinitialises main, say main_return, then have the close
handlers of subwin call it.

>Also, when mainwin invokes subwin with the wd 'wait' the next statement
>in the main program is executed.  If its waiting on subwin, why does it
>continue in mainwin?  It doesn't seem to work this way with the mb
>common dialogs.  How are they coded to achieve a total wait?

Without seeing the code, I'm not sure what is going wrong. However, I
suggest you make a couple of changes. First, do not use 'wait' - you would
be much better off defining subwin as an owner form (see the form edit
dialog for a parent window). This prevents events occuring in mainwin while
subwin is active. Second, you should not need any statements after invoking
subwin from main. Any such statements should instead be in the main_return
verb suggested above.

>Is there someplace that these messages are stored?  If someone has
>already answered this it would save me asking again.

The J Forum is not yet stored. We'll get something up and running shortly.

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

From owner-jsoftware@lists.interlog.com  Thu Dec 31 16:10:24 1998
Date: Thu, 31 Dec 1998 14:48:42 -0500
From: Eric Iverson <eiverson@interlog.com>
Organization: Iverson Software Inc.
Subject: Re: Jforum: Event Handlers
References: <368AC446.448F@airmail.net>

>Peter Nichols wrote:
> When I open subwin from mainwin it executes wd 'wait'....

The short answer is: don't use wd'wait'

wait is a holdover from the earliest verion of wd that worked between a
task running in DOS and a task running in Windows. I probably should
kill it off, but a few residual uses linger on.

wait should never be used in a normal GUI application as it is not part
of the event model.

Chris, in another message, suggests what you should do instead.

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

From owner-jsoftware@lists.interlog.com  Thu Dec 31 16:10:29 1998
Date: Thu, 31 Dec 1998 16:00:52 -0500
From: Eric Iverson <eiverson@interlog.com>
Organization: Iverson Software Inc.
Subject: Re: Jforum: JUSER.CNT problem
References: <Pine.LNX.4.04.9812302218310.4037-100000@spin.vl.net.ua> <368B9396.5A2EF496@math.umass.edu>

Murray Eisenberg wrote:
>
> With J 4.02a for Win 95/NT, each time when I select "User" from the Help
> menu, a Windows Help error dialog box pops up with the message:
>
>      Unable to open the file
>      G:\HELP\WINHLP\JUSER.CNT

I've seen variations on this problem and have never been able to track
it down and then it would go away. Your message gave a clue and I took
another look.

The problem is caused by gid files in the \windows\help directory. gid
files are hidden files that are 'compiled' help stuff. You need to use
something like the DOS dir /ah command to see them and the attrib -h
jxxxx.gid to make them visible so you can delete them.

Check your \windows\help directory and you will find some j*.gid files.
Erase these files and your problem should go away.

The problem is that windows help looks for gid files in this directory
before looking in the current directory (path of the hlp file it is
opening). The bad gid file in the \windows\help directory was probably
created browseing the cdrom help files directly from winhelp, in which
case it puts the gid file in its own directory.

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

From owner-jsoftware@lists.interlog.com  Thu Dec 31 16:21:49 1998
Date: Thu, 31 Dec 1998 16:12:00 -0500 (EST)
From: Olivier Lefevre <lefevre@panix.com>
Subject: Re: Jforum: JUSER.CNT problem
In-Reply-To: <368BE604.4E5D@interlog.com>

[Long description of the evil ways of WINHLP deleted]

Isn't Windows entertainingly crappy?

Best wishes for the new year to you all,

-- O.L.

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

From owner-jsoftware@lists.interlog.com  Thu Dec 31 18:31:11 1998
Date: Thu, 31 Dec 1998 17:23:55 -0600
From: Peter Nichols <pnichols@airmail.net>
Subject: Re: Jforum: What happened?
References: <01BE34D4.7CA74280@geisli-32.centrum.is>

I agree Bjorn, it's been awesome to begin learning J.  I never thought I
would find something better than APL, but now I'm totally won over.
Once again I feel that I've found a 'tool for thought'.  But perhaps
best is the quality of the feedback and help I've found in the forum.
You guys are great.  Thanks for everything.

Peter Nichols

Bjorn G. Helgason wrote:
>
> Today it is the last day of the year in Iceland.
> It is customary to stop a bit and look back and
> reflect on what has been achieved last year and
> put it in respect to earlier years and make promises
> for the future.

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

From owner-jsoftware@lists.interlog.com  Thu Dec 31 20:51:25 1998
Date: Fri, 01 Jan 1999 03:39:33 +0200
From: Anssi Seppala <anssi.seppala@enease.fi>
Subject: Re: Jforum: Event Handlers
In-Reply-To: <009501be34d7$529d3500$1e0114d1@xps200>
Content-Transfer-Encoding: 8bit

Oh NO Chris & Eric,
I was a few months ago struggling with wait and succeeded with  special
"close" loop. Now you are recommending not to use 'wait''. I do not
understand, please give me an example.

Anssi

At 11:04 31.12.1998 -0500, Chris wrote:
>First, do not use 'wait' - you would...

-------------------------------------------------------------------
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  Thu Dec 31 23:10:07 1998
From: "Chris Burke" <cdburke@interlog.com>
Subject: Re: Jforum: Event Handlers
Date: Thu, 31 Dec 1998 22:49:59 -0500
	charset="iso-8859-1"

>I was a few months ago struggling with wait and succeeded with  special
>"close" loop. Now you are recommending not to use 'wait''. I do not
>understand, please give me an example.

An example is below. Note that the main form is disabled when the subform is
called. However, you can still use the J session.

The standard J event handler can be used for pretty well any GUI, and is far
easier to use than wait. The only thing that wait gives you that is not
immediately available with the standard event handler is that wait disables
the rest of the J session until the wait is completed. The only example in
the scripts that really uses this feature is the input log dialog box. In
this case, wait prevents someone typing in the session while the input log
is displayed, so that the two do not get out of synch. Even in this case,
the wait is not strictly necessary.

Apart from the input log dialog, any remaining examples of wait in the J
scripts are likely based on code written when wait was the only mechanism
supported, which was true of J up to version 2.04.

The example follows.

require 'jinput'

MAINWIN=: 0 : 0
pc mainwin closeok;
xywh 136 8 34 12;cc getname button;cn "Get Name";
xywh 136 23 34 12;cc cancel button;cn "Cancel";
xywh 8 15 29 9;cc label static;cn "Name:";
xywh 37 15 80 9;cc name static;cn "";
pas 6 6;pcenter;
rem form end;
)

mainwin_run=: 3 : 0
wd MAINWIN
wd 'pshow;'
)

mainwin_cancel_button=: mainwin_close=: wd bind 'pclose'

mainwin_getname_button=: 3 : 0
'Enter your name' conew 'jinput'
)

input_result=: 3 : 0
wd 'set name *',y.
)

mainwin_run''

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

From owner-jsoftware@lists.interlog.com  Fri Jan  1 06:59:11 1999
Date: Fri, 01 Jan 1999 13:40:25 +0200
From: Anssi Seppala <anssi.seppala@enease.fi>
Subject: Re: Jforum: Event Handlers
In-Reply-To: <002201be353a$292c58a0$550114d1@xps200>

Chris,
Thanks for your explanation. One thing I do not understand in your example.
What mechanism disabes the main form?

For my applications it is the most important feature to keep the user in
one dialog in time. Therefore the wd'wait' did the job. Now in your example
I look at the jinput script, but where is the "disable main form"-command.
Or is it default here?

Anssi

At 22:49 31.12.1998 -0500, you wrote:
>>I was a few months ago struggling with wait and succeeded with  special
>>"close" loop. Now you are recommending not to use 'wait''. I do not
>>understand, please give me an example.
>
>An example is below. Note that the main form is disabled when the subform is
>called. However, you can still use the J session.
>
>The standard J event handler can be used for pretty well any GUI, and is far
>easier to use than wait. The only thing that wait gives you that is not
>immediately available with the standard event handler is that wait disables
>the rest of the J session until the wait is completed. The only example in
>the scripts that really uses this feature is the input log dialog box. In
>this case, wait prevents someone typing in the session while the input log
>is displayed, so that the two do not get out of synch. Even in this case,
>the wait is not strictly necessary.
>
>Apart from the input log dialog, any remaining examples of wait in the J
>scripts are likely based on code written when wait was the only mechanism
>supported, which was true of J up to version 2.04.
>
>The example follows.
...

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

From owner-jsoftware@lists.interlog.com  Fri Jan  1 08:10:39 1999
From: "Chris Burke" <cdburke@interlog.com>
Subject: Re: Jforum: Event Handlers
Date: Fri, 1 Jan 1999 07:59:21 -0500
	charset="iso-8859-1"

Anssi

>Thanks for your explanation. One thing I do not understand in your example.
>What mechanism disabes the main form?
>
>For my applications it is the most important feature to keep the user in
>one dialog in time. Therefore the wd'wait' did the job. Now in your example
>I look at the jinput script, but where is the "disable main form"-command.
>Or is it default here?

The "owner" parameter in the pc command, in this case:

  pc a dialog owner;

See Help|User|Form Editor|Parent.

Chris

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

From owner-jsoftware@lists.interlog.com  Fri Jan  1 08:51:26 1999
From: "Bjorn G. Helgason" <gosi@centrum.is>
Subject: RE: Jforum: Mac runtime for Pousse?
Date: Fri, 1 Jan 1999 13:43:34 -0000
Content-Type: multipart/mixed; boundary="---- =_NextPart_000_01BE358D.A6F83DA0"

------ =_NextPart_000_01BE358D.A6F83DA0
Content-Transfer-Encoding: quoted-printable

The solution to the problem with the Mac was closer to home
than I expected. I started to read about runtime on my Windows=20
system and there it was:

"Macintosh

The Macintosh doesn't have command line parameters so there is no /rt =
parameter. If J is started by double-clicking a script file with a =
suffix of .ijr, then J is started as a runtime application. The ijr file =
does not have to be an encoded ijr file."

Therefore I conclude that my Windows solution for pousse can be made
by just renaming pusl.ijs to pusl.ijr on the Mac and it would run by=20
double-clicking on that file on the Mac.

It sometimes helps to read the manual.

/Gosi
------ =_NextPart_000_01BE358D.A6F83DA0
Content-Type: application/ms-tnef
Content-Transfer-Encoding: base64

eJ8+IgwNAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAENgAQAAgAAAAIAAgABBJAG
ABwBAAABAAAADAAAAAMAADADAAAACwAPDgAAAAACAf8PAQAAAEUAAAAAAAAAgSsfpL6jEBmdbgDd
AQ9UAgAAAABmb3J1bUBqc29mdHdhcmUuY29tAFNNVFAAZm9ydW1AanNvZnR3YXJlLmNvbQAAAAAe
AAIwAQAAAAUAAABTTVRQAAAAAB4AAzABAAAAFAAAAGZvcnVtQGpzb2Z0d2FyZS5jb20AAwAVDAEA
AAADAP4PBgAAAB4AATABAAAAFgAAACdmb3J1bUBqc29mdHdhcmUuY29tJwAAAAIBCzABAAAAGQAA
AFNNVFA6Rk9SVU1ASlNPRlRXQVJFLkNPTQAAAAADAAA5AAAAAAsAQDoBAAAAAgH2DwEAAAAEAAAA
AAAAAxs0AQiABwAYAAAASVBNLk1pY3Jvc29mdCBNYWlsLk5vdGUAMQgBBIABACQAAABSRTogSmZv
cnVtOiBNYWMgcnVudGltZSBmb3IgUG91c3NlPwA4DAEFgAMADgAAAM8HAQABAA0AKwAiAAUANwEB
IIADAA4AAADPBwEAAQANACUAFAAFACMBAQmAAQAhAAAAQTAyNDhEQkY2NkExRDIxMThCOUEyQ0Ex
RkZDMDAwMDAAKwcBA5AGAOADAAASAAAACwAjAAEAAAADACYAAAAAAAsAKQABAAAAAwA2AAAAAABA
ADkAgKG2uYw1vgEeAHAAAQAAACQAAABSRTogSmZvcnVtOiBNYWMgcnVudGltZSBmb3IgUG91c3Nl
PwACAXEAAQAAABsAAAABvjNW0Y/sEpGpn0cR0ouaLKH/wAAAAI1CaMMAHgAeDAEAAAAFAAAAU01U
UAAAAAAeAB8MAQAAABAAAABnb3NpQGNlbnRydW0uaXMAAwAGEOyoKpMDAAcQ+wEAAB4ACBABAAAA
ZQAAAFRIRVNPTFVUSU9OVE9USEVQUk9CTEVNV0lUSFRIRU1BQ1dBU0NMT1NFUlRPSE9NRVRIQU5J
RVhQRUNURURJU1RBUlRFRFRPUkVBREFCT1VUUlVOVElNRU9OTVlXSU5ET1dTU1kAAAAAAgEJEAEA
AABbAgAAVwIAAMcDAABMWkZ1lxiWo/8ACgEPAhUCqAXrAoMAUALyCQIAY2gKwHNldDI3BgAGwwKD
MgPFAgBwckJxEeJzdGVtAoMzdwLkBxMCgH0KgAjPCdk78RYPMjU1AoAKgQ2xC2DAbmcxMDM5CvsU
URUL8mMAQCAKhVRoZUQgcwbwdXRpAiAg3HRvHCAbcRNQbwJgE+BuIAPwHGAcU00A0B0QYb0EIGMV
oBGwBcAcMWgDcA5lCoUcYAORSSBleOZwBZAT0GQuH8ETwArA9yBBHCIWEGEhEAGgCGAFQCxydQIw
B3EgHAFtecQgVwuAZG93BCAKhb5zE7MhoCMQHFIWECAdMO0d4joKhQqFIh2xC4AcMNxzaCVsG2Im
VyAjIAeQbG4nBUARgHYbgAWgbbsDgSEQbAuAHIEKwGEHgF8T0BGgG5EkhgQgbhxAL8cAICo4IHFm
IEorciC2VmIi0CMgdRzRLR4waXRjawuAZyGgG5AFBGYvAxAbgB0jLwF1DdBpeIMigCzgLmlqciwc
Up8DoC0LHgEvACIWYXALUP0ukGEb4iBwG2IxAS+EKKL3K6EpBRwxYjMhA6AJ8AWg5w2wIRA0Vi4i
Ju8WEAIQ/yTBH9AFoDZgCkANsB9yBUD/IskbpzihHJAIYAQQKVEDkd818QDADbAKhS3RajuQIfHX
CfAqcC7CcDuQbDDxBCD/HDE+FQXAHAIdhSRSJPIIYP5sIRAiES3CCoUuDj9jOcHrL5M/aC4lbEkF
QBugKoHzB3MbcGxwPoMhYxxiA4GmdQdARD0vRx5QaQqFBRUxAElgAAMAEBAAAAAAAwAREAAAAABA
AAcwILwh24s1vgFAAAgwILwh24s1vgEeAD0AAQAAAAUAAABSRTogAAAAANYN

------ =_NextPart_000_01BE358D.A6F83DA0--

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

From owner-jsoftware@lists.interlog.com  Fri Jan  1 10:32:45 1999
Date: Fri, 01 Jan 1999 10:22:11 -0500
From: Murray Eisenberg <murray@math.umass.edu>
Organization: Mathematics & Statistics, Univ. of Mass./Amherst
Subject: Re: Jforum: JUSER.CNT problem
References: <Pine.LNX.4.04.9812302218310.4037-100000@spin.vl.net.ua> <368B9396.5A2EF496@math.umass.edu> <368BE604.4E5D@interlog.com>

Diagnosed and cured!!

Eric Iverson wrote:
>
> Murray Eisenberg wrote:
> >
> > With J 4.02a for Win 95/NT, each time when I select "User" from the Help
> > menu, a Windows Help error dialog box pops up with the message:
> >
> >      Unable to open the file
> >      G:\HELP\WINHLP\JUSER.CNT
>
> I've seen variations on this problem and have never been able to track
> it down and then it would go away. Your message gave a clue and I took
> another look.
>
> The problem is caused by gid files in the \windows\help directory. gid
> files are hidden files that are 'compiled' help stuff. You need to use
> something like the DOS dir /ah command to see them and the attrib -h
> jxxxx.gid to make them visible so you can delete them.
>
> Check your \windows\help directory and you will find some j*.gid files.
> Erase these files and your problem should go away.
>
> The problem is that windows help looks for gid files in this directory
> before looking in the current directory (path of the hlp file it is
> opening). The bad gid file in the \windows\help directory was probably
> created browseing the cdrom help files directly from winhelp, in which
> case it puts the gid file in its own directory.
>
> --------------------------------------------------------------------------------
> J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

--
  Murray Eisenberg                  Internet:  murray@math.umass.edu
  Mathematics & Statistics Dept.    Voice:  413-545-2859 (W)
  University of Massachusetts               413-549-1020 (H)
  Amherst, MA 01003                 Fax:    413-545-1801

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

From owner-jsoftware@lists.interlog.com  Fri Jan  1 10:33:50 1999
Date: Fri, 1 Jan 1999 10:24:16 -0500 (EST)
From: "Brian M. Schott" <dscbms@panther.Gsu.EDU>
Subject: Re: Jforum: What happened?
In-Reply-To: <368C078B.728D@airmail.net>

Thank you Bjorn and Peter for getting the ball
acknowledging the value of this forum and J rolling. I want
to push the ball along too. Thank you ISI and J'ugglers.

(B=)

On Thu, 31 Dec 1998, Peter Nichols wrote:

+I agree Bjorn, it's been awesome to begin learning J.  I never thought I
+would find something better than APL, but now I'm totally won over.
+Once again I feel that I've found a 'tool for thought'.  But perhaps
+best is the quality of the feedback and help I've found in the forum.
+You guys are great.  Thanks for everything.
+
+Peter Nichols

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

From owner-jsoftware@lists.interlog.com  Fri Jan  1 10:52:07 1999
Date: Fri, 1 Jan 1999 10:42:35 -0500 (EST)
From: "Brian M. Schott" <dscbms@panther.Gsu.EDU>
Subject: RE: Jforum: Mac runtime for Pousse?
In-Reply-To: <01BE358D.A6EF15E0@geisli-76.centrum.is>

On Fri, 1 Jan 1999, Bjorn G. Helgason wrote:

+The Macintosh doesn't have command line parameters so there
+is no /rt parameter. If J is started by double-clicking a
+script file with a suffix of .ijr, then J is started as a
+runtime application. The ijr file does not have to be an
+encoded ijr file."

+Therefore I conclude that my Windows solution for pousse
+can be made by just renaming pusl.ijs to pusl.ijr on the
+Mac and it would run by double-clicking on that file on the
+Mac.

	I doubt that simply renaming an .ijs file to an .ijr
file will make the resulting script into a runtime file.
Rather, I suspect that the file has to be a proper .ijr file
(from Windows) first.

(B=)

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

From owner-jsoftware@lists.interlog.com  Fri Jan  1 12:10:37 1999
From: "Bjorn G. Helgason" <gosi@centrum.is>
Subject: RE: Jforum: Mac runtime for Pousse?
Date: Fri, 1 Jan 1999 17:01:58 -0000
Content-Type: multipart/mixed; boundary="---- =_NextPart_000_01BE35A8.A7F54700"

------ =_NextPart_000_01BE35A8.A7F54700

From: Brian M. Schott[SMTP:dscbms@panther.Gsu.EDU]
> On Fri, 1 Jan 1999, Bjorn G. Helgason wrote:
>
> > +The Macintosh doesn't have command line parameters so there
> > +is no /rt parameter. If J is started by double-clicking a
> > +script file with a suffix of .ijr, then J is started as a
> > +runtime application. The ijr file does not have to be an
> > +encoded ijr file."
> 	I doubt that simply renaming an .ijs file to an .ijr
> file will make the resulting script into a runtime file.

Well...

That is what the J Help claims and I urge you or someone
else to try it and if it DOES NOT work please report it.

And if it DOES work as I expect it to do then I urge you
to report that as well so we know for sure.

I will test it myself as soon as I get the opportunity.

/Gosi

------ =_NextPart_000_01BE35A8.A7F54700
Content-Type: application/ms-tnef
Content-Transfer-Encoding: base64

eJ8+Ih4RAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAENgAQAAgAAAAIAAgABBJAG
ABwBAAABAAAADAAAAAMAADAFAAAACwAPDgAAAAACAf8PAQAAAEUAAAAAAAAAgSsfpL6jEBmdbgDd
AQ9UAgAAAABmb3J1bUBqc29mdHdhcmUuY29tAFNNVFAAZm9ydW1AanNvZnR3YXJlLmNvbQAAAAAe
AAIwAQAAAAUAAABTTVRQAAAAAB4AAzABAAAAFAAAAGZvcnVtQGpzb2Z0d2FyZS5jb20AAwAVDAEA
AAADAP4PBgAAAB4AATABAAAAFgAAACdmb3J1bUBqc29mdHdhcmUuY29tJwAAAAIBCzABAAAAGQAA
AFNNVFA6Rk9SVU1ASlNPRlRXQVJFLkNPTQAAAAADAAA5AAAAAAsAQDoBAAAAAgH2DwEAAAAEAAAA
AAAABR80AQiABwAYAAAASVBNLk1pY3Jvc29mdCBNYWlsLk5vdGUAMQgBBIABACQAAABSRTogSmZv
cnVtOiBNYWMgcnVudGltZSBmb3IgUG91c3NlPwA4DAEFgAMADgAAAM8HAQABABEAAQA6AAUAKQEB
IIADAA4AAADPBwEAAQARAAEAOgAFACkBAQmAAQAhAAAANkIyRDE3NzM5QUExRDIxMThCOUEyQ0Ex
RkZDMDAwMDAAHgcBA5AGAMgEAAASAAAACwAjAAEAAAADACYAAAAAAAsAKQABAAAAAwA2AAAAAABA
ADkAgL56cag1vgEeAHAAAQAAACQAAABSRTogSmZvcnVtOiBNYWMgcnVudGltZSBmb3IgUG91c3Nl
PwACAXEAAQAAABYAAAABvjWocXpzFy1woZoR0ouaLKH/wAAAAAAeAB4MAQAAAAUAAABTTVRQAAAA
AB4AHwwBAAAAEAAAAGdvc2lAY2VudHJ1bS5pcwADAAYQMdDzAQMABxBGAgAAHgAIEAEAAABlAAAA
RlJPTTpCUklBTk1TQ0hPVFRTTVRQOkRTQ0JNU0BQQU5USEVSR1NVRURVT05GUkksMUpBTjE5OTks
QkpPUk5HSEVMR0FTT05XUk9URTorVEhFTUFDSU5UT1NIRE9FU05USEFWRQAAAAACAQkQAQAAAEYD
AABCAwAAPAYAAExaRnVio2Eq/wAKAQ8CFQKoBesCgwBQAvIJAgBjaArAc2V0MjcGAAbDAoMyA8UC
AHByQnER4nN0ZW0CgzN3AuQHEwKAfQqACM8J2TvxFg8yNTUCgAqBDbELYEBuZzEwMzkK/zFWNgwh
E1BvE9BjBUBGPQNhOgrhGesa1gyCIEJzByEDoE0uBgARcBrwdIBbU01UUDpkBPCwYm1zQAqwAjBo
BJAALkdzdS5FRFXCXQqLbGkzNg3wC1XLFFEL8mMAQCA+G6ch1Y0a1k8DoBtQaSwgImAySgORMTkl
ACRwQmoLBbADoEcd4EhlbGekYXMCICB3GuI6Cod/IX8ijxrWJt8n6Sh/GtYrHlQfcAXQANALgHRv
c5BoIGRvB5BuJwVALRGAdi2ABaBtA4FkIO0hAG4tgAqxYQeAE9ARoOogJjAgH2JlKg8rHywv0y0x
BAAgbjCgLwAgL9jpHeBJZiSgIDRxE8AKwFMT0C9wYnkuMXUCYGUkLWMhAGNrC4BnIL5hMR8yLzM/
LTEE9WYDEF8tgAPwH2A34DCAdQ3QaQh4IG810C5panL/JHAfYQOgNfsmIDfvOP86D7ktE3J1AjAH
cT7QcAtQ/TeAYUKAAiAd4C1iPUE7xL8uQjSRLqUt8DawQrFuPv//QA9BHy0xCfAFoA2wL3BD5rwu
Iin/J99IDx0USTbj/wVAH2BDMDCAB3ALUDbQFhD+bjAQN7MDoD0xBCA700VRvU+0ckpvS39MjzvV
bAMgvQDAa0UxLXEWEB/AbEKA/zfBBPUt0jxhQlZJ8wqPUezlV9VXJfBsLlpwSlZX1fctYE6BNHF3
TnJVQjXwJeH+cC8AC2EfAEWhL3BN4Ahw+mctgHkIYDzwBcAmMAeAnwIgMQYl8BGwRUJ0cjbQjzww
XXMGkGAyRE9FBfDYTk9UJmAFsGsv0DcweyYgVWJwFbFgMVfGV9VBj2CMYaM+sU3gZXhwGxL/YEFF
US5APYRdyFfVRVFiZTtOYz6xd1pBMIJo8CBr/zSgB+ACEF6BCHBXt1fVTeDvVKMT0BPAYDJtE7Al
8DXQvz6xJjAmQWUjXgBcRG9C4JcVsUJgPDB5Yv0vRy4AFmlX1RUxAHCwAAADABAQAAAAAAMAERAA
AAAAQAAHMKDoH5ynNb4BQAAIMEDmg3GoNb4BHgA9AAEAAAAFAAAAUkU6IAAAAACNcg==

------ =_NextPart_000_01BE35A8.A7F54700--

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

From owner-jsoftware@lists.interlog.com  Fri Jan  1 14:36:38 1999
Date: Fri, 01 Jan 1999 21:11:23 +0200
From: Anssi  Seppala <anssi.seppala@enease.fi>
Subject: Re: Jforum: Event Handlers
In-Reply-To: <000a01be3586$9c002ea0$1d0114d1@xps200>
Content-Transfer-Encoding: 8bit

Thanks Chris,
Finally the problem is solved. I never expected that this could be a form
"owner" parameter. Now I have removed all the loops and wd'wait'  statements.

Anssi

PS The benefit of this mistake was however, that I now also understand the
eventhandler mechanism.

At 07:59 1.1.1999 -0500, you wrote:
>The "owner" parameter in the pc command, in this case:
>
>  pc a dialog owner;
>
>See Help|User|Form Editor|Parent.
>
>Chris

-------------------------------------------------------------------
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  Fri Jan  1 20:02:48 1999
Date: Fri, 1 Jan 1999 19:51:46 -0500
From: Alain Miville de Chene <Infodev@compuserve.com>
Subject: Jforum: Archival
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by lists.interlog.com id TAA07603

It has been mentioned many times that this list is not archived. If it were
an ordinary news group (comp.lang.jsoftware) it would automatically be
archived by dejanews and would gain in usefulness. There are many simple
and complex questions answered here. Of course it would be a target for
spam (we have some balls for you jugglers at www.balls.com) but that may be
the price to pay to gain free archival.

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

From owner-jsoftware@lists.interlog.com  Sat Jan  2 09:44:17 1999
Date: Sat, 02 Jan 1999 08:32:27 -0600
From: Steven H Rogers <shrogers@ionet.net>
Organization: S H Rogers & Associates
Subject: Re: Jforum: Archival
References: <199901011952_MC2-6536-A8A0@compuserve.com>

Alain Miville de Chene wrote:
>
> It has been mentioned many times that this list is not archived. If it were
> an ordinary news group (comp.lang.jsoftware) it would automatically be
> archived by dejanews and would gain in usefulness. There are many simple
> and complex questions answered here. Of course it would be a target for
> spam (we have some balls for you jugglers at www.balls.com) but that may be
> the price to pay to gain free archival.
>
> --------------------------------------------------------------------------------
> J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

A moderated news group would would help with the spam, though it would
be a burden for the moderator.
-- Steve
-----------------------
Steven H. Rogers, Ph.D.
Systems Engineer
shrogers@ionet.net

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

From owner-jsoftware@lists.interlog.com  Sat Jan  2 13:10:53 1999
Date: Sat, 02 Jan 1999 11:33:38 -0600
From: Steven H Rogers <shrogers@ionet.net>
Organization: S H Rogers & Associates
Subject: Re: Jforum: What happened?
References: <01BE34D4.7CA74280@geisli-32.centrum.is>

Bjorn G. Helgason wrote:
>
> I think that now finally we have a real opportunity to begin to
> get a really broader audience. It is like rings on a water. The
> first waves build a circle that is narrow and then the rings get
> wider and wider.
>
> Even if we have seen very big changes to J during last year then
> in the light of earlier achievements they only improved an already
> near perfect product.
>
It would be more nearly perfect if the full funcitonality of the Win32
version could be provided for the Unix version.
>
> Getting J to run on a calculator is another very important milestone
> and it will surely lift J into categories of users and applications we
> could hardly dream of just a few years ago.
>
This is indeed good.  I ran J for DOS on my HP100LX, though it wasn't
very convienient as I had to close down all other applications to free
up
enough memory for it.  When the HP died, I replaced it with a Palm
Pilot as I wasn't impressed by the price+performance+bulk combination
of the WinCE palmtops.  How about J for the Palm OS?  It's a bigger
market than WinCE.
>
> The importance of an active web to spread and concentrate knowledge
> about J and its usage has also come to be during this passing year.
>
Speaking of the Web, here's a page that compares several functional
languages to IDL and C++ for scientific programming:
"http://www.azstarnet.com/~dmcclain/Language%20Study.html".  J fares
well, though I think it may have been underrated in a couple of
categories.
>
And a Happy New Year to all.
-- Steve
----------------------
Steven H. Rogers, Ph.D.
Systems Engineer
shrogers@ionet.net

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

From owner-jsoftware@lists.interlog.com  Sat Jan  2 15:34:46 1999
From: "Bjorn G. Helgason" <gosi@centrum.is>
Subject: RE: Jforum: What happened?
Date: Sat, 2 Jan 1999 20:12:50 -0000
Content-Type: multipart/mixed; boundary="---- =_NextPart_000_01BE368D.CEA71E60"

------ =_NextPart_000_01BE368D.CEA71E60

From: Steven H Rogers[SMTP:shrogers@ionet.net]
> It would be more nearly perfect if the full funcitonality of the Win32
> version could be provided for the Unix version.

What you are refering to is the excellent cooperation between J and
the Windowing environment under the Windows.

What would be needed on the Unix side is a similar arrangement with X
and/or similar Windowing in Unix.

In Rome last year some people were talking about experiments with
X/J connections and as far as I could understand then they are very
promising. So it may not be very long before you begin to hear more
about Windowing possibilities in Unix.

X as you very probably know has much more possibilities and options
than Windows so whatever happens there it is sure to surpass quickly
whatever you at the moment have in Windows.

On my PC I have dual boot so I can start the PC either in Windows or
in Linux. In Linux I can run J and X. Unfortunately my PC is not very powerful
so running applications together with X is not as enjoyable as it could
be. I see enough though to understand that when I get a more powerful
PC what opportunities that will bring. I have also had the privilege to use
X on other machines so I do know a fair bit about X.

I do agree with you that this is something that needs to be enhanced and
I am looking very much forward to see J evolve more in this direction too.

In the meantime you do have an excellent J in Unix which allows you
aready to do a lot of things you can not do in Windows and it is more
questionable whether those features will ever be available in Windows
and that has to do with limitations in Windows not J.

So I guess what you are asking for is more X interactions in J and
I do agree that will be nice. It will probably happen sooner than you expect.

/Gosi

------ =_NextPart_000_01BE368D.CEA71E60
Content-Type: application/ms-tnef
Content-Transfer-Encoding: base64

eJ8+IjEUAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAENgAQAAgAAAAIAAgABBJAG
ABwBAAABAAAADAAAAAMAADADAAAACwAPDgAAAAACAf8PAQAAAEUAAAAAAAAAgSsfpL6jEBmdbgDd
AQ9UAgAAAABmb3J1bUBqc29mdHdhcmUuY29tAFNNVFAAZm9ydW1AanNvZnR3YXJlLmNvbQAAAAAe
AAIwAQAAAAUAAABTTVRQAAAAAB4AAzABAAAAFAAAAGZvcnVtQGpzb2Z0d2FyZS5jb20AAwAVDAEA
AAADAP4PBgAAAB4AATABAAAAFgAAACdmb3J1bUBqc29mdHdhcmUuY29tJwAAAAIBCzABAAAAGQAA
AFNNVFA6Rk9SVU1ASlNPRlRXQVJFLkNPTQAAAAADAAA5AAAAAAsAQDoBAAAAAgH2DwEAAAAEAAAA
AAAAAxs0AQiABwAYAAAASVBNLk1pY3Jvc29mdCBNYWlsLk5vdGUAMQgBBIABABsAAABSRTogSmZv
cnVtOiBXaGF0IGhhcHBlbmVkPwD2CAEFgAMADgAAAM8HAQACABQADAAyAAYAMQEBIIADAA4AAADP
BwEAAgATADYAAwAGACsBAQmAAQAhAAAANjg2NEQxNjI3Q0EyRDIxMThCOUEyQ0ExRkZDMDAwMDAA
FAcBA5AGAPAGAAASAAAACwAjAAEAAAADACYAAAAAAAsAKQABAAAAAwA2AAAAAABAADkAwBHURYw2
vgEeAHAAAQAAABsAAABSRTogSmZvcnVtOiBXaGF0IGhhcHBlbmVkPwAAAgFxAAEAAAAWAAAAAb42
jEW7YtFkaaJ8EdKLmiyh/8AAAAAAHgAeDAEAAAAFAAAAU01UUAAAAAAeAB8MAQAAABAAAABnb3Np
QGNlbnRydW0uaXMAAwAGEDqsYK0DAAcQlQUAAB4ACBABAAAAZQAAAEZST006U1RFVkVOSFJPR0VS
U1NNVFA6U0hST0dFUlNASU9ORVRORVRJVFdPVUxEQkVNT1JFTkVBUkxZUEVSRkVDVElGVEhFRlVM
TEZVTkNJVE9OQUxJVFlPRlRIRVdJTjMyVkUAAAAAAgEJEAEAAAB2BQAAcgUAAIcJAABMWkZ1uT5F
l/8ACgEPAhUCqAXrAoMAUALyCQIAY2gKwHNldDI3BgAGwwKDMgPFAgBwckJxEeJzdGVtAoMzdwLk
BxMCgH0KgAjPCdk78RYPMjU1AoAKgQ2xC2BAbmcxMDM5Cv8xVjYMIRNQbxPQYwVARv0DYToK4Rnr
GtYMggYAE9BSdgnwIEgH8WcEkHMAW1NNVFA6c2izA2AeIkBpAiARwC4fccJdCotsaTM2DfALVcsU
UQvyYwBAID4bpyGVFRrWSQVAdwhgbGQg2GJlIARgFhAgH3AKwNBseSBwBJBmGxIGkOggdGgkcGYk
IAMgJkDwbmNpdAIgB0Am0CUwym8l5FcLgDMyCochP98iTxrWHaARoB9RIAWgJCX5GtF2aQ2wJEAC
EAXAJgKKVQMAeCtWLiAgCo+3KPwufyj8VxGABUB5CGD+IArAJHAWECWABRAZECXwDm8lwAQgJgJl
eGNl7yZgCfAFQAWgbyVRMnArokkkYHR3CeEgSjLQbuckQDBlJ6VkbwPwM4EJ8PssoANgbgeANMEm
oASBNvn8cy4wZTBlMlMkBx9wCYC/LNErsS1HAJANsDPSYTyh/m0DEArBCsA1QBkQE+A0srMD8CYA
IFgwZTZRLwWx3z1WN0gLgC1zOb1JA6AIAf8kcAtgE8AykCTxPKBCkiVQPzUQNKAj8ASQJHABkGxr
/zNyAaAIYAVANFAlUQdxAjBnBCA+kzBlWC82MAWgbv8fcBsgH1E9ETZhQuAmMD2i/QQgSSvVOKMT
wDZSJgE8A/8lMDLiK2ElMDBlGtE9cACQexkQLkBTM8EFQADAJTBu/xrwJFJK0xWgM4EkYC0BJHD7
MqIkYGdA8TOxJhAKwSSSJz72RRM3SHBvBBBpYv8DECbQCJAEIED/RpRIEjKi20rTGtFiAaAlIWtM
4Afg8xGABCBtdRFwJIRRPDZS/zUQR4M2lwOROUVDYSPwMmH3HZEFwBGAcCVQBjEmASSx+0xxM+Fz
CHBEYTPAWuEwkMEEEXF1aWNrJSAwZf9ZFzKjBUAmAgRgOFMRgB2gV1ICOU8wg08DoG0lMFDmQ0ix
XnNkdQdAJFA1AP8FQFjhSMEDkUmRACAl82Cx3mU+oTjRXsgnYHIwZVIRekwLgHVBUEJCZTNiFXK7
JqA2JVguQC2ALQF0JqD/WTElIWCEM+FM4lQEN4AlYf8kIDBlWOFmkQMARNJZwCDA/2JAR4Qm4B4g
Y3M+lGiWSCHxCfBqb3lUkSRwSCFMcf8r5DBlJGBlgTygCeA30Qhg/mc+wCYAcAQzwElLOsJKAv9I
wGvxPSFVxWmLYLFZElch/1EwZ6JRtHGkAxBhgTNib2K/XnMHQFjhEYBJ0yxhaSyg/zSgHiBwsxGw
UwcrsRrwY4L9AMFoC4AHkWHzN3BU1D0w/0hQOBAkUExxRQRnMEF9eqL+YQnCPoQyonGjJgAz4Vqy
/0KRftEzgjJiO4JrsiRSCfCfWCE0cEgBNmB812FtTZHeb0SzStNVcy0BdwsRWyP/b7E2MB2QBvBe
kSSTTtJ+4u5kOBBHZDOhb0FvXbQk8P8CMAdxMpN6sXaUA6A0WDYw/1IVWQFcAD7AB0AVoFixMqL/
PvYWEHdAJTAzsX1iTZF0Yf8l4jNxU6RiQkzierFjyTZS/1qET4lb4AeQNWJtw3HxY3P/cFERsCYw
JPBnsBYQRgImYf9ZUyRhXoALcAtgbdJjyT74/3GUVTKM1D6TIMA9cAGQR4T7Y8lM4ko5vUxBckGR
MUYB/zJqQuBEsy0CkEVsogIwNTH/R3VSETYzfN91WiTBXABvUv91lVRXWaRDYR9hV/UyokVi0xsg
Ob0vR1FAaTBlFTECAKVgAAADABAQAAAAAAMAERAAAAAAQAAHMIDptqWJNr4BQAAIMIDptqWJNr4B
HgA9AAEAAAAFAAAAUkU6IAAAAAChRQ==

------ =_NextPart_000_01BE368D.CEA71E60--

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

From owner-jsoftware@lists.interlog.com  Sat Jan  2 16:04:42 1999
From: "J Tibollo" <jtibollo@backassociates.com>
Subject: Jforum: Trying to access J.DLL from VB
Date: Sun, 13 Dec 1998 14:55:00 -0500
	boundary="----=_NextPart_000_000C_01BE26A8.8ED900E0"

This is a multi-part message in MIME format.

------=_NextPart_000_000C_01BE26A8.8ED900E0
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

I am trying to access j.DLL from VB 6.  Here is the defclaration:

Declare Function jDo Lib "D:\j.dll" (ByVal Msg As String) As Long

Does anyone see anything wrong with the declaration?  Does anyone have =
the
proper declarations for  standard DLL access?

The error message I get is:

"Can't find DLLl entry point jDo in D:\j.dll"

This error would suggest that that the function JDo is not in the dll...
I got the name jDo from jdll.h ?  Any idea of what the problem=20
might be?

Regards,
J. Tibollo

------=_NextPart_000_000C_01BE26A8.8ED900E0
	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 face=3DArial size=3D2>I am trying to access =
j.DLL from VB=20
6.&nbsp; Here is the defclaration:</FONT></DIV>
<DIV><FONT color=3D#000000 face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 face=3DArial size=3D2>Declare Function jDo =
Lib=20
&quot;D:\j.dll&quot; (ByVal Msg As String) As Long</FONT></DIV>
<DIV><FONT color=3D#000000 face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 face=3DArial size=3D2>Does anyone see =
anything wrong with=20
the declaration?&nbsp; Does anyone have the</FONT></DIV>
<DIV><FONT color=3D#000000 face=3DArial size=3D2>proper declarations =
for&nbsp;=20
standard DLL access?</FONT></DIV>
<DIV><FONT color=3D#000000 face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 face=3DArial size=3D2>The error message I get =

is:</FONT></DIV>
<DIV><FONT color=3D#000000 face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 face=3DArial size=3D2>&quot;Can't find DLLl =
entry point jDo=20
in D:\j.dll&quot;</FONT></DIV>
<DIV><FONT color=3D#000000 face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 face=3DArial size=3D2>This error would =
suggest that that=20
the function JDo is not in the dll...</FONT></DIV>
<DIV><FONT color=3D#000000 face=3DArial size=3D2>I got the name jDo from =
jdll.h=20
?&nbsp; Any idea of what the problem </FONT></DIV>
<DIV><FONT color=3D#000000 face=3DArial size=3D2>might be?</FONT></DIV>
<DIV><FONT color=3D#000000 face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 face=3DArial size=3D2>Regards,</FONT></DIV>
<DIV><FONT color=3D#000000 face=3DArial size=3D2>J. =
Tibollo</FONT></DIV></BODY></HTML>

------=_NextPart_000_000C_01BE26A8.8ED900E0--

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

From owner-jsoftware@lists.interlog.com  Sat Jan  2 16:14:09 1999
From: "J Tibollo" <jtibollo@backassociates.com>
Subject: Jforum: Accessing J.DLL from VB
Date: Sun, 13 Dec 1998 15:06:08 -0500
	boundary="----=_NextPart_000_001F_01BE26AA.1D1BA780"

This is a multi-part message in MIME format.

------=_NextPart_000_001F_01BE26AA.1D1BA780
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

I have found the problem with the declaration for jDo.  I remembered =
that function names are case sensitive when accessing 32 bit DLL's so I =
tried all permutations.  I found that JDo is the correct spelling.  A =
close examination of  jdll.h shows:

long _stdcall JDo(char* sentence);

I guess I just didn't look closely enough...  Thanks just the same...

Regards,
Joe

------=_NextPart_000_001F_01BE26AA.1D1BA780
	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 face=3DArial size=3D2>I have found the problem with the =
declaration for=20
jDo.&nbsp; I remembered that function names are case sensitive when =
accessing 32=20
bit DLL's so I tried all permutations.&nbsp; I found that JDo is the =
correct=20
spelling.&nbsp; A close examination of&nbsp; jdll.h shows:</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>long _stdcall JDo(char* =
sentence);</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 face=3DArial size=3D2>I guess I just didn't =
look closely=20
enough...&nbsp; Thanks just the same...</FONT></DIV>
<DIV><FONT color=3D#000000 face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Regards,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Joe</FONT></DIV></BODY></HTML>

------=_NextPart_000_001F_01BE26AA.1D1BA780--

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

From owner-jsoftware@lists.interlog.com  Sat Jan  2 16:57:41 1999
From: "Bjorn G. Helgason" <gosi@centrum.is>
Subject: RE: Jforum: Trying to access J.DLL from VB
Date: Sat, 2 Jan 1999 21:49:50 -0000
Content-Type: multipart/mixed; boundary="---- =_NextPart_000_01BE369A.25C9D3C0"

------ =_NextPart_000_01BE369A.25C9D3C0

From: J Tibollo[SMTP:jtibollo@backassociates.com]

> Declare Function jDo Lib "D:\j.dll" (ByVal Msg As String) As Long

In Jole.bas you have:

Public Function jdo(txt As String) As Integer
'execute sentence, return error code
Dim v As Variant
jdo = js.Do(txt)
If jdo Then
  js.ErrorText jdo, v
  MsgBox v
End If
End Function

Here is jDo is used in the jdll.ijs

jdo=: 'jj.dll JDo i *c'"_ cd <^:(L. = 0:)

NB. jdo      send sentence to be executed
NB. e.g.   jdo 'ABC=: i.2 3 4'
NB.      The examples here assume you have copied J.DLL to JJ.DLL

Used in cmd:

jcmd=: 3 : 0
jdo 'JDAT=: ',y.
jget 'JDAT'
)

In the help there is refered to methods:

Once the J servers are referenced, you can check the methods available, which are as follows.

Break	interrupt J execution
Clear	erases all definitions in J
Do	execute a J sentence

------ =_NextPart_000_01BE369A.25C9D3C0
Content-Type: application/ms-tnef
Content-Transfer-Encoding: base64

eJ8+IgoVAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAENgAQAAgAAAAIAAgABBJAG
ABwBAAABAAAADAAAAAMAADADAAAACwAPDgAAAAACAf8PAQAAAEUAAAAAAAAAgSsfpL6jEBmdbgDd
AQ9UAgAAAABmb3J1bUBqc29mdHdhcmUuY29tAFNNVFAAZm9ydW1AanNvZnR3YXJlLmNvbQAAAAAe
AAIwAQAAAAUAAABTTVRQAAAAAB4AAzABAAAAFAAAAGZvcnVtQGpzb2Z0d2FyZS5jb20AAwAVDAEA
AAADAP4PBgAAAB4AATABAAAAFgAAACdmb3J1bUBqc29mdHdhcmUuY29tJwAAAAIBCzABAAAAGQAA
AFNNVFA6Rk9SVU1ASlNPRlRXQVJFLkNPTQAAAAADAAA5AAAAAAsAQDoBAAAAAgH2DwEAAAAEAAAA
AAAAAxs0AQiABwAYAAAASVBNLk1pY3Jvc29mdCBNYWlsLk5vdGUAMQgBBIABACsAAABSRTogSmZv
cnVtOiBUcnlpbmcgdG8gYWNjZXNzIEouRExMIGZyb20gVkIA0A0BBYADAA4AAADPBwEAAgAVADEA
MgAGAFcBASCAAwAOAAAAzwcBAAIAFQAjADIABgBJAQEJgAEAIQAAADcwNjREMTYyN0NBMkQyMTE4
QjlBMkNBMUZGQzAwMDAwAA0HAQOQBgD0BAAAEgAAAAsAIwABAAAAAwAmAAAAAAALACkAAQAAAAMA
NgAAAAAAQAA5AMDvb9KZNr4BHgBwAAEAAAArAAAAUkU6IEpmb3J1bTogVHJ5aW5nIHRvIGFjY2Vz
cyBKLkRMTCBmcm9tIFZCAAACAXEAAQAAABYAAAABvjaZ0gJi0WRxonwR0ouaLKH/wAAAAAAeAB4M
AQAAAAUAAABTTVRQAAAAAB4AHwwBAAAAEAAAAGdvc2lAY2VudHJ1bS5pcwADAAYQ+HD/wgMABxBw
AgAAHgAIEAEAAABlAAAARlJPTTpKVElCT0xMT1NNVFA6SlRJQk9MTE9AQkFDS0FTU09DSUFURVND
T01ERUNMQVJFRlVOQ1RJT05KRE9MSUIiRDpKRExMIihCWVZBTE1TR0FTU1RSSU5HKUFTTE9OR0lO
SgAAAAACAQkQAQAAAGkDAABlAwAA3QUAAExaRnUxy14o/wAKAQ8CFQKoBesCgwBQAvIJAgBjaArA
c2V0MjcGAAbDAoMyA8UCAHByQnER4nN0ZW0CgzN3AuQHEwKAfQqACM8J2TvxFg8yNTUCgAqBDbEL
YEBuZzEwMzkK/zFWNgwhE1BvE9BjBUBGPQNhOgrhGesa1gyCIEoOIAdgBuEVoFtTTVSQUDpqdB2k
QGIA0GRrYQQQb2MHMBPQcxIuBaBtXQqLbGkz/jYN8AtVFFEL8hrWCocha7JjAEAgPiMeGtZEBZCn
C2AWEBtAdW4bIGkCIEAgakRvIEwdoCAAIkQ6XFxqLmSBHdAiIChCeVYHQNkF0HNnFLAGQXQFEBkQ
6iko0kwCIGcKjyN8KgXKSQOgSgbwZS4e8AQginkIYCARgHZlOioFSSoFUHUCYGljJllkfG8oDNAF
QCjsLGAT0GejBJAqBSdleAWQdRPQjiARsDEBJoBlLCAWEP50CHADoASQA2AFwAWgDbDlKgVEB3Ag
dijSKGAHIecCMCoFL5EgPSbgH8AnAJUvwikr9mY141RoCfDXKgU4cDZRRTOCVDHgBUAbL5Ey4HY4
FyihQm948Tm3RW5kN1E66SZmLbx9KgVIBJAmQAQAJuM+gXXnEbA7cAuAIHQ34C+BHdBcLmk2UC28
L5E9G5AnDmonwx1gPsIgKmMnDCJfM8A7cDxeOijkTC42ITA6NuYgnysv8ypPI7hOQkNgNfJIgzJh
bztwMmY/kCcQYiZAMeVkd0YlSBIswGdDYDiBNgEnSEFCQ0FxaS4R4DN4IDQnSqlIgzfRShFhvm0L
UAeRN+AmMR8xdQeAWy0XM8FwCJA7cEo2cExaTEmySlCDLbxVPzVj9G1kLa1qUtFBcUywG5AnCnZL
w0IgQVRBcix5/i41hjEwBUBVY0zmNuYr+HM/ojfgbHA/kj5UFhBmvz5BO3BJwQeAP6AEcHMtrd5P
SYM/sR1wEbByLYARoG9PACYxWfQysWQy4C0iY3cDkRFwBZBrP5NapU8Adk8LcAtgAmAy0XdoLtBo
710jLPECEB3Rdx/APU1GJfJCFhBhax0jC4AT0DOA3nUFMR1wMeQ8uEMssArA/x0jBJAfMAeRB0AD
IA2xC4C+aSaiBCA/cR1wNBZvZeS9MfVhXIMyhEYlFTEAasAAAAADABAQAAAAAAMAERAAAAAAQAAH
MKAZ392XNr4BQAAIMKAZ392XNr4BHgA9AAEAAAAFAAAAUkU6IAAAAABicw==

------ =_NextPart_000_01BE369A.25C9D3C0--

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

From owner-jsoftware@lists.interlog.com  Sat Jan  2 17:12:00 1999
From: "J Tibollo" <jtibollo@backassociates.com>
Subject: Re: Jforum: Trying to access J.DLL from VB
Date: Sun, 13 Dec 1998 16:02:56 -0500
	charset="iso-8859-1"

Bjorn:

Thanks for taking the time to respond to my note.  I think I have a good
handle on the problem.  I am trying to see if the "standard" way of calling
DLL's is easier than the OLE way.  With OLE you have to register J.DLL.
When I register J.DLL with JReg.EXE it displays a dialog box.  Do you know
of anyway to use JReg.exe to quietly register the DLL?

Thanks,
Regards,
Joe

PS.  So far I have the following declarations:

Declare Function JDo Lib "j.dll" (ByVal Msg As String) As Long

' Use with numbers
Declare Function JGet Lib "j.dll" (ByVal jName As String, result As Variant)
As Long
Declare Function JSet Lib "j.dll" (ByVal jName As String, vbvar As Variant)
As Long
Declare Function JErrorText Lib "j.dll" (ByVal resultcode As Long, vbvar As
Variant) As Long

' Use with Strings
Declare Function JGetB Lib "j.dll" (ByVal jName As String, result As
Variant) As Long
Declare Function JSetB Lib "j.dll" (ByVal jName As String, vbvar As Variant)
As Long
Declare Function JErrorTextB Lib "j.dll" (ByVal resultcode As Long, vbvar As
Variant) As Long

' Miscellaneous
Declare Function JClear Lib "j.dll" () As Long
Declare Function JBreak Lib "j.dll" () As Long
Declare Function JIsBusy Lib "j.dll" () As Long

/Joe

-----Original Message-----
From: Bjorn G. Helgason <gosi@centrum.is>
Date: Saturday, January 02, 1999 4:45 PM
Subject: RE: Jforum: Trying to access J.DLL from VB

>From: J Tibollo[SMTP:jtibollo@backassociates.com]
>
>> Declare Function jDo Lib "D:\j.dll" (ByVal Msg As String) As Long
>
>In Jole.bas you have:
>
>Public Function jdo(txt As String) As Integer
>'execute sentence, return error code
>Dim v As Variant
>jdo = js.Do(txt)
>If jdo Then
>  js.ErrorText jdo, v
>  MsgBox v
>End If
>End Function
>
>
>Here is jDo is used in the jdll.ijs
>
>jdo=: 'jj.dll JDo i *c'"_ cd <^:(L. = 0:)
>
>NB. jdo      send sentence to be executed
>NB. e.g.   jdo 'ABC=: i.2 3 4'
>NB.      The examples here assume you have copied J.DLL to JJ.DLL
>
>Used in cmd:
>
>jcmd=: 3 : 0
>jdo 'JDAT=: ',y.
>jget 'JDAT'
>)
>
>In the help there is refered to methods:
>
>Once the J servers are referenced, you can check the methods available,
which are as follows.
>
>
>Break interrupt J execution
>Clear erases all definitions in J
>Do execute a J sentence
>

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

From owner-jsoftware@lists.interlog.com  Sat Jan  2 21:24:31 1999
Date: Sat, 02 Jan 1999 20:09:12 -0600
From: Steven H Rogers <shrogers@ionet.net>
Organization: S H Rogers & Associates
Subject: Re: Jforum: What happened?
References: <01BE368D.CDCCEB00@geisli-256.centrum.is>

Bjorn G. Helgason wrote:
>

> In Rome last year some people were talking about experiments with
> X/J connections and as far as I could understand then they are very
> promising. So it may not be very long before you begin to hear more
> about Windowing possibilities in Unix.
>
> X as you very probably know has much more possibilities and options
> than Windows so whatever happens there it is sure to surpass quickly
> whatever you at the moment have in Windows.
>
> On my PC I have dual boot so I can start the PC either in Windows or
> in Linux. In Linux I can run J and X. Unfortunately my PC is not very powerful
> so running applications together with X is not as enjoyable as it could
> be. I see enough though to understand that when I get a more powerful
> PC what opportunities that will bring. I have also had the privilege to use
> X on other machines so I do know a fair bit about X.
>
> I do agree with you that this is something that needs to be enhanced and
> I am looking very much forward to see J evolve more in this direction too.
>
> In the meantime you do have an excellent J in Unix which allows you
> aready to do a lot of things you can not do in Windows and it is more
> questionable whether those features will ever be available in Windows
> and that has to do with limitations in Windows not J.
>
> So I guess what you are asking for is more X interactions in J and
> I do agree that will be nice. It will probably happen sooner than you expect.
>
> /Gosi
>
>   ------------------------------------------------------------------------
I suppose that I'm a little greedy, wanting the best of both the MS and
Unix
versions of J.  In addition to exploiting X Windows with J, I'd like to
see
integration between J and Java. The ability to call J from a shell
script is
a powerful feature and I can see building applications with the the GUI
done
in TCL or Python, and numerically intensive parts done in J, perhaps
using
XML to exchange data between the interface and compute engine.
-- Steve
-----------------------
Steven H. Rogers, Ph.D.
Systems Engineer
shrogers@ionet.net

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

From owner-jsoftware@lists.interlog.com  Sun Jan  3 03:50:50 1999
Date: Sun, 03 Jan 1999 09:37:41 +0100
From: "david alis" <dalis@balcab.ch>
Subject: Jforum: Editors; Books & Windows GUI
References: <01BE368D.CDCCEB00@geisli-256.centrum.is>

Re Bjorn G. Helgason:
The " Edit|Configure..." main menu option does not provide for the use
of a third
party text editor against scripts. Is this in fact already possible but
not yet
documented? Or is this something for the next release? Speaking of
which....  have
I missed a forum item from ISI about their hopes for 1999 ... technical
developments
in the pipeline .. etc?

Re:Anssi Seppala:
None of the topics in the Jeffrey Richter book (Advanced Windows
Programming)
deals with user-interface issues that Anssi mention. What books would
Eric or
Chris recommend to help understand their thinking when they implemented
the
Windows GUI for J?

Bjorn G. Helgason wrote:

> What you are refering to is the excellent cooperation between J and
> the Windowing environment under the Windows.

Anssi Seppala wrote:

> Thanks Chris,
> Finally the problem is solved. I never expected that this could be a form
> "owner" parameter. Now I have removed all the loops and wd'wait'  statements.
>
> Anssi
>
> PS The benefit of this mistake was however, that I now also understand the
> eventhandler mechanism.
>
> At 07:59 1.1.1999 -0500, you wrote:
> >The "owner" parameter in the pc command, in this case:
> >
> >  pc a dialog owner;
> >
> >See Help|User|Form Editor|Parent.
> >
> >Chris
>

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

From owner-jsoftware@lists.interlog.com  Sun Jan  3 05:44:47 1999
From: "Bjorn G. Helgason" <gosi@centrum.is>
Subject: RE: Jforum: Editors; Books & Windows GUI
Date: Sun, 3 Jan 1999 10:39:56 -0000
Content-Type: multipart/mixed; boundary="---- =_NextPart_000_01BE3705.9C992940"

------ =_NextPart_000_01BE3705.9C992940

From: david alis[SMTP:dalis@balcab.ch]
> The " Edit|Configure..." main menu option does not provide for the use
> of a third party text editor against scripts. Is this in fact already possible
>  but not yet documented?

Scripts are and have always been straight textfiles and you can edit them
as much as you like with any texteditor you prefer. I frequently use
Notepad, Emacs or Vi for minor changes and also to use the methods
a features available in those editors.

I prefer to run my applications as runtime and have done so for years.
There is no need to change the scripts to encoded or locked forms
to run them in runtime.

It is of course close to impossible to do any major changes directly
without the devolopment environment. You only need to have one tiny little
mistake somewhere and the application stops. For those eventualities
I always run the applications with status and/or logs to know how far the
application  went before failing and sprinkle the code with asserts and
heavy use of try and catch.

By aiming at running the application without the development environment
forces one into more disiplined use of tools and utilities. In a way the
devolopment environment is a big debug tool. I would like the debug
to allow me to set breakpoints and be able to step through my application
from breakpoints.

> Or is this something for the next release? Speaking of
> which....  have I missed a forum item from ISI about their hopes for
>  1999 ... technical developments in the pipeline .. etc?

I thought you knew by now that ISI never tell about things to come.
Come to think of it they hardly mention the things that are already
there. It is up to the rest of us to make a guess what is possible :)

/Gosi

------ =_NextPart_000_01BE3705.9C992940
Content-Type: application/ms-tnef
Content-Transfer-Encoding: base64

eJ8+IhkKAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAENgAQAAgAAAAIAAgABBJAG
ABwBAAABAAAADAAAAAMAADADAAAACwAPDgAAAAACAf8PAQAAAEUAAAAAAAAAgSsfpL6jEBmdbgDd
AQ9UAgAAAABmb3J1bUBqc29mdHdhcmUuY29tAFNNVFAAZm9ydW1AanNvZnR3YXJlLmNvbQAAAAAe
AAIwAQAAAAUAAABTTVRQAAAAAB4AAzABAAAAFAAAAGZvcnVtQGpzb2Z0d2FyZS5jb20AAwAVDAEA
AAADAP4PBgAAAB4AATABAAAAFgAAACdmb3J1bUBqc29mdHdhcmUuY29tJwAAAAIBCzABAAAAGQAA
AFNNVFA6Rk9SVU1ASlNPRlRXQVJFLkNPTQAAAAADAAA5AAAAAAsAQDoBAAAAAgH2DwEAAAAEAAAA
AAAAAxs0AQiABwAYAAAASVBNLk1pY3Jvc29mdCBNYWlsLk5vdGUAMQgBBIABACkAAABSRTogSmZv
cnVtOiBFZGl0b3JzOyBCb29rcyAmIFdpbmRvd3MgR1VJAEcNAQWAAwAOAAAAzwcBAAMACgAnADgA
AABDAQEggAMADgAAAM8HAQADAAoAEQArAAAAIAEBCYABACEAAABFRjZBMUM3REY0QTJEMjExOEI5
QTJDQTFGRkMwMDAwMABQBwEDkAYAQAcAABIAAAALACMAAQAAAAMAJgAAAAAACwApAAEAAAADADYA
AAAAAEAAOQAgR05nBTe+AR4AcAABAAAAKQAAAFJFOiBKZm9ydW06IEVkaXRvcnM7IEJvb2tzICYg
V2luZG93cyBHVUkAAAAAAgFxAAEAAAAWAAAAAb43BWc9fRxq8KL0EdKLmiyh/8AAAAAAHgAeDAEA
AAAFAAAAU01UUAAAAAAeAB8MAQAAABAAAABnb3NpQGNlbnRydW0uaXMAAwAGEIc3HO8DAAcQXQUA
AB4ACBABAAAAZQAAAEZST006REFWSURBTElTU01UUDpEQUxJU0BCQUxDQUJDSFRIRSJFRElUQ09O
RklHVVJFIk1BSU5NRU5VT1BUSU9ORE9FU05PVFBST1ZJREVGT1JUSEVVU0VPRkFUSElSRFBBUlQA
AAAAAgEJEAEAAAC2BQAAsgUAAA0LAABMWkZ1l32qP/8ACgEPAhUCqAXrAoMAUALyCQIAY2gKwHNl
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
81s=

------ =_NextPart_000_01BE3705.9C992940--

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

From owner-jsoftware@lists.interlog.com  Sun Jan  3 15:38:24 1999
From: "Bjorn G. Helgason" <gosi@centrum.is>
Subject: Jforum: J man page  -  Linux    - stdin, stdout, echo
Date: Sun, 3 Jan 1999 20:22:56 -0000
Content-Type: multipart/mixed; boundary="---- =_NextPart_000_01BE3757.12F6D000"

------ =_NextPart_000_01BE3757.12F6D000

Reading through the material that comes with J402 Linux  I found in
one place some release notes and there stdin,stdout, echo and
a few others are mentioned. They are not present when I start J.
They are however in the script shell.ijs which is called quite
smartly in the samplescript !!! So why not put them in stdlib.ijs
so that they will be present when J is started ?

I can not find anywhere help with the vocabulary nor the foreign
conjunctions. Could we not put at least these two major items
into the man pages ? They are not very big and the man pages
is probably a good place to display them.

I also noticed that the labs directory is not empty ?
Is it possible to use labs in Linux ? If so how ?
(same question for Tutorials ? Demos ?)

/Gosi

------ =_NextPart_000_01BE3757.12F6D000
Content-Type: application/ms-tnef
Content-Transfer-Encoding: base64

eJ8+IiEUAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAENgAQAAgAAAAIAAgABBJAG
ABwBAAABAAAADAAAAAMAADAFAAAACwAPDgAAAAACAf8PAQAAAEUAAAAAAAAAgSsfpL6jEBmdbgDd
AQ9UAgAAAABmb3J1bUBqc29mdHdhcmUuY29tAFNNVFAAZm9ydW1AanNvZnR3YXJlLmNvbQAAAAAe
AAIwAQAAAAUAAABTTVRQAAAAAB4AAzABAAAAFAAAAGZvcnVtQGpzb2Z0d2FyZS5jb20AAwAVDAEA
AAADAP4PBgAAAB4AATABAAAAFgAAACdmb3J1bUBqc29mdHdhcmUuY29tJwAAAAIBCzABAAAAGQAA
AFNNVFA6Rk9SVU1ASlNPRlRXQVJFLkNPTQAAAAADAAA5AAAAAAsAQDoBAAAAAgH2DwEAAAAEAAAA
AAAABR80AQiABwAYAAAASVBNLk1pY3Jvc29mdCBNYWlsLk5vdGUAMQgBBIABAC4AAABKIG1hbiBw
YWdlICAtICBMaW51eCAgICAtIHN0ZGluLCBzdGRvdXQsIGVjaG8A6Q0BBYADAA4AAADPBwEAAwAU
ABYAOAAAADwBASCAAwAOAAAAzwcBAAMAFAAWADgAAAA8AQEJgAEAIQAAADg0MzI2QTJEM0VBM0Qy
MTE4QjlBMkNBMUZGQzAwMDAwABwHAQOQBgBwBAAAEgAAAAsAIwABAAAAAwAmAAAAAAALACkAAQAA
AAMANgAAAAAAQAA5AOC1edlWN74BHgBwAAEAAAApAAAAUkU6IEpmb3J1bTogRWRpdG9yczsgQm9v
a3MgJiBXaW5kb3dzIEdVSQAAAAACAXEAAQAAABsAAAABvjcFZz19HGrwovQR0ouaLKH/wAAAABFn
BXEAHgAeDAEAAAAFAAAAU01UUAAAAAAeAB8MAQAAABAAAABnb3NpQGNlbnRydW0uaXMAAwAGEOi9
WfEDAAcQVQIAAB4ACBABAAAAZQAAAFJFQURJTkdUSFJPVUdIVEhFTUFURVJJQUxUSEFUQ09NRVNX
SVRISjQwMkxJTlVYSUZPVU5ESU5PTkVQTEFDRVNPTUVSRUxFQVNFTk9URVNBTkRUSEVSRVNURElO
LFNURE9VVCwAAAAAAgEJEAEAAADmAgAA4gIAAFgEAABMWkZ1IUtLpf8ACgEPAhUCqAXrAoMAUALy
CQIAY2gKwHNldDI3BgAGwwKDMgPFAgBwckJxEeJzdGVtAoMzdwLkBxMCgH0KgAjPCdk78RYPMjU1
AoAKgQ2xC2DAbmcxMDM5CvsUUX0L8SAKhxnqFXAAQAfwZYRhZAuAZyB0aANgyHVnaBzBZSAAwBPQ
9wciHMEdoCAFoAeCA/Ac0FAgSjQwEeBMC4B1IHggIEkgAhB1bnxkIAuAGqYCIB1wC1Fj1R1wcx6B
IBYQbBxgEbD4IG5vE9AEIABwIEAdUWsWECGQdByBLCNxCGB0ZCwgBZBobyLDCoVh/x/wB9EigCMh
IrEjQQeAAjBCaSEBZC4gVB1gef8mEyJxITAWEBGwAjAewB1g3wOgH+ATwArABUBKJvAKheMnFyRw
d2V2BJAgUh1SBQT1cx1gbGwuaWq5HrFoaRFwIFAEIGMHQFMiECBAcXUe4GUKhXObAMAAIGwnQCrm
YW0LUPsHkAUEIS/gBgAkgChgJ0A3J6MkEB1CbSBSI3Fsaf5iLBIttiSAHiMdUSdAA/DZK/AgYiEh
J/pKLLIo0/0tMT8KhQqFH+As8AOgJ6LuZguAIEAAcHkoYSoyIgAmcB7EHVJ2byzwYnV9C2ByMHIF
wB1SAhAWEGmmZyB3BaBuaiAgYyaS9nMm8AhRbCBAKoAwhx5BZyISMPMiQXR3JIAAwGrbBbEtgW0y
JguAdDKyHXLrA6AKsGcHkT8nDCqhJ0B+YjpQIsY/yD7WBCATUG/OYgGgLnElUGdvBHAhNbs/YRyA
cwtRJ0AxEi41rv8HQDKhInEsgC0xMtY9EAGg/wQgHIAWEDtgBbAugQQgJ6LvE+AFMCdANZZJBCAe
4CEw3m8EEDHQIhBE8nUiQUhj5yBhH3RAcElmMpIqYTWH/igvER1wLWAHkCaSOgInAO8kEAWwBzFA
UkQT4EsQNYDSKTWsL0dLEGkKhRUxAgBScAAAAwAQEAAAAAADABEQAAAAAEAABzAA60wDSze+AUAA
CDDgH5LZVje+AR4APQABAAAAAQAAAAAAAABpPA==

------ =_NextPart_000_01BE3757.12F6D000--

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

From owner-jsoftware@lists.interlog.com  Sun Jan  3 15:59:49 1999
Date: Sun, 03 Jan 1999 22:32:28 +0200
From: Anssi Seppala <anssi.seppala@enease.fi>
Subject: Re: Jforum: Editors; Books & Windows GUI
In-Reply-To: <368F2C55.3696FE5E@balcab.ch>
References: <01BE368D.CDCCEB00@geisli-256.centrum.is>

I have learned all my Windows programming by using the tools provided. The
J user manual gives good ideas to start, but I have also missed good
references.

Instead of thick books I wish a library of many short examples of J GUI
applications. The OO system gives here plenty of possibilities to share
code. We only need a good quide classifying and indexing examples so that
you easily find what you need.

Anssi

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

From owner-jsoftware@lists.interlog.com  Sun Jan  3 20:30:15 1999
From: "David Vincent-Jones" <geomap@galaxynet.com>
Subject: Jforum: Editors
Date: Sun, 3 Jan 1999 17:08:42 -0800

When I am debugging I am often frustrated trying to count to a specific line
number in a long function.
Is there any way to display line numbers during the debug process; it would
make the application of stops etc. easier to apply.

David V-J

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

From owner-jsoftware@lists.interlog.com  Sun Jan  3 20:38:22 1999
From: "David Vincent-Jones" <geomap@galaxynet.com>
Subject: Jforum: Operating Systems
Date: Sun, 3 Jan 1999 17:13:58 -0800

Are there significant advantages to be gained from NT or Linux over Win'98
in running J.
Given the same amount of memory etc. is processing speed much the same?

David V-J

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

From owner-jsoftware@lists.interlog.com  Mon Jan  4 00:32:14 1999
From: "John D. Baker" <bakerjd@kos.net>
Subject: Re: Jforum: Operating Systems
Date: Mon, 4 Jan 1999 00:18:05 -0500
	charset="iso-8859-1"

David,

For the Last week I have been running J under NT after running
it under 95 for years.   I have enough experience with how J behaves
under 95 to categorically state that it works better under NT for a number
of reasons:

1) J is developed on NT machines.  All other versions are ports.  With rare
    exceptions something is allways lost in porting.

2) The NT paging system is just a lot better than 95's.  Once you
     start crunching very large arrays you notice the improvement right
away.

3) The J programming environment is more useful under NT primarily because
the
     limitations on the size of text windows is far higher.   Under 95 I
often had to
     break up scripts into one or more files because the J  editor cannot
handle
    large scripts under 95.  With NT the limit is much higher.  So high that
if
   you hit it your doing something wrong!

4) Some nagging instabilities in the J's menu system do not appear (at least
    so for) under NT.

5) Running multiple J tasks is very smooth.  Last night I ran four J's all
executing the
    OpenGL slide show.  On a 400 mhz machine with a few hundred megs of
    ram even this torture test is smooth.

6)  ODBC is much smoother.  I've done a lot of ODBC'ing with J and many of
     of the problems I experienced go away under NT.

Yes the OS matters.
John Baker
bakerjd@kos.net

-----Original Message-----
From: David Vincent-Jones <geomap@galaxynet.com>
Date: Sunday, January 03, 1999 8:26 PM
Subject: Jforum: Operating Systems

>Are there significant advantages to be gained from NT or Linux over Win'98
>in running J.
>Given the same amount of memory etc. is processing speed much the same?
>
>David V-J
>
>
>
>---------------------------------------------------------------------------
-----
>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 Jan  4 00:59:30 1999
From: "John D. Baker" <bakerjd@kos.net>
Subject: Re: Jforum: Editors
Date: Mon, 4 Jan 1999 00:47:39 -0500
	charset="iso-8859-1"

>When I am debugging I am often frustrated trying to count to a specific
line
>number in a long function.
>Is there any way to display line numbers during the debug process; it would
>make the application of stops etc. easier to apply.

The solution to this problem is to forget about line numbers
and set stops based on strings in the code.  A few years
ago I wrote a few stop setting verbs that do this.  Take a
look at the the attached verb (stopat)

NB.  J script begins

require 'debug'

stopat =: 3 : 0
:
NB. Sets stops on J code. Stops cannot be set on all
NB. comment or blank lines as they are not executed.
NB.
NB.     'verb' stopat 'thisstr'
NB.
if. 1 <# jc99 =. 0 decomm jcr x. do.

  NB. multiple line explicit definition
  b99 =.(':' = 0{"1 jc99) *. ' ' *./"1 . = }."1 jc99

  NB. drop "n : 0" header and closing ")"
  b99 =. }:@}. b99 [ jc99 =. }:@}. jc99
  ln99 =.  b99 i. 1

  NB. monad/dyad line numbers handles null cases
  ln99 =. (i. ln99) ; i. 0 >. (#b99) - >:ln99
  null99 =. 2 _2 {~ 1 e. b99

  NB. delete : monad/dyad delimiter
  jc99 =. jc99 #~ -. b99

  NB. monad/dyad string match masks - all blank lines excluded
  b99 =. (-. *./"1 ' ' = jc99) *. +./"1 ($ jc99) $ y. E. , jc99
  b99 =. null99 {. (0 = ; ln99) <;.1 b99

  NB. select matching lines from monad/dyad and set stops
  dbsq@dbss x. , ' ' , ; 2&A. ' : ' ; ":&.> b99 #&.> ln99
else.

  NB. tacit or single line explicit
  dbsq@dbss x. , ' 0 : 0 '
end.
)

NB. remove comments from J code
decomm =: 3 : 0
1 decomm y.
:
NB. mask of unquoted comment starts
 c =. ($y.)


NB.' E. ,y.
 c =. +./\"1 c > ~:/\"1 y. e. ''''
 y. =. ,y.

NB. blank out comments
 y. =. ' ' ((,c)# i. # y.)} y.
 y. =. y. $~ $c

NB. remove blank lines - default
 if. x. do. y. #~ y. +./ . ~: ' ' end.
)

NB. returns a char table representation of a j word
jcr =: [: > [: <;._1 (10{a.)"_ , [: 5!:5 <

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

From owner-jsoftware@lists.interlog.com  Mon Jan  4 01:24:01 1999
Date: Mon, 04 Jan 1999 07:13:07 +0100
From: "david alis" <dalis@balcab.ch>
Subject: Re: Jforum: Editors; Books & Windows GUI
References: <01BE368D.CDCCEB00@geisli-256.centrum.is> <4.1.19990103222626.009d8820@pop.kolumbus.fi>

Anssi Seppala wrote:

> I have learned all my Windows programming by using the tools provided. The
> J user manual gives good ideas to start, but I have also missed good
> references.
>
> Instead of thick books I wish a library of many short examples of J GUI
> applications. The OO system gives here plenty of possibilities to share
> code. We only need a good quide classifying and indexing examples so that
> you easily find what you need.
>
> Anssi

I dont really want thick books either. But it is a fact that formulating good
descriptions of  underlying ideas,  or setting out basic concepts clearly and simply
is extremely difficult. It would be helpful if Eric et al could pass on any good
references they had. There are, after all, a lot of thick unhelpful books around.

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

From owner-jsoftware@lists.interlog.com  Mon Jan  4 02:19:14 1999
Date: Mon, 04 Jan 1999 08:06:32 +0100
From: "david alis" <dalis@balcab.ch>
Subject: Re: Jforum: Editors; Books & Windows GUI
References: <01BE3705.9C918820@geisli-266.centrum.is>

(best viewed with fixed pitch)

Bjorn G. Helgason wrote:

> Scripts are and have always been straight textfiles and you can edit them
> as much as you like with any texteditor you prefer. I frequently use
> Notepad, Emacs or Vi for minor changes and also to use the methods
> a features available in those editors.

But the development environment tightly couples the ijx and ijs windows; ctl-w/ctl-e
immediately run the active ijs window or the highlighted text.... being able to do
this using  a more powerful editor than ships with the session manager would enhance
both J and such editors simultaneously.

>  I would like the debug
> to allow me to set breakpoints and be able to step through my application
> from breakpoints.

If you mean that you think that tracing/debuging is difficult, then I agree with
you.

Chris posted the 'subs'  expression on 23rd December..
 subs=. [. & ((((e.&) ((# i.@#)@)) (@])) })
(it's been shipped with the scripts for years - a real classic, albeit the most
inpenetrable bit of code around).
Switching on debug  to trace its execution really is no help at all....
_ _ (13!:16)_            NB. switch on the trace
   q=.   100 subs 200    NB. generate verb q that will replace
NB.                          occurrences of 200 with 100.
 --------------- 4 conj -------
 100
 subs
 200
  ------------------------------
  100
  [. & ((((e.&) ((# i.@#)@)) (@])) })
  200
  100&((# i.@#)@(e.&200)@]})
  ==============================
 100&((# i.@#)@(e.&200)@]})
 --------------- 8 is ---------
 q
 =.
 100&((# i.@#)@(e.&200)@]})
 ==============================

Even running the new verb, q, with trace isnt all that helpful.

   q 200 2 3 4 193 200 3
 --------------- 0 monad ------
 q
 200 2 3 4 193 200 3
  ------------------------------
  100&((# i.@#)@(e.&200)@]})
  200 2 3 4 193 200 3
  100 2 3 4 193 100 3
  ==============================
 100 2 3 4 193 100 3
 ==============================
100 2 3 4 193 100 3

Incidentally, the tree representation of subs gives more support for its analysis
than do either of the other display forms. (But you really do  need the J font for
this to help)

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

From owner-jsoftware@lists.interlog.com  Mon Jan  4 06:10:27 1999
From: "Bjorn G. Helgason" <gosi@centrum.is>
Subject: RE: Jforum: Editors; Books & Windows GUI
Date: Mon, 4 Jan 1999 09:28:23 -0000
Content-Type: multipart/mixed; boundary="---- =_NextPart_000_01BE37D1.EDAEC8E0"

------ =_NextPart_000_01BE37D1.EDAEC8E0

From: david alis[SMTP:dalis@balcab.ch]
> Bjorn G. Helgason wrote:
> > Scripts are and have always been straight textfiles and you can edit
> > them as much as you like with any texteditor you prefer. I frequently
> > use  Notepad, Emacs or Vi for minor changes and also to use the
> > methods  a features available in those editors.

> But the development environment tightly couples the ijx and ijs windows;
> ctl-w/ctl-e immediately run the active ijs window or the highlighted text....
> being able to do this using  a more powerful editor than ships with the
> session manager would enhance both J and such editors
> simultaneously.

If you are asking for a direct coupling from an editor to J execution then
you would have to put some macro or other logic in your favorite editor
to call on J to execute it for you either partly or the whole script.

I have heard people doing it with Emacs but I am fairly sure it will be
a bit difficult with Notepad. You can surely do it with Excel so I do
not see why you should not be able to do it with Word.

On way to call J this way is through OLE another to call on the DLL
or you can call on the runtime environment.

I usually use J straight for most things in Windows and outside editors on
running systems to adjust things and to make minor changes. In Linux
however I prefer outside editors for most things.

/Gosi

------ =_NextPart_000_01BE37D1.EDAEC8E0
Content-Type: application/ms-tnef
Content-Transfer-Encoding: base64

eJ8+IjoLAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAENgAQAAgAAAAIAAgABBJAG
ABwBAAABAAAADAAAAAMAADADAAAACwAPDgAAAAACAf8PAQAAAEUAAAAAAAAAgSsfpL6jEBmdbgDd
AQ9UAgAAAABmb3J1bUBqc29mdHdhcmUuY29tAFNNVFAAZm9ydW1AanNvZnR3YXJlLmNvbQAAAAAe
AAIwAQAAAAUAAABTTVRQAAAAAB4AAzABAAAAFAAAAGZvcnVtQGpzb2Z0d2FyZS5jb20AAwAVDAEA
AAADAP4PBgAAAB4AATABAAAAFgAAACdmb3J1bUBqc29mdHdhcmUuY29tJwAAAAIBCzABAAAAGQAA
AFNNVFA6Rk9SVU1ASlNPRlRXQVJFLkNPTQAAAAADAAA5AAAAAAsAQDoBAAAAAgH2DwEAAAAEAAAA
AAAAAxs0AQiABwAYAAAASVBNLk1pY3Jvc29mdCBNYWlsLk5vdGUAMQgBBIABACkAAABSRTogSmZv
cnVtOiBFZGl0b3JzOyBCb29rcyAmIFdpbmRvd3MgR1VJAEcNAQWAAwAOAAAAzwcBAAQACQAcABcA
AQAYAQEggAMADgAAAM8HAQAEAAkADgAoAAEAGwEBCYABACEAAAA0RTVFOTc0M0I0QTNEMjExOEI5
QTJDQTFGRkMwMDAwMAAmBwEDkAYAXAYAABIAAAALACMAAQAAAAMAJgAAAAAACwApAAEAAAADADYA
AAAAAEAAOQCAnhmTxDe+AR4AcAABAAAAKQAAAFJFOiBKZm9ydW06IEVkaXRvcnM7IEJvb2tzICYg
V2luZG93cyBHVUkAAAAAAgFxAAEAAAAWAAAAAb43xJL/Q5deT6O0EdKLmiyh/8AAAAAAHgAeDAEA
AAAFAAAAU01UUAAAAAAeAB8MAQAAABAAAABnb3NpQGNlbnRydW0uaXMAAwAGEOTSfVYDAAcQLQQA
AB4ACBABAAAAZQAAAEZST006REFWSURBTElTU01UUDpEQUxJU0BCQUxDQUJDSEJKT1JOR0hFTEdB
U09OV1JPVEU6U0NSSVBUU0FSRUFOREhBVkVBTFdBWVNCRUVOU1RSQUlHSFRURVhURklMRVNBTkQA
AAAAAgEJEAEAAADUBAAA0AQAALoJAABMWkZ1OA2Y2v8ACgEPAhUCqAXrAoMAUALyCQIAY2gKwHNl
dDI3BgAGwwKDMgPFAgBwckJxEeJzdGVtAoMzdwLkBxMCgH0KgAjPCdk78RYPMjU1AoAKgQ2xC2BA
bmcxMDM5Cv8xVjYMIRNQbxPQYwVARj0DYToK4RnrGtYMgiBkYGF2aWQgB0AEAFtgU01UUDodcB3h
QKpiB0BjAaAuEXBdCot5HeAzNg3wC1UUUQvyYzkAQCA+G6chFRrWQmoDBbADoEcuIEhlbEhnYXMC
ICB3GuI63wqHIL8hzxrWJnBTBQMEILUKwGUdwG4dsBGAdijBSGx3YROwIGIJ4SBlE8ByC3BnaAVA
E9B4rwAwAxAHkSjieQhgIB8A+wOgCYBpBUAk3yXpJn8a1px0aBPgHcAEIG11EXD3MAIroh3gayjA
A/AvwCjR/nkqsywiBbErohNQDcAEkMkjwEkgA1BlcQpQAjC+bDHALH8tjy6fBUB1EbB/NJ8mUDX/
GuUHsBrxCrBkOCwgRQDBBCAFsVZp+zNgBbFtC4AFsRFxGRArNf8HQCQwKrA9QDdxL7I0HzUv/zkf
GyEHgC/ABHATID6fOM/FOddhM2BlYXQIcCsyfnYLcAtgAmAowAuAL7Fv8z2hMiRzLgqFPh8l70N/
bEJ1L6MdYGUpQBWgcLcHgAIwLBBuHZADYG5Lg+50KnIz8QWgdQtQB5E90vhpango003QBCAD8Cjw
8G93cztHX0hvSX8r0PEz4C13L1JSN59C3yK4PwdwB4AsMETQI/AxwHJ190XyKMEbIGkpQU5YO0I9
0r5oKnEd4CqBCYAqsy5Zgd9PH1AvVJ8p0QuAZx3ARaL/PWFOwFpPVB8vOQQAN2FdIjdEgQRgKLFw
TtAEkGZ1rwMgMiUvwAORc1iAcE5yfzFxPd9ar19vGxIRsAQQaVskQQOBYTyQBcB3CGBs9x2wCfA8
YWNS/18PXGka8PUwcEoo03MwUkZ1ZBggDz9lH2qvZzEHcGJAAZBuZX0IYHMz8EbmGXtu+XIlSeZm
K5Moo3NrXSI7skSQ/ywwFhBSIk0idWMDYSjRYmd/PUBsICrQBZBKoGeSL8Fu33IlK6JoVCkjPWFw
SqEkMP8HgGfBBQA9QAWxa+FoIRWguGdpY0XSK6EFwGYdgL8FsCxARlZyJT1hHwBsAyD/JEFsID1h
eERFwQVAO7Irot9dEHvjclEz4lgVd0GQRbH/BPRG7TNQKSMv0AsRMsBxsL9NQV3RXSIsQTFTOvRi
SqH9M1BhL/B9EEwAM/FsgCix34VDfsEp4HIlRJBiLEEsML8N0HxgcWExRDplI8BZK7XvhyIz8U7A
hTh4aQADID0x/zNQi1FyJTwQZzKB0jHAK6K/YzBoY41SKeBdWYU3VwWw+4owRvxPJFEpoH5nfyFg
wm+RwmDRL8ADYHUqgJGATB5FKNF71H55Y+JETEz/ciUyZSvilNpWcUyQexFL2fuCvzdwdX6xMcA9
kmwgKje/O7NGMGCTGRAEIEXhV06k/yjTCGAocB2gRld+4nIlVnF7AwBdMXMTs01xPUA6sGr/N3Cb
xyjiPWEAwDEhO/szMfUDoEwLgHVN8HIlQZBiAD8pQIOCMtSdP5tdRu0vRy1GMGlyJRUxAKiQAwAQ
EAAAAAADABEQAAAAAEAABzBAN2yowje+AUAACDBAN2yowje+AR4APQABAAAABQAAAFJFOiAAAAAA
kRQ=

------ =_NextPart_000_01BE37D1.EDAEC8E0--

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

From owner-jsoftware@lists.interlog.com  Mon Jan  4 11:10:56 1999
Date: Mon, 04 Jan 1999 09:52:04 -0600
From: Steven H Rogers <shrogers@ionet.net>
Organization: S H Rogers & Associates
Subject: Re: Jforum: Operating Systems
References: <001001be377f$84eab0a0$1b0881ce@desktop>

David Vincent-Jones wrote:
>
> Are there significant advantages to be gained from NT or Linux over Win'98
> in running J.
> Given the same amount of memory etc. is processing speed much the same?
>
> David V-J
>
> --------------------------------------------------------------------------------

David:

The answer depends upon your hardware to some extent.  WinNT demands
more resources than Win95.  Win98 is more resource intensive thant Win95
so the difference may be less.  Linux outperforms WinNT for most
applications on the same hardware and runs well on most anything that
runs Win95 well.  Linux is more stable than either WinNT or Win9X.

A caveat is that you have to be careful with hardware compatibility for
both WinNt and Linux.  This can be especially troublesome with nameless,
generic components.

The Linux J distribution doesn't (yet) have a nice session manager or
interface to the windowing system like the WinXX versions.  This is a
bit disappointing since the Linux version of Mathematica has such
things.

-- Steve
-----------------------
Steven H. Rogers, Ph.D.
Systems Engineer
shrogers@ionet.net

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

From owner-jsoftware@lists.interlog.com  Mon Jan  4 11:48:27 1999
From: "Bjorn G. Helgason" <gosi@centrum.is>
Subject: RE: Jforum: Mac runtime for Pousse?
Date: Mon, 4 Jan 1999 16:30:06 -0000
Content-Type: multipart/mixed; boundary="---- =_NextPart_000_01BE3801.43FF9A60"

------ =_NextPart_000_01BE3801.43FF9A60

From: Brian M. Schott[SMTP:dscbms@panther.Gsu.EDU]
> On Fri, 1 Jan 1999, Bjorn G. Helgason wrote:
> +The Macintosh doesn't have command line parameters so there
> +is no /rt parameter. If J is started by double-clicking a
> +script file with a suffix of .ijr, then J is started as a
> +runtime application. The ijr file does not have to be an
> +encoded ijr file."

> +Therefore I conclude that my Windows solution for pousse
> +can be made by just renaming pusl.ijs to pusl.ijr on the
> +Mac and it would run by double-clicking on that file on the
> +Mac.

	> I doubt that simply renaming an .ijs file to an .ijr
> file will make the resulting script into a runtime file.

I tested .ijr this morning and it works as promised. No /rt needed

I was going to download J402 but discovered that it is not yet available
for the Mac so I could not test Pousse but I am now sure it will work
as described earlier.

/Gosi

------ =_NextPart_000_01BE3801.43FF9A60
Content-Type: application/ms-tnef
Content-Transfer-Encoding: base64

eJ8+IjIQAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAENgAQAAgAAAAIAAgABBJAG
ABwBAAABAAAADAAAAAMAADADAAAACwAPDgAAAAACAf8PAQAAAEUAAAAAAAAAgSsfpL6jEBmdbgDd
AQ9UAgAAAABmb3J1bUBqc29mdHdhcmUuY29tAFNNVFAAZm9ydW1AanNvZnR3YXJlLmNvbQAAAAAe
AAIwAQAAAAUAAABTTVRQAAAAAB4AAzABAAAAFAAAAGZvcnVtQGpzb2Z0d2FyZS5jb20AAwAVDAEA
AAADAP4PBgAAAB4AATABAAAAFgAAACdmb3J1bUBqc29mdHdhcmUuY29tJwAAAAIBCzABAAAAGQAA
AFNNVFA6Rk9SVU1ASlNPRlRXQVJFLkNPTQAAAAADAAA5AAAAAAsAQDoBAAAAAgH2DwEAAAAEAAAA
AAAAAxs0AQiABwAYAAAASVBNLk1pY3Jvc29mdCBNYWlsLk5vdGUAMQgBBIABACQAAABSRTogSmZv
cnVtOiBNYWMgcnVudGltZSBmb3IgUG91c3NlPwA4DAEFgAMADgAAAM8HAQAEABAAHgAGAAEAEAEB
IIADAA4AAADPBwEABAAQABsAAQABAAgBAQmAAQAhAAAANEJBNUM1QUVGMUEzRDIxMThCOUEyQ0Ex
RkZDMDAwMDAARwcBA5AGAEgFAAASAAAACwAjAAEAAAADACYAAAAAAAsAKQABAAAAAwA2AAAAAABA
ADkAgBWmfP83vgEeAHAAAQAAACQAAABSRTogSmZvcnVtOiBNYWMgcnVudGltZSBmb3IgUG91c3Nl
PwACAXEAAQAAABYAAAABvjf/fEmuxaVMo/ER0ouaLKH/wAAAAAAeAB4MAQAAAAUAAABTTVRQAAAA
AB4AHwwBAAAAEAAAAGdvc2lAY2VudHJ1bS5pcwADAAYQvggPXAMABxC+AgAAHgAIEAEAAABlAAAA
RlJPTTpCUklBTk1TQ0hPVFRTTVRQOkRTQ0JNU0BQQU5USEVSR1NVRURVT05GUkksMUpBTjE5OTks
QkpPUk5HSEVMR0FTT05XUk9URTorVEhFTUFDSU5UT1NIRE9FU05USEFWRQAAAAACAQkQAQAAAMUD
AADBAwAAigcAAExaRnUKiz4w/wAKAQ8CFQKoBesCgwBQAvIJAgBjaArAc2V0MjcGAAbDAoMyA8UC
AHByQnER4nN0ZW0CgzN3AuQHEwKAfQqACM8J2TvxFg8yNTUCgAqBDbELYMBuZzEwMzkK9AzQeDE0
NA3wC1UUUQvyYwUAQCAKi2xpMTgwOQLRaS0Z8xncC8IxNqsMIRNQbxPQYwVARgNhnjoK4R2rHpYM
giBCByE5A6BNLgYAEXAesHRbQFNNVFA6ZATwYlhtc0AKsAIwaASQLgBHc3UuRURVXdkbbTM2Gi8b
MT4fZxq1jR6WTwOgHxBpLCAbQDJKA5ExOSjAKDBCagsFsAOgRyGgSGVsZ6RhcwIgIHceojoKh+cl
PyZPHpYrVCMwBdAA0AELgHRvc2ggZG/ZB5BuJwVAEYB2LfAFoNJtA4FkIBwwbi3wCrGuYQeAE9AR
oCAp8CAjIi5lKp8rryy/KwQAIG6dMRAvACAwSCGgSWYoYD4gNMETwArAE9Av4GJ5RS6hdQJgZS1j
HDBj4msLgGcgYTGPMp8zr94rBPUcoDeAKiBpIyA4MIUw8HUN0Gl4IG82IPAuaWpyKDAjIQOgNkuf
KeA4PzlPOl8toXJ1AjDbB3E/AHALUDfQYUKQAiD/IaAt0j1xO/QusjThLxUuYLs3AELBbj8vQD9B
TysJ8M8FoA2wL+BD9i4iG1ZF7/9G/0gPLcIWEAIQFhA2AC9xn0kwCkANsDEhQ0AgbTcg9lcLgC6w
dzDiCkBDUjvw/QWxcAhgBBAxf0vPTN8tsL9DMAOgRZEAwE8hNxFqUUBbBUAWEG4wgDgCcFFAbP89
YQQgRWFWlQXAKgEjIVGPe1KfU68rLhFFsUmBBUB3/QhgbC/gQmE3DzgRV+NPcf88A1fvWP9aD1sY
IaBKXSDy/1+vYL8nOE6gN0IFQE9TAJD+bQtQXOBWBwORVtM8A0VhfWiEciP/JQ9k/ycpPAVsewMg
AMBrTzIt8BYQI4Bs/0KQOBEE9S5CPJFCZknjCo//Go9xgk6gE9ATwS/gV5MjIJ80wQRgBKBoRFvl
cms+8a8EIB6RVkARsGQhoE41BF8wIAmACYBKXE6gdz7hZ+5vOAJFYVABbhWgVUAoYPsaEBHgYlCA
LqAEAAWgL1DfFhFPRFwBNMMFQHkRwD8A/nYLcAtgN3FxVVDibsJbgp8xAU6iXFJE0nPSIFBRM/96
c06gMIA04QfgI4BOcVwC/24yddJxVT7hDbAE8kWQL+CeZQrAHDAjQUpcL0cucBZpcVUVMQCFkAAA
AAMAEBAAAAAAAwAREAAAAABAAAcwgAyMDv83vgFAAAgwgAyMDv83vgEeAD0AAQAAAAUAAABSRTog
AAAAADyW

------ =_NextPart_000_01BE3801.43FF9A60--

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

From owner-jsoftware@lists.interlog.com  Mon Jan  4 12:16:19 1999
From: "Bjorn G. Helgason" <gosi@centrum.is>
Subject: RE: Jforum: Operating Systems
Date: Mon, 4 Jan 1999 16:41:07 -0000
Content-Type: multipart/mixed; boundary="---- =_NextPart_000_01BE3801.48A5C9E0"

------ =_NextPart_000_01BE3801.48A5C9E0

From: David Vincent-Jones[SMTP:geomap@galaxynet.com]
> Are there significant advantages to be gained from NT or Linux over
> Win'98 in running J.
> Given the same amount of memory etc. is processing speed much the
>  same?

There is no question about NT being better on memory management than
W95 and I have heard that W98 is not much better than W95.
NTFS in NT is also far superior to FAT but I do not know much about
FAT32 that is in W98 I have heard.

Linux is far superior to NT in most respects. X in Linux is also far superior
to the Windows in NT. J can do all kinds of neat things in Linux that are not
possible in NT. The user interface for J under Linux as distributed lacks most
of the nice features it has in NT though. Once J gets X connections then
I am sure Linux will become superior in all respects.

/Gosi

------ =_NextPart_000_01BE3801.48A5C9E0
Content-Type: application/ms-tnef
Content-Transfer-Encoding: base64

eJ8+IjkQAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAENgAQAAgAAAAIAAgABBJAG
ABwBAAABAAAADAAAAAMAADADAAAACwAPDgAAAAACAf8PAQAAAEUAAAAAAAAAgSsfpL6jEBmdbgDd
AQ9UAgAAAABmb3J1bUBqc29mdHdhcmUuY29tAFNNVFAAZm9ydW1AanNvZnR3YXJlLmNvbQAAAAAe
AAIwAQAAAAUAAABTTVRQAAAAAB4AAzABAAAAFAAAAGZvcnVtQGpzb2Z0d2FyZS5jb20AAwAVDAEA
AAADAP4PBgAAAB4AATABAAAAFgAAACdmb3J1bUBqc29mdHdhcmUuY29tJwAAAAIBCzABAAAAGQAA
AFNNVFA6Rk9SVU1ASlNPRlRXQVJFLkNPTQAAAAADAAA5AAAAAAsAQDoBAAAAAgH2DwEAAAAEAAAA
AAAAAxs0AQiABwAYAAAASVBNLk1pY3Jvc29mdCBNYWlsLk5vdGUAMQgBBIABAB4AAABSRTogSmZv
cnVtOiBPcGVyYXRpbmcgU3lzdGVtcwB/CgEFgAMADgAAAM8HAQAEABAAKQAHAAEAHAEBIIADAA4A
AADPBwEABAAQAB4AHAABACYBAQmAAQAhAAAANEZBNUM1QUVGMUEzRDIxMThCOUEyQ0ExRkZDMDAw
MDAASwcBA5AGAOAEAAASAAAACwAjAAEAAAADACYAAAAAAAsAKQABAAAAAwA2AAAAAABAADkAYM8C
BwE4vgEeAHAAAQAAAB4AAABSRTogSmZvcnVtOiBPcGVyYXRpbmcgU3lzdGVtcwAAAAIBcQABAAAA
FgAAAAG+OAEG+a7FpVCj8RHSi5osof/AAAAAAB4AHgwBAAAABQAAAFNNVFAAAAAAHgAfDAEAAAAQ
AAAAZ29zaUBjZW50cnVtLmlzAAMABhCyWuuzAwAHEIUCAAAeAAgQAQAAAGUAAABGUk9NOkRBVklE
VklOQ0VOVC1KT05FU1NNVFA6R0VPTUFQQEdBTEFYWU5FVENPTUFSRVRIRVJFU0lHTklGSUNBTlRB
RFZBTlRBR0VTVE9CRUdBSU5FREZST01OVE9STElOVVhPAAAAAAIBCRABAAAAYgMAAF4DAADqBQAA
TFpGdYA4kQP/AAoBDwIVAqgF6wKDAFAC8gkCAGNoCsBzZXQyNwYABsMCgzIDxQIAcHJCcRHic3Rl
bQKDM3cC5AcTAoB9CoAIzwnZO/EWDzI1NQKACoENsQtgwG5nMTAzOQr0DNB4MTQ0DfALVRRRC/Jj
BQBAIAqLbGkxODA5AtFpLRnzGdwLwjE2qwwhE1BvE9BjBUBGA2EeOgrhHaselgyCIERhoHZpZCBW
C4BjCfAYdC1KAiAHkFtTTSBUUDpnZQNxcEAiZwdAYXh5IjB0LtkFoG1dCocaXz4kfh6W4QcQZSB0
aASQJ2AAkDZnAwAcoGMAcAVAYWQadihhYSLABCB0byDeYidgIzALgAmAIANSB7CUVCAFsUwLgHV4
KpC+dgSQG1gkryW/HpZXC4D4Jzk4K/8bQC0/HqULgDAgcnVuAwAZECBKci4bbTM2Gi8s/yaZR95p
K0ADoCeBJ9BhB4AokMcEYDIABUBvZiAHgARgyHJ5IBHAYy4xsAQgzx6RIcAEEDIyc3AJ4CFw/G11
EXAncjKfM680vyaZ3TcDPwqPGo8+8lQnkzjB2m4pYHEKUBPAaQIgKJD9BuB1BUAqcSmAMjIpgAJA
/ytRQkE4BQOBKQEHgChxJ4CjAHA+xVc5NSiQbiFw3EkgEYArQEZgZQsRRRL/LpEu8EF0BUA6A0Nl
RSJFwvsyhipwRgXwMcEqcTjBB0DKcylgZgrBc3U5sAUQcwWxKVFGQULhQqFGUGT7KWBH4mtBsAfg
OgNCcz7F/UwRMxHgRyM4wTHBR3JGWn8yhj7FKtQ4wUseSmJD4W9fE8Ax4AeQObAe4HM4oFj/MbJR
h0rPPsUpUTbSLrFMsM53T0MqcDigSiAoUUyi+wdAAyBrV0EEIDfRIjBHQf8ngDIxT0Mq1EcjCsAn
YEfi/T7FcFOAAJACYEFhV8RBIfwgdRGwBcALgEORSxAhwL8qEAWxWCAyAASBKsVhBCB6ZAQAdAUQ
TFEp8QtgY/5rBCBTcz7FN9E20gMAXhL3WZEIcAeRaQVAEYBXlSdx6QhgZ2g4oE8hsVgRIsD/VCBU
UQWgMhAe0UIxKTEnkP9FVkZQNyBLQSdRKtQD8FjB/ymAI9EnwUtmMcFYslPHUKy0L0dTgGk+xRUx
AGuQAAADABAQAAAAAAMAERAAAAAAQAAHMIANAIr/N74BQAAIMIANAIr/N74BHgA9AAEAAAAFAAAA
UkU6IAAAAAA0cg==

------ =_NextPart_000_01BE3801.48A5C9E0--

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

From owner-jsoftware@lists.interlog.com  Mon Jan  4 13:43:11 1999
From: "David Vincent-Jones" <geomap@galaxynet.com>
Subject: Re: Jforum: Operating Systems
Date: Mon, 4 Jan 1999 10:17:19 -0800

John;
Thanks.
I will, due to my nomadic life, be switching this month to a 300 mh.
notebook;
obviously not an optimal solution but I can bang a mess of memory into it.
I hope that when Win 2000 is shipped it will not have the Win '95/'98
overhead.
David
-----Original Message-----
From: John D. Baker <bakerjd@kos.net>
Date: January 3, 1999 9:34 PM
Subject: Re: Jforum: Operating Systems

>David,
>
>For the Last week I have been running J under NT after running
>it under 95 for years.   I have enough experience with how J behaves
>under 95 to categorically state that it works better under NT for a number
>of reasons:
>
>1) J is developed on NT machines.  All other versions are ports.  With rare
>    exceptions something is allways lost in porting.
>
>2) The NT paging system is just a lot better than 95's.  Once you
>     start crunching very large arrays you notice the improvement right
>away.
>
>3) The J programming environment is more useful under NT primarily because
>the
>     limitations on the size of text windows is far higher.   Under 95 I
>often had to
>     break up scripts into one or more files because the J  editor cannot
>handle
>    large scripts under 95.  With NT the limit is much higher.  So high
that
>if
>   you hit it your doing something wrong!
>
>4) Some nagging instabilities in the J's menu system do not appear (at
least
>    so for) under NT.
>
>5) Running multiple J tasks is very smooth.  Last night I ran four J's all
>executing the
>    OpenGL slide show.  On a 400 mhz machine with a few hundred megs of
>    ram even this torture test is smooth.
>
>6)  ODBC is much smoother.  I've done a lot of ODBC'ing with J and many of
>     of the problems I experienced go away under NT.
>
>Yes the OS matters.
>John Baker
>bakerjd@kos.net
>
>-----Original Message-----
>From: David Vincent-Jones <geomap@galaxynet.com>
>To: J Forum <forum@jsoftware.com>
>Date: Sunday, January 03, 1999 8:26 PM
>Subject: Jforum: Operating Systems
>
>
>>Are there significant advantages to be gained from NT or Linux over Win'98
>>in running J.
>>Given the same amount of memory etc. is processing speed much the same?
>>
>>David V-J
>>
>>
>>
>>--------------------------------------------------------------------------
-
>-----
>>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 Jan  4 13:46:48 1999
From: "David Vincent-Jones" <geomap@galaxynet.com>
Subject: Re: Jforum: Editors
Date: Mon, 4 Jan 1999 10:11:58 -0800

John;
Thanks for the idea, most useful, one less frustration.
David
-----Original Message-----
From: John D. Baker <bakerjd@kos.net>
Date: January 3, 1999 10:01 PM
Subject: Re: Jforum: Editors

>>When I am debugging I am often frustrated trying to count to a specific
>line
>>number in a long function.
>>Is there any way to display line numbers during the debug process; it
would
>>make the application of stops etc. easier to apply.
>
>The solution to this problem is to forget about line numbers
>and set stops based on strings in the code.  A few years
>ago I wrote a few stop setting verbs that do this.  Take a
>look at the the attached verb (stopat)
>
>NB.  J script begins
>
>require 'debug'
>
>stopat =: 3 : 0
>:
>NB. Sets stops on J code. Stops cannot be set on all
>NB. comment or blank lines as they are not executed.
>NB.
>NB.     'verb' stopat 'thisstr'
>NB.
>if. 1 <# jc99 =. 0 decomm jcr x. do.
>
>  NB. multiple line explicit definition
>  b99 =.(':' = 0{"1 jc99) *. ' ' *./"1 . = }."1 jc99
>
>  NB. drop "n : 0" header and closing ")"
>  b99 =. }:@}. b99 [ jc99 =. }:@}. jc99
>  ln99 =.  b99 i. 1
>
>  NB. monad/dyad line numbers handles null cases
>  ln99 =. (i. ln99) ; i. 0 >. (#b99) - >:ln99
>  null99 =. 2 _2 {~ 1 e. b99
>
>  NB. delete : monad/dyad delimiter
>  jc99 =. jc99 #~ -. b99
>
>  NB. monad/dyad string match masks - all blank lines excluded
>  b99 =. (-. *./"1 ' ' = jc99) *. +./"1 ($ jc99) $ y. E. , jc99
>  b99 =. null99 {. (0 = ; ln99) <;.1 b99
>
>  NB. select matching lines from monad/dyad and set stops
>  dbsq@dbss x. , ' ' , ; 2&A. ' : ' ; ":&.> b99 #&.> ln99
>else.
>
>  NB. tacit or single line explicit
>  dbsq@dbss x. , ' 0 : 0 '
>end.
>)
>
>NB. remove comments from J code
>decomm =: 3 : 0
>1 decomm y.
>:
>NB. mask of unquoted comment starts
> c =. ($y.)


NB.' E. ,y.
> c =. +./\"1 c > ~:/\"1 y. e. ''''
> y. =. ,y.
>
>NB. blank out comments
> y. =. ' ' ((,c)# i. # y.)} y.
> y. =. y. $~ $c
>
>NB. remove blank lines - default
> if. x. do. y. #~ y. +./ . ~: ' ' end.
>)
>
>NB. returns a char table representation of a j word
>jcr =: [: > [: <;._1 (10{a.)"_ , [: 5!: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  Mon Jan  4 14:44:16 1999
Date: Mon, 4 Jan 1999 20:24:24 +0100 (MET)
From: Martin Neitzel <neitzel@gaertner.de>
Subject: Re:  Jforum: J man page  -  Linux    - stdin, stdout, echo

> So why not put [shell.ijs utils] in stdlib.ijs?

I good suggestion.  The defined verbs (exit, echo, stdout, getenv, ...)
are certainly worthwhile to have around.

However, these definitions are not the main purpose of shell.ijs.
The main purpose are the lines

ARGC=:$ARGV=: 2!:4 ''
SCRIPT=:SCRIPT}.~('#!'-:2{.SCRIPT)*>:0{#;._2 SCRIPT=:1!:1]0{ARGV
(0 0$0)[3 : SCRIPT]0
exit 0

I believe "exit" is part of the standard definitions, and should
really be defined by standard on Unix as well.  I'm not so secure
where the others should go, at the moment.

						Martin

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

From owner-jsoftware@lists.interlog.com  Mon Jan  4 14:49:43 1999
Date: Mon, 4 Jan 1999 20:33:43 +0100 (MET)
From: Martin Neitzel <neitzel@gaertner.de>
Subject: RE: Jforum: What happened?

Gosi:
>
> I have also had the privilege to use X on other machines so I do know
> a fair bit about X.

Great!

> So I guess what you are asking for is more X interactions in J and
> I do agree that will be nice. It will probably happen sooner than you expect.

Excellent!

							Martin

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

From owner-jsoftware@lists.interlog.com  Tue Jan  5 00:45:31 1999
Date: Tue, 5 Jan 1999 00:04:45 -0500 (EST)
From: "Brian M. Schott" <dscbms@panther.Gsu.EDU>
Subject: RE: Jforum: Mac runtime for Pousse?
In-Reply-To: <01BE3801.43F7F940@geisli-363.centrum.is>

On Mon, 4 Jan 1999, Bjorn G. Helgason wrote:

+
+From: 	Brian M. Schott[SMTP:dscbms@panther.Gsu.EDU]
+> On Fri, 1 Jan 1999, Bjorn G. Helgason wrote:
+> +The Macintosh doesn't have command line parameters so there
+> +is no /rt parameter. If J is started by double-clicking a
+> +script file with a suffix of .ijr, then J is started as a
+> +runtime application. The ijr file does not have to be an
+> +encoded ijr file."

	Yes I read your quoted info above finally in the
J401 Help||User||Runtime . But the context of this sentence
is subtle: "While you are debugging a rt file"

+
+> +Therefore I conclude that my Windows solution for pousse
+> +can be made by just renaming pusl.ijs to pusl.ijr on the
+> +Mac and it would run by double-clicking on that file on the
+> +Mac.

	I took your comment to mean that you thought you do
NOT need to execute wd 'makejr xx.ijs xx.ijr'. But you must
execute that to turn something into an ijr file.

+
+	> I doubt that simply renaming an .ijs file to an .ijr
+> file will make the resulting script into a runtime file.
+
+I tested .ijr this morning and it works as promised. No /rt needed
+
+I was going to download J402 but discovered that it is not yet available
+for the Mac so I could not test Pousse but I am now sure it will work
+as described earlier.
+

	I tried to use wd 'makejr pousse.ijs pousse.ijr' but
continue to get the error "Error in application. Application
will terminate." On the other had I was able to get the toy
"Hello world" rt to work on my Mac. So it looks like I am
missing some detail in my pousse effort.

	The error seems to be in the required scripts,
because I get the error message even when I comment out the
final pousse command: pousse '' .

+/Gosi
+

(B=)

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

From owner-jsoftware@lists.interlog.com  Tue Jan  5 04:28:02 1999
From: "Bjorn G. Helgason" <gosi@centrum.is>
Subject: RE: Jforum: Mac runtime for Pousse?
Date: Tue, 5 Jan 1999 09:20:06 -0000
Content-Type: multipart/mixed; boundary="---- =_NextPart_000_01BE388C.DAE57400"

------ =_NextPart_000_01BE388C.DAE57400

From: Brian M. Schott[SMTP:dscbms@panther.Gsu.EDU]
> I took your comment to mean that you thought you do
> NOT need to execute wd 'makejr xx.ijs xx.ijr'. But you must
> execute that to turn something into an ijr file.

It is enough to rename the file. You do NOT need to execute makejr.

> 	I tried to use wd 'makejr pousse.ijs pousse.ijr' but
> continue to get the error "Error in application. Application
> will terminate."

That is NOT what I said you should do.

> 	The error seems to be in the required scripts,
> because I get the error message even when I comment out the
> final pousse command: pousse '' .

That is why I said you should make a copy of profile and boot and
change them. The first to call the new second and the second to
NOT setup the development environment.

I said you should follow my instructions for creating pusl.ijs
and then you could rename pusl.ijs to pusl.ijr

The changes in pusl compared to pousse is to put in a line to
run the new profile and the other to remove a call to the session
manager.

From: Bjorn G. Helgason[SMTP:gosi@centrum.is]
> +Therefore I conclude that my Windows solution for pousse
> +can be made by just renaming pusl.ijs to pusl.ijr on the
> +Mac and it would run by double-clicking on that file on the
> +Mac.
Here it comes again to the Forum:

I changed the pousse.ijs script in two ways to make it run straight.
Made a copy and changed the name to pusl.ijs

As a first line added
0!:0 <'user\pousse\prof.ijs'    NB. add this line before anything else

prof.ijs is a copy of profile.ijs with one line changed
0!:0 <'user\pousse\boot.ijs'   NB. Change the path to the boot script

in boot.ijs I changed one line
NB. configure_jcfg_ 0	      NB. remove the line by commenting it out

and at last in the pusl.ijs changed one line
FIXFONT=: '"ISIJ" 10 default'	NB. remove the call to SM and replace

MAC:
and now you can change the name of pusl.ijs to pusl.ijr and
double click on pusl.ijr on the Mac.

WINDOWS:
In windows you set up the properties of the icon to:
C:\j402\j.exe /rt user\pousse\pusl.ijs	NB. put this in properties of the icon

Hope this is getting a bit clearer now.

/Gosi

------ =_NextPart_000_01BE388C.DAE57400
Content-Type: application/ms-tnef
Content-Transfer-Encoding: base64

eJ8+IgMJAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAENgAQAAgAAAAIAAgABBJAG
ABwBAAABAAAADAAAAAMAADADAAAACwAPDgAAAAACAf8PAQAAAEUAAAAAAAAAgSsfpL6jEBmdbgDd
AQ9UAgAAAABmb3J1bUBqc29mdHdhcmUuY29tAFNNVFAAZm9ydW1AanNvZnR3YXJlLmNvbQAAAAAe
AAIwAQAAAAUAAABTTVRQAAAAAB4AAzABAAAAFAAAAGZvcnVtQGpzb2Z0d2FyZS5jb20AAwAVDAEA
AAADAP4PBgAAAB4AATABAAAAFgAAACdmb3J1bUBqc29mdHdhcmUuY29tJwAAAAIBCzABAAAAGQAA
AFNNVFA6Rk9SVU1ASlNPRlRXQVJFLkNPTQAAAAADAAA5AAAAAAsAQDoBAAAAAgH2DwEAAAAEAAAA
AAAAAxs0AQiABwAYAAAASVBNLk1pY3Jvc29mdCBNYWlsLk5vdGUAMQgBBIABACQAAABSRTogSmZv
cnVtOiBNYWMgcnVudGltZSBmb3IgUG91c3NlPwA4DAEFgAMADgAAAM8HAQAFAAkAFAAGAAIAAQEB
IIADAA4AAADPBwEABQAIADYABwACACMBAQmAAQAhAAAANkQzN0Q0QkQ3QkE0RDIxMThCOUEyQ0Ex
RkZDMDAwMDAAQgcBA5AGABgIAAASAAAACwAjAAEAAAADACYAAAAAAAsAKQABAAAAAwA2AAAAAABA
ADkAIDIqlYw4vgEeAHAAAQAAACQAAABSRTogSmZvcnVtOiBNYWMgcnVudGltZSBmb3IgUG91c3Nl
PwACAXEAAQAAABYAAAABvjiMlM691DdvpHsR0ouaLKH/wAAAAAAeAB4MAQAAAAUAAABTTVRQAAAA
AB4AHwwBAAAAEAAAAGdvc2lAY2VudHJ1bS5pcwADAAYQ6MUfQQMABxBqBgAAHgAIEAEAAABlAAAA
RlJPTTpCUklBTk1TQ0hPVFRTTVRQOkRTQ0JNU0BQQU5USEVSR1NVRURVSVRPT0tZT1VSQ09NTUVO
VFRPTUVBTlRIQVRZT1VUSE9VR0hUWU9VRE9OT1RORUVEVE9FWEVDVVRFVwAAAAACAQkQAQAAAJUG
AACRBgAA1g4AAExaRnUMfhyH/wAKAQ8CFQKoBesCgwBQAvIJAgBjaArAc2V0MjcGAAbDAoMyA8UC
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

------ =_NextPart_000_01BE388C.DAE57400--

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

From owner-jsoftware@lists.interlog.com  Tue Jan  5 07:51:07 1999
From: "Bjorn G. Helgason" <gosi@centrum.is>
Subject: RE: Jforum: Mac runtime for Pousse?
Date: Tue, 5 Jan 1999 12:37:56 -0000
Content-Type: multipart/mixed; boundary="---- =_NextPart_000_01BE38A8.751193E0"

------ =_NextPart_000_01BE38A8.751193E0

From: Bjorn G. Helgason[SMTP:gosi@centrum.is]
> in boot.ijs I changed one line
> NB. configure_jcfg_ 0	      NB. remove the line by commenting it out

If you want to then you can just change the boot script by replacing the
line with:

ConfRT_jcfg_=: 3 : 0
r=.wd'qrt'
if. r -: ,'1' do.
NB. rtout'runtime'
else.
NB. rtout'development'
configure_jcfg_ 0
end.
)

ConfRT_jcfg_''

Then you will be starting the development environment with the configuration
if you start pusl.ijs without the /rt and run in runtime if you do.
And similarily on the Mac by double clicking on the pusl.ijs will start
the development environment with the configuration and double clicking
on pusl.ijr will start the runtime version.

/Gosi

------ =_NextPart_000_01BE38A8.751193E0
Content-Type: application/ms-tnef
Content-Transfer-Encoding: base64

eJ8+IiYMAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAENgAQAAgAAAAIAAgABBJAG
ABwBAAABAAAADAAAAAMAADADAAAACwAPDgAAAAACAf8PAQAAAEUAAAAAAAAAgSsfpL6jEBmdbgDd
AQ9UAgAAAABmb3J1bUBqc29mdHdhcmUuY29tAFNNVFAAZm9ydW1AanNvZnR3YXJlLmNvbQAAAAAe
AAIwAQAAAAUAAABTTVRQAAAAAB4AAzABAAAAFAAAAGZvcnVtQGpzb2Z0d2FyZS5jb20AAwAVDAEA
AAADAP4PBgAAAB4AATABAAAAFgAAACdmb3J1bUBqc29mdHdhcmUuY29tJwAAAAIBCzABAAAAGQAA
AFNNVFA6Rk9SVU1ASlNPRlRXQVJFLkNPTQAAAAADAAA5AAAAAAsAQDoBAAAAAgH2DwEAAAAEAAAA
AAAAAxs0AQiABwAYAAAASVBNLk1pY3Jvc29mdCBNYWlsLk5vdGUAMQgBBIABACQAAABSRTogSmZv
cnVtOiBNYWMgcnVudGltZSBmb3IgUG91c3NlPwA4DAEFgAMADgAAAM8HAQAFAAwAJQA4AAIARwEB
IIADAA4AAADPBwEABQAMAB8ABQACAA4BAQmAAQAhAAAAMkQwRkNFQjY4Q0E0RDIxMThCOUEyQ0Ex
RkZDMDAwMDAATgcBA5AGACAEAAASAAAACwAjAAEAAAADACYAAAAAAAsAKQABAAAAAwA2AAAAAABA
ADkAQB+BOKg4vgEeAHAAAQAAACQAAABSRTogSmZvcnVtOiBNYWMgcnVudGltZSBmb3IgUG91c3Nl
PwACAXEAAQAAABsAAAABvjiMlM691DdvpHsR0ouaLKH/wAAAAAaruvEAHgAeDAEAAAAFAAAAU01U
UAAAAAAeAB8MAQAAABAAAABnb3NpQGNlbnRydW0uaXMAAwAGEKc7T1YDAAcQJgIAAB4ACBABAAAA
ZQAAAEZST006QkpPUk5HSEVMR0FTT05TTVRQOkdPU0lAQ0VOVFJVTUlTSU5CT09USUpTSUNIQU5H
RURPTkVMSU5FTkJDT05GSUdVUkVKQ0ZHME5CUkVNT1ZFVEhFTElORUJZQ09NTUUAAAAAAgEJEAEA
AACcAgAAmAIAAAUFAABMWkZ15NZ+x/8ACgEPAhUCqAXrAoMAUALyCQIAY2gKwHNldDI3BgAGwwKD
MgPFAgBwckJxEeJzdGVtAoMzdwLkBxMCgH0KgAjPCdk78RYPMjU1AoAKgQ2xC2BAbmcxMDM5Cv8x
VjYMIRNQbxPQYwVARj0DYToK4RnrGtYMgiBCBmoFsAOgRy4gSGUQbGdhcwIgW1NNIFRQOmdvAJBA
Y0EJ8HRydW0uBABd4QqLbGkzNg3wC1UUUeUL8mMAQCA+G6chhRrWXQuAIAbgGvAfoGoEIEkuIBFx
GRAJgCACIGUgPyCwJTEKhyEvIj8a1k5CQx3gBaBuZmlnCHBlxF9qJxBnXyAN8B0yLyp0KOIWEARg
diVAdGjpJUVieSkRbQeAAjALgO5nI7AFQAhgdB/vIP0lqEMLGSapSWYgeQhgIOZ3AHAFQHRvK4ID
oDGS8mMDkWp1E8AklSuDI/LeIAT1LCEWEAtRYyzCK5LvL3UlYwPwK5A6L3UvdQhQKSlAUlQptD0b
kDMgAxuQCnZyPS53ZCc6cQAgJy91BpArASAtARuQLCcxJyBkb94uL3Uq4zIgLUAnH3Asod8HgDom
HhARsDuvJw2wK2A9FaBwLII6JikvPUZuZG099ik3DzgXJzomL3VU6zJmA/BsAyBiJUATwArATyyz
K5I/GUGxdmkDYG7vR3M2siuDQEZhLLACIDo30zGDRjMgcDMwbCQzNrL7LTErgy9K8QBwJQA8wSOy
tzzFSkY7iEFMwQCQbQMQ3wrAAxAsMAIgK4NNANAsEp07gHUCYEjxLjBjayzC/0/lSylF0UYzL3VG
z0ffSO7/TKNQzi91T+FLJQXAUsgrgz9NZitgEaBJsT32L3UvRxce8S91FTEAXUADABAQAAAAAAMA
ERAAAAAAQAAHMGBnZEOnOL4BQAAIMGBnZEOnOL4BHgA9AAEAAAAFAAAAUkU6IAAAAABbJw==

------ =_NextPart_000_01BE38A8.751193E0--

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

From owner-jsoftware@lists.interlog.com  Tue Jan  5 11:22:44 1999
From: "Nichols, Peter" <pnichols@sprinc.com>
Subject: Jforum: Reading an Excell Spreadsheet
Date: Tue, 5 Jan 1999 09:44:35 -0600

Does anyone out there have a function that will read an entire Excel
Spreadsheet into a boxed array?  Or can someone point me a direction?
The XL utilities seem to be for calling J from Excel.  Thanks.

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

From owner-jsoftware@lists.interlog.com  Tue Jan  5 12:17:52 1999
From: "Nichols, Peter" <pnichols@sprinc.com>
Subject: Jforum: Reading Excel Spreadsheets
Date: Tue, 5 Jan 1999 10:49:17 -0600
	charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by lists.interlog.com id LAA19663

I'm trying to read this spreadsheet and here's what I'm getting.  What
am I missing?

Thanks.
Pete

xlopen 's:\spr\test.xls'
".&> xlreadr 's:\spr\test.xls USA 1 1 20 20'
�domain error: wd
�       xlcmd'base run ',jm,'!',y.

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

From owner-jsoftware@lists.interlog.com  Tue Jan  5 15:10:35 1999
From: "Nichols, Peter" <pnichols@sprinc.com>
Subject: RE: Jforum: Reading Excel Spreadsheets
Date: Tue, 5 Jan 1999 13:51:57 -0600
	charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by lists.interlog.com id OAA19981

Since playing with the xl functions, when I open the project manager it
only minimizes down on the toolbar.  I can only open it maximized by
right clicking.  I can't restore it to normal size.  I have cold booted
since then and it still seems to be stuck.  What gives?    Thanks

	-----Original Message-----
	From:	Nichols, Peter [SMTP:pnichols@sprinc.com]
	Sent:	Tuesday, January 05, 1999 10:49 AM
	To:	'forum@jsoftware.com'
	Subject:	Jforum: Reading Excel Spreadsheets

	I'm trying to read this spreadsheet and here's what I'm getting.
What
	am I missing?

	Thanks.
	Pete

	xlopen 's:\spr\test.xls'
	".&> xlreadr 's:\spr\test.xls USA 1 1 20 20'
	�domain error: wd
	�       xlcmd'base run ',jm,'!',y.

------------------------------------------------------------------------
--------
	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 Jan  5 16:42:06 1999
From: "John D. Baker" <bakerjd@kos.net>
Subject: Re: Jforum: Reading an Excell Spreadsheet
Date: Tue, 5 Jan 1999 16:26:36 -0500
	charset="iso-8859-1"

Peter,

>Does anyone out there have a function that will read an entire Excel
>Spreadsheet into a boxed array?  Or can someone point me a direction?
>The XL utilities seem to be for calling J from Excel.  Thanks.

There are three basic ways to dothis depending on the complexity and
size of your spreadsheet.

1) For simple transfers from Excel to J you can use cut and paste.  The
EXCEL data comes in as character data with TABS delimiting cells
and CRLF marking the ends of lines.  The primitive J cut ;. conjunction
can easily slice and dice such text.  There are a number of cut utilities
in the standard libraries like (cutopen) that you can also use.

2) A related method firsts exports the data from Excel as a *.csv file.
The *.csv file is essentially in the same format as the clipboard with
commas replacing tabs as cell delimiters.  The same cut based
parsing techniques work on this data.

The following verb can be used for (1,2)

parsecsv =: 3 : 0
',' parsecsv y.
:
'separater cannot be the " character' assertmsg -. x. -: '"'

NB. CRLF delimited *.csv text to char table
y. =.  x. ,. ];._2 y. -. CR

NB. bit mask of unquoted " field delimiters
b  =. -. }. ~:/\ '"' e.~  ' ' , , y.
b  =. ($y.) $ b *. , x. = y.

NB. use masks to cut lines
b <;._1"1 y.
)

assertmsg =: [ 13!:8 ([: 0&e. ]) $ 12"_

3) The last method uses ODBC.  ODBC can only be used if your
spreadsheet is a simple table with a header row at the top of
homogeneous columns of data.  Unless the sheet is set
up in this format it's rare to find a garden variety spreadsheet
in this format.  The example spreadsheet:

\j40x\system\examples\data\jdata.xls

illustrates the format.   I'd suggest reading the  J user
manual about ODBC before giving this a try.

Hope this helps.

John D. Baker
bakerjd@kos.net

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

From owner-jsoftware@lists.interlog.com  Tue Jan  5 17:19:37 1999
From: "Nichols, Peter" <pnichols@sprinc.com>
Subject: RE: Jforum: Reading an Excell Spreadsheet
Date: Tue, 5 Jan 1999 16:02:16 -0600
	charset="iso-8859-1"

Not quite what I need.  I have to be able to automate the process of
reading in the spreadsheets.  The data is also (of course) not
homogenous by columns.  I would like something that I can call like
this...

data=:ReadXL 'c:\filename.xls sheetname 1 1 20 20'

The result would be a 20 by 20 matrix with <'' for each empty cell and
data for ones that are not empty.

Thanks, very much for any info...
Pete

	-----Original Message-----
	From:	John D. Baker [SMTP:bakerjd@kos.net]
	Sent:	Tuesday, January 05, 1999 3:27 PM
	To:	forum@jsoftware.com
	Subject:	Re: Jforum: Reading an Excell Spreadsheet

	Peter,

	>Does anyone out there have a function that will read an entire
Excel
	>Spreadsheet into a boxed array?  Or can someone point me a
direction?
	>The XL utilities seem to be for calling J from Excel.  Thanks.

	There are three basic ways to dothis depending on the complexity
and
	size of your spreadsheet.

	1) For simple transfers from Excel to J you can use cut and
paste.  The
	EXCEL data comes in as character data with TABS delimiting cells
	and CRLF marking the ends of lines.  The primitive J cut ;.
conjunction
	can easily slice and dice such text.  There are a number of cut
utilities
	in the standard libraries like (cutopen) that you can also use.

	2) A related method firsts exports the data from Excel as a

	The *.csv file is essentially in the same format as the
clipboard with
	commas replacing tabs as cell delimiters.  The same cut based
	parsing techniques work on this data.

	The following verb can be used for (1,2)

	parsecsv =: 3 : 0
	',' parsecsv y.
	:
	'separater cannot be the " character' assertmsg -. x. -: '"'

	NB. CRLF delimited *.csv text to char table
	y. =.  x. ,. ];._2 y. -. CR

	NB. bit mask of unquoted " field delimiters
	b  =. -. }. ~:/\ '"' e.~  ' ' , , y.
	b  =. ($y.) $ b *. , x. = y.

	NB. use masks to cut lines
	b <;._1"1 y.
	)

	assertmsg =: [ 13!:8 ([: 0&e. ]) $ 12"_

	3) The last method uses ODBC.  ODBC can only be used if your
	spreadsheet is a simple table with a header row at the top of
	homogeneous columns of data.  Unless the sheet is set
	up in this format it's rare to find a garden variety spreadsheet
	in this format.  The example spreadsheet:

	\j40x\system\examples\data\jdata.xls

	illustrates the format.   I'd suggest reading the  J user
	manual about ODBC before giving this a try.

	Hope this helps.

	John D. Baker
	bakerjd@kos.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 Jan  5 18:38:52 1999
From: "Chris Burke" <cdburke@interlog.com>
Subject: Re: Jforum: Reading Excel Spreadsheets
Date: Tue, 5 Jan 1999 18:29:10 -0500
	charset="iso-8859-1"
Content-Transfer-Encoding: 8bit

Peter Nichols writes:
>I'm trying to read this spreadsheet and here's what I'm getting.  What
>am I missing?
>
>xlopen 's:\spr\test.xls'
>".&> xlreadr 's:\spr\test.xls USA 1 1 20 20'
>�domain error: wd
>�       xlcmd'base run ',jm,'!',y.

Peter,

There are a number of steps needed between open and read. See the example in
system\examples\ole\excel\xldemo.ijs. If you have not already done so,
download the current version of this directory from
http://www.jsoftware.com/scripts.htm

Chris

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

From owner-jsoftware@lists.interlog.com  Tue Jan  5 18:41:45 1999
From: "Chris Burke" <cdburke@interlog.com>
Subject: Re: Jforum: Reading Excel Spreadsheets
Date: Tue, 5 Jan 1999 18:25:58 -0500
	charset="iso-8859-1"

>Since playing with the xl functions, when I open the project manager it
>only minimizes down on the toolbar.  I can only open it maximized by
>right clicking.  I can't restore it to normal size.  I have cold booted
>since then and it still seems to be stuck.  What gives?    Thanks

I dont really understand this and suspect that the "restore" size is either
very small or very large, and hence confused with minimized or maximized. If
this is the case, the problem is easily fixed.

The Project Manager dialog is one of several "sticky" dialogs that remember
their position when last used. The information for this is found in the
global WINPOS_j_ and stored on file in system\extras\config\winpos.ijs. If
you want to reset the position for projectmanager or other form, you can do
this by either:

1. resize the form, then close it

2. to clear the settings for a single form:

   wpreset_j_ 'formname'

For projectmanager this would be:

  wpreset_j_ 'jprojectform'

3. to clear the settings for all forms:

  wpreset_j_ ''

You can use these facilities for your own forms, see the "wp..." verbs
defined in jadelib.ijs.

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

From owner-jsoftware@lists.interlog.com  Wed Jan  6 00:26:12 1999
From: "Seymour Glass" <glasss@mindspring.com>
Subject: Jforum: How do I make sense of J's OpenGL constants? (repost from comp.lang.apl)
Date: Wed, 6 Jan 1999 00:12:37 -0500

I stupidly posted this to comp.lang.apl, without reply.
I'm posting it to its rightful forum here.

------

I want to write a pixel array in OpenGL.  I have my OpenGL spec
fresh off the SGI Web site, and I try to issue

  DrawPixels (width,height,format,type,data)

which, according to the example, is something like

  glDrawPixels (100 100,GL_RGBA,GL_INT);d

Doing some poking around, I find that d in this example is
40000 items long, so I suspect that each item of d is one
color component, and that GL_RGBA corresponds to the
spec's format=RGBA, and GL_INT corresponds to the
spec's type=INT.  So far so good.

My source data has pixels in RGB format, one item per pixel.

I want to set format=RGBA and type=UNSIGNED_INT_8_8_8_8_REV.

I see nothing in the system\main\gl3.ijs file that resembles this,
and I can't figure out how to specify this pixel format.
Is there a systematic way to translate the dozens of OpenGL constants
to their J equivalents?  The J constants seem to have a type and value
embedded into one number, so a list of the type codes would be
helpful too.

Henry Rich

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

From owner-jsoftware@lists.interlog.com  Wed Jan  6 07:12:01 1999
From: "Bjorn G. Helgason" <gosi@centrum.is>
Subject: Jforum: Elementary question
Date: Wed, 6 Jan 1999 11:51:49 -0000

I have one simple thing I want to do in one line

ListLocale=: 3 : 0
   a=.y.{,;:names 6
   names__a''
)
ListLocale 0    NB. This one works fine

The question is how do I do this in one line?

Something like this:

ListLocale2=: 3 : 0
   names__(y.{,;:names 6)''
)
ListLocale2 0  NB. This one is missing something

/Gosi

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

From owner-jsoftware@lists.interlog.com  Wed Jan  6 11:43:33 1999
From: "J Tibollo" <jtibollo@backassociates.com>
Subject: Re: Jforum: Elementary question
Date: Wed, 6 Jan 1999 11:31:01 -0500
	charset="iso-8859-1"

Gosi:

How about this:

 listlocale=: 3 : 0
     ". 'names_',(>y.{,;:names 6),'_ '''''
)

Regards,
Joe

-----Original Message-----
From: Bjorn G. Helgason <gosi@centrum.is>
Date: Wednesday, January 06, 1999 6:54 AM
Subject: Jforum: Elementary question

>I have one simple thing I want to do in one line
>
>ListLocale=: 3 : 0
>   a=.y.{,;:names 6
>   names__a''
>)
>ListLocale 0    NB. This one works fine
>
>The question is how do I do this in one line?
>
>Something like this:
>
>ListLocale2=: 3 : 0
>   names__(y.{,;:names 6)''
>)
>ListLocale2 0  NB. This one is missing something
>
>/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  Wed Jan  6 12:20:08 1999
From: "Bjorn G. Helgason" <gosi@centrum.is>
Subject: RE: Jforum: Elementary question
Date: Wed, 6 Jan 1999 17:08:48 -0000
Content-Type: multipart/mixed; boundary="---- =_NextPart_000_01BE3998.434721E0"

------ =_NextPart_000_01BE3998.434721E0

From: J Tibollo[SMTP:jtibollo@backassociates.com]
> How about this:
>
>  listlocale=: 3 : 0
>      ". 'names_',(>y.{,;:names 6),'_ '''''
> )

This works in one line but it is not the line I am looking for

Number one: I want indirect addressing to the locale ( __ )
Number two: I do not want to use execute ( ". )

I think I have seen the solution to this but I am not sure.

/Gosi

------ =_NextPart_000_01BE3998.434721E0
Content-Type: application/ms-tnef
Content-Transfer-Encoding: base64

eJ8+Ig4RAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAENgAQAAgAAAAIAAgABBJAG
ABwBAAABAAAADAAAAAMAADADAAAACwAPDgAAAAACAf8PAQAAAEUAAAAAAAAAgSsfpL6jEBmdbgDd
AQ9UAgAAAABmb3J1bUBqc29mdHdhcmUuY29tAFNNVFAAZm9ydW1AanNvZnR3YXJlLmNvbQAAAAAe
AAIwAQAAAAUAAABTTVRQAAAAAB4AAzABAAAAFAAAAGZvcnVtQGpzb2Z0d2FyZS5jb20AAwAVDAEA
AAADAP4PBgAAAB4AATABAAAAFgAAACdmb3J1bUBqc29mdHdhcmUuY29tJwAAAAIBCzABAAAAGQAA
AFNNVFA6Rk9SVU1ASlNPRlRXQVJFLkNPTQAAAAADAAA5AAAAAAsAQDoBAAAAAgH2DwEAAAAEAAAA
AAAAAxs0AQiABwAYAAAASVBNLk1pY3Jvc29mdCBNYWlsLk5vdGUAMQgBBIABACAAAABSRTogSmZv
cnVtOiBFbGVtZW50YXJ5IHF1ZXN0aW9uAGwLAQWAAwAOAAAAzwcBAAYAEQAIADAAAwApAQEggAMA
DgAAAM8HAQAGABAAOAAFAAMALQEBCYABACEAAAAwODc4RTY1ODg4QTVEMjExOEI5QTJDQTFGRkMw
MDAwMAAXBwEDkAYAjAMAABIAAAALACMAAQAAAAMAJgAAAAAACwApAAEAAAADADYAAAAAAEAAOQBg
PoM5lzm+AR4AcAABAAAAIAAAAFJFOiBKZm9ydW06IEVsZW1lbnRhcnkgcXVlc3Rpb24AAgFxAAEA
AAAWAAAAAb45lzj8WOZ4CaWIEdKLmiyh/8AAAAAAHgAeDAEAAAAFAAAAU01UUAAAAAAeAB8MAQAA
ABAAAABnb3NpQGNlbnRydW0uaXMAAwAGEHvt5QIDAAcQEAEAAB4ACBABAAAAZQAAAEZST006SlRJ
Qk9MTE9TTVRQOkpUSUJPTExPQEJBQ0tBU1NPQ0lBVEVTQ09NSE9XQUJPVVRUSElTOkxJU1RMT0NB
TEU9OjM6MCJOQU1FUywoWSw7Ok5BTUVTNiksKVRISVNXT1IAAAAAAgEJEAEAAAAOAgAACgIAAOUD
AABMWkZ1c0wYYf8ACgEPAhUCqAXrAoMAUALyCQIAY2gKwHNldDI3BgAGwwKDMgPFAgBwckJxEeJz
dGVtAoMzdwLkBxMCgH0KgAjPCdk78RYPMjU1AoAKgQ2xC2BAbmcxMDM5Cv8xVjYMIRNQbxPQYwVA
Rj0DYToK4RnrGtYMgiBKDiAHYAbhFaBbU01UkFA6anQdpEBiANBka2EEEG9jBzAT0HMSLgWgbV0K
i2xpM142DfALVRRRC/JjAEAgzj4bpyHFGtZIbwfgAaDTCGAFQHRoBAA6Cochb98ifxrWJP8mDycf
ICDwE8AlFaBjB0BlPRuQMyA/G5AKeCi/Kc8q1y+iIi4QICduYQeBXycsACg+eS5ceyw7AjowQyA2
KSwnX98wIDISLI8tny6vKTJvC+KXKBgLGTNZVCSxIHcFsNZrBCALgCACIGUrUTnh2mIkcWk6gQQg
bhrwJJEVOfVJJDBtK1Bvb2t5C4BnIAIQBcA3BTcFTr51BtAEkDnCG5A70HcAcDE6gW5kaRYQGyFh
ZM5kFhAEEDxidG87NCuzcCAoIF8x8DWWPcV0ezlAPmJkQEA7Aj6jQDF18RGwIGV4BZAkcEDyMAHP
NZY3BTvQJKFuazvBEYD+djnwEbAJ8DszH1AKQB5wvwIgQCQ5ETpiO9M7AnMIcMRlLjzsL0dvAJA3
BQUVMQBLQAAAAwAQEAAAAAADABEQAAAAAEAABzAgA0RzlTm+AUAACDAgA0RzlTm+AR4APQABAAAA
BQAAAFJFOiAAAAAAnO0=

------ =_NextPart_000_01BE3998.434721E0--

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

From owner-jsoftware@lists.interlog.com  Wed Jan  6 14:04:21 1999
Date: Wed, 6 Jan 1999 19:27:41 +0100 (MET)
From: Martin Neitzel <neitzel@gaertner.de>
Subject: Jforum: Comparative Language Evaluation paper, covering J

There just appeared a _very_ good article on the web:

D.McClain:  A Comparison of Programming Languages for Scientific Processing

http://www.azstarnet.com/~dmcclain/LanguageStudy.html

This article is of the "scientific/practical" flavour and very well
done.  The author describes his catalogue of evaluation criteria
and subjects various languages to them:

	IDL, C/C++, Fortran, Dylan, SML, CAML, Erlang, Clean,
	Haskell, Lisp, Mathematica, J

It concludes with the Final Abstractness Scores for Candidate Languages.

							Martin

PS:  After reading the author's job descriptions I'd say that
J can now officially termed not just "an extremely cool language"
but also as "rocket science" ;-)

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

From owner-jsoftware@lists.interlog.com  Wed Jan  6 14:34:23 1999
Date: Wed, 6 Jan 1999 20:16:31 +0100 (MET)
From: Martin Neitzel <neitzel@gaertner.de>
Subject: Jforum: simple 15!: demo available

I just posted a short announcement to the "juggle" mailing list,
but it occured to me only now that also non-Unixers might find the
info helpful.  So here I go again:

	The http://juggle.gaertner.de/ pages now feature a minimalistic
	example how to use 15!:-based calls to dynamic libraries.  The
	library used for the example is the standard TCL 8.0 library.
	The example is an annotated session log and intentionally simple
	(rather than elegant).

BTW, tcl and tk dlls are also available for Windows, the sample J code
is absolutely portable across Unix and Windows.

							Martin

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

From owner-jsoftware@lists.interlog.com  Wed Jan  6 16:35:08 1999
From: "Bjorn G. Helgason" <gosi@centrum.is>
Subject: RE: Jforum: simple 15!: demo available
Date: Wed, 6 Jan 1999 20:18:08 -0000
Content-Type: multipart/mixed; boundary="---- =_NextPart_000_01BE39BB.93C9DC20"

------ =_NextPart_000_01BE39BB.93C9DC20

From: Martin Neitzel[SMTP:neitzel@gaertner.de]
> I just posted a short announcement to the "juggle" mailing list,
> but it occured to me only now that also non-Unixers

How do I get on to this "juggle" mailing list?

/Gosi

------ =_NextPart_000_01BE39BB.93C9DC20
Content-Type: application/ms-tnef
Content-Transfer-Encoding: base64

eJ8+IgEVAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAENgAQAAgAAAAIAAgABBJAG
ABwBAAABAAAADAAAAAMAADADAAAACwAPDgAAAAACAf8PAQAAAEUAAAAAAAAAgSsfpL6jEBmdbgDd
AQ9UAgAAAABmb3J1bUBqc29mdHdhcmUuY29tAFNNVFAAZm9ydW1AanNvZnR3YXJlLmNvbQAAAAAe
AAIwAQAAAAUAAABTTVRQAAAAAB4AAzABAAAAFAAAAGZvcnVtQGpzb2Z0d2FyZS5jb20AAwAVDAEA
AAADAP4PBgAAAB4AATABAAAAFgAAACdmb3J1bUBqc29mdHdhcmUuY29tJwAAAAIBCzABAAAAGQAA
AFNNVFA6Rk9SVU1ASlNPRlRXQVJFLkNPTQAAAAADAAA5AAAAAAsAQDoBAAAAAgH2DwEAAAAEAAAA
AAAAAxs0AQiABwAYAAAASVBNLk1pY3Jvc29mdCBNYWlsLk5vdGUAMQgBBIABACcAAABSRTogSmZv
cnVtOiBzaW1wbGUgMTUhOiBkZW1vIGF2YWlsYWJsZQCvDAEFgAMADgAAAM8HAQAGABQAEgAIAAMA
DgEBIIADAA4AAADPBwEABgAUAA8ANAADADcBAQmAAQAhAAAAMjk3OEU2NTg4OEE1RDIxMThCOUEy
Q0ExRkZDMDAwMDAAGgcBA5AGABwDAAASAAAACwAjAAEAAAADACYAAAAAAAsAKQABAAAAAwA2AAAA
AABAADkAYLfWrLE5vgEeAHAAAQAAACcAAABSRTogSmZvcnVtOiBzaW1wbGUgMTUhOiBkZW1vIGF2
YWlsYWJsZQAAAgFxAAEAAAAWAAAAAb45sazFWOZ4KqWIEdKLmiyh/8AAAAAAHgAeDAEAAAAFAAAA
U01UUAAAAAAeAB8MAQAAABAAAABnb3NpQGNlbnRydW0uaXMAAwAGEKJk7cIDAAcQswAAAB4ACBAB
AAAAZQAAAEZST006TUFSVElOTkVJVFpFTFNNVFA6TkVJVFpFTEBHQUVSVE5FUkRFSUpVU1RQT1NU
RURBU0hPUlRBTk5PVU5DRU1FTlRUT1RIRSJKVUdHTEUiTUFJTElOR0xJU1QsQlVUSVQAAAAAAgEJ
EAEAAACVAQAAkQEAANwCAABMWkZ1tHPbY/8ACgEPAhUCqAXrAoMAUALyCQIAY2gKwHNldDI3BgAG
wwKDMgPFAgBwckJxEeJzdGVtAoMzdwLkBxMCgH0KgAjPCdk78RYPMjU1AoAKgQ2xC2DAbmcxMDM5
CvQM0HgxNDQN8AtVFFEL8mMFAEAgCotsaTE4MDkC0WktGfMZ3AvCMTarDCETUG8T0GMFQEYDYX46
CuEdqx6WDIIF0ArAdAMLgAexaXR6ZWxbQFNNVFA6biG0QJRnYQSQdCJwci4NsLJdG20zNhovGzE+
H2dDGrUelkkganUTwCAEcG8TwWQgYSBzJmgVsShgbm4IYG5jJxPgCfAFQHRvKbBoZQQgIiewZ2ds
ZSLOIADAAxALgGcgHDATwJ4sCock/yYPHpZidQVA4SHAIG9jYwhwKEEpwcMHgC8gbmx5ICkQB+Bl
KfBhKNFscynQKRBu1C1VAwB4BJBzI78kzdMbXCwfIEgwcWQp0CeQfmcRwDABKbQEACovKzM/0zQF
NAUvRygQaTQFFTECADqwAAAAAwAQEAAAAAADABEQAAAAAEAABzDAaJRbsTm+AUAACDDAaJRbsTm+
AR4APQABAAAABQAAAFJFOiAAAAAAN9I=

------ =_NextPart_000_01BE39BB.93C9DC20--

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

From owner-jsoftware@lists.interlog.com  Wed Jan  6 17:13:59 1999
From: "Seymour Glass" <glasss@mindspring.com>
Subject: Re: Jforum: Elementary question
Date: Wed, 6 Jan 1999 17:01:01 -0500

After some back and forth with Gosi I arrived at

(names@(''"_)@(18!:4) ([ 18!:4) (18!:5)@(''"_))  y.{,;:names 6

which is too wordy for his taste.  But I like it, because it means
that

(]:@(''"_)@(18!:4) ([ 18!:4) (18!:5)@(''"_))

would be a tacit  adverb that executes u. on the locale y., which is
something
I've long sought.

Henry Rich

-----Original Message-----
From: Bjorn G. Helgason <gosi@centrum.is>
Date: Wednesday, January 06, 1999 06:45
Subject: Jforum: Elementary question

>I have one simple thing I want to do in one line
>
>ListLocale=: 3 : 0
>   a=.y.{,;:names 6
>   names__a''
>)
>ListLocale 0    NB. This one works fine
>
>The question is how do I do this in one line?
>
>Something like this:
>
>ListLocale2=: 3 : 0
>   names__(y.{,;:names 6)''
>)
>ListLocale2 0  NB. This one is missing something
>
>/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  Wed Jan  6 18:13:25 1999
From: smillie@cs.ualberta.ca
Subject: Jforum: Some J papers
Date: Wed, 6 Jan 1999 16:01:49 -0700 (MST)

  The following four reports of mine are now
available, both as Postscript files for the
papers and as text files for the J scripts,
at
  http://www.cs.ualberta.ca/~smillie/Jpage.html

"Beginning J", 4 pp.

"J Companion for Statistical Calculations", 62 pp.

JSP: A J Statistical Package, Second Edition", 3 pp.

"J4.01 Windows Programming Examples", 12 pp.

Keith Smillie
smillie@cs.ualberta.ca

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

From owner-jsoftware@lists.interlog.com  Wed Jan  6 20:12:48 1999
Date: Thu, 7 Jan 1999 01:54:31 +0100 (MET)
From: Martin Neitzel <neitzel@gaertner.de>
Subject: RE: Jforum: simple 15!: demo available

Gosi>	How do I get on to this "juggle" mailing list?

(1)	http://juggle.gaertner.de/ml/  describes the 2 mailing lists
	and says how to get on the list.

(2)	At the same place is a simple search interface to query
	all earlier messages on the list.  It is regexp-based,
	so if you look for messages matching  "."  you'll get
	a complete overview.

(3)	For various reasons, the juggle mailing lists have a policy
	against the use of most MIME features, notably:
	- "multipart/attachments"  (including zipped J files/packages!)
	- "multipart/alternate"  (ie. content both in plaintext and html)
	- "application/whatever"

	The permitted exception is:  a single-part MIME type where
	with Content-Type: text/plain,  charset what you want but
	"us-ascii" strongly suggested,  Content-Transfer-Encoding:
	7bit, 8bit, or quoted-printable but 7bit recommended and
	I reserve the right to transform the Transfer-Encoding.

	So Gosi for example is free to send Icelandic strings without
	distortion.  He would however find the button which prevents
	his "application/ms-tnef" attachments.  I'm appending Gosi
	original question message so that it becomes clear what
	impact such msgs would have at, for example, the simple
	archive search.

(4)	If you do not have IP connectivity but just email, this
	will get you started:
	echo "help" |  mail juggle-request@gaertner.de

Due to lack of time I cannot explain right now my motivation to outlaw
zipped J code on this list.  Just include J fragments or files literally.

	foo =. 'like this'
	NB. Your editor and/or mouse will bwe very helpful.
	NB. Don't touch that dreaded "Attach File" button.

							Martin

And here the original mail with it's 1:55 signal to noise ratio.

> From owner-jsoftware@lists.interlog.com Wed Jan  6 22:28:06 1999
> From: "Bjorn G. Helgason" <gosi@centrum.is>
> To: "'forum@jsoftware.com'" <forum@jsoftware.com>
> Subject: RE: Jforum: simple 15!: demo available
> Date: Wed, 6 Jan 1999 20:18:08 -0000
>
>
> ------ =_NextPart_000_01BE39BB.93C9DC20
> Content-Type: text/plain; charset="us-ascii"
> Content-Transfer-Encoding: 7bit
>
>
> From: 	Martin Neitzel[SMTP:neitzel@gaertner.de]
> > I just posted a short announcement to the "juggle" mailing list,
> > but it occured to me only now that also non-Unixers
>
> How do I get on to this "juggle" mailing list?
>
> /Gosi
>
> ------ =_NextPart_000_01BE39BB.93C9DC20
> Content-Type: application/ms-tnef
> Content-Transfer-Encoding: base64
>
> eJ8+IgEVAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAENgAQAAgAAAAIAAgABBJAG
> ABwBAAABAAAADAAAAAMAADADAAAACwAPDgAAAAACAf8PAQAAAEUAAAAAAAAAgSsfpL6jEBmdbgDd
> AQ9UAgAAAABmb3J1bUBqc29mdHdhcmUuY29tAFNNVFAAZm9ydW1AanNvZnR3YXJlLmNvbQAAAAAe
> AAIwAQAAAAUAAABTTVRQAAAAAB4AAzABAAAAFAAAAGZvcnVtQGpzb2Z0d2FyZS5jb20AAwAVDAEA
> AAADAP4PBgAAAB4AATABAAAAFgAAACdmb3J1bUBqc29mdHdhcmUuY29tJwAAAAIBCzABAAAAGQAA
> AFNNVFA6Rk9SVU1ASlNPRlRXQVJFLkNPTQAAAAADAAA5AAAAAAsAQDoBAAAAAgH2DwEAAAAEAAAA
> AAAAAxs0AQiABwAYAAAASVBNLk1pY3Jvc29mdCBNYWlsLk5vdGUAMQgBBIABACcAAABSRTogSmZv
> cnVtOiBzaW1wbGUgMTUhOiBkZW1vIGF2YWlsYWJsZQCvDAEFgAMADgAAAM8HAQAGABQAEgAIAAMA
> DgEBIIADAA4AAADPBwEABgAUAA8ANAADADcBAQmAAQAhAAAAMjk3OEU2NTg4OEE1RDIxMThCOUEy
> Q0ExRkZDMDAwMDAAGgcBA5AGABwDAAASAAAACwAjAAEAAAADACYAAAAAAAsAKQABAAAAAwA2AAAA
> AABAADkAYLfWrLE5vgEeAHAAAQAAACcAAABSRTogSmZvcnVtOiBzaW1wbGUgMTUhOiBkZW1vIGF2
> YWlsYWJsZQAAAgFxAAEAAAAWAAAAAb45sazFWOZ4KqWIEdKLmiyh/8AAAAAAHgAeDAEAAAAFAAAA
> U01UUAAAAAAeAB8MAQAAABAAAABnb3NpQGNlbnRydW0uaXMAAwAGEKJk7cIDAAcQswAAAB4ACBAB
> AAAAZQAAAEZST006TUFSVElOTkVJVFpFTFNNVFA6TkVJVFpFTEBHQUVSVE5FUkRFSUpVU1RQT1NU
> RURBU0hPUlRBTk5PVU5DRU1FTlRUT1RIRSJKVUdHTEUiTUFJTElOR0xJU1QsQlVUSVQAAAAAAgEJ
> EAEAAACVAQAAkQEAANwCAABMWkZ1tHPbY/8ACgEPAhUCqAXrAoMAUALyCQIAY2gKwHNldDI3BgAG
> wwKDMgPFAgBwckJxEeJzdGVtAoMzdwLkBxMCgH0KgAjPCdk78RYPMjU1AoAKgQ2xC2DAbmcxMDM5
> CvQM0HgxNDQN8AtVFFEL8mMFAEAgCotsaTE4MDkC0WktGfMZ3AvCMTarDCETUG8T0GMFQEYDYX46
> CuEdqx6WDIIF0ArAdAMLgAexaXR6ZWxbQFNNVFA6biG0QJRnYQSQdCJwci4NsLJdG20zNhovGzE+
> H2dDGrUelkkganUTwCAEcG8TwWQgYSBzJmgVsShgbm4IYG5jJxPgCfAFQHRvKbBoZQQgIiewZ2ds
> ZSLOIADAAxALgGcgHDATwJ4sCock/yYPHpZidQVA4SHAIG9jYwhwKEEpwcMHgC8gbmx5ICkQB+Bl
> KfBhKNFscynQKRBu1C1VAwB4BJBzI78kzdMbXCwfIEgwcWQp0CeQfmcRwDABKbQEACovKzM/0zQF
> NAUvRygQaTQFFTECADqwAAAAAwAQEAAAAAADABEQAAAAAEAABzDAaJRbsTm+AUAACDDAaJRbsTm+
> AR4APQABAAAABQAAAFJFOiAAAAAAN9I=
>
> ------ =_NextPart_000_01BE39BB.93C9DC20--
>
>
> --------------------------------------------------------------------------------
> 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 Jan  6 20:23:21 1999
Date: Wed, 06 Jan 1999 19:03:27 -0600
From: Steven H Rogers <shrogers@ionet.net>
Organization: S H Rogers & Associates
Subject: Re: Jforum: simple 15!: demo available
References: <01BE39BB.936CC800@geisli-37.centrum.is>

"Bjorn G. Helgason" wrote:

> From:   Martin Neitzel[SMTP:neitzel@gaertner.de]
> > I just posted a short announcement to the "juggle" mailing list,
> > but it occured to me only now that also non-Unixers
>
> How do I get on to this "juggle" mailing list?
>
> /Gosi
>
>   ------------------------------------------------------------------------
>
>    Part 1.2    Type: application/ms-tnef
>            Encoding: base64

Purloined from "hhtp://juggle.gaertner.de".
"
... juggle@gaertner.de, the list for all kinds of messages about "J under
Unix". To subscribe, just send a message with the line

subscribe youradress@your.site

in the message body (not the "Subject:") to juggle-request@gaertner.de. Your
successfull addition will be acknowledged
promptly.
"

There are some other good examples of J on Unix as well.

-- Steve

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

From owner-jsoftware@lists.interlog.com  Wed Jan  6 23:13:32 1999
Date: Wed, 06 Jan 1999 23:01:57 -0500
From: Murray Eisenberg <murray@math.umass.edu>
Organization: Mathematics & Statistics, Univ. of Mass./Amherst
Subject: Re: Jforum: Some J papers
References: <19990106230152Z13211-11899+304@scapa.cs.ualberta.ca>

Hello Keith,

I clicked on the URL in your posting to forum@jsoftware.com, and your
server replied, "The requested URL /~smillie/Jpage.html was not found on
this server."

smillie@cs.ualberta.ca wrote:
>
>   The following four reports of mine are now
> available, both as Postscript files for the
> papers and as text files for the J scripts,
> at
>   http://www.cs.ualberta.ca/~smillie/Jpage.html
>
> "Beginning J", 4 pp.
>
> "J Companion for Statistical Calculations", 62 pp.
>
> JSP: A J Statistical Package, Second Edition", 3 pp.
>
> "J4.01 Windows Programming Examples", 12 pp.
>
> Keith Smillie
> smillie@cs.ualberta.ca
>
> --------------------------------------------------------------------------------
> J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

--
  Murray Eisenberg                  Internet:  murray@math.umass.edu
  Mathematics & Statistics Dept.    Voice:  413-545-2859 (W)
  University of Massachusetts               413-549-1020 (H)
  Amherst, MA 01003                 Fax:    413-545-1801

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

From owner-jsoftware@lists.interlog.com  Thu Jan  7 04:11:34 1999
From: Ajith Prasad <burap@nus.edu.sg>
Subject: RE: Jforum: Some J papers
Date: Thu, 7 Jan 1999 16:48:58 +0800
Importance: high
X-Priority: 1
	charset="ISO-8859-1"

http://www.cs.ualberta.ca/~smillie/Jpage.htm works.

-----Original Message-----
From: Murray Eisenberg [mailto:murray@math.umass.edu]
Sent: Thursday, January 07, 1999 12:02 PM
Subject: Re: Jforum: Some J papers

Hello Keith,

I clicked on the URL in your posting to forum@jsoftware.com, and your
server replied, "The requested URL /~smillie/Jpage.html was not found on
this server."

smillie@cs.ualberta.ca wrote:
>
>   The following four reports of mine are now
> available, both as Postscript files for the
> papers and as text files for the J scripts,
> at
>   http://www.cs.ualberta.ca/~smillie/Jpage.html
>
> "Beginning J", 4 pp.
>
> "J Companion for Statistical Calculations", 62 pp.
>
> JSP: A J Statistical Package, Second Edition", 3 pp.
>
> "J4.01 Windows Programming Examples", 12 pp.
>
> Keith Smillie
> smillie@cs.ualberta.ca
>
>
----------------------------------------------------------------------------
----
> J Forum: for information about this list, see
http://www.jsoftware.com/forum.htm

--
  Murray Eisenberg                  Internet:  murray@math.umass.edu
  Mathematics & Statistics Dept.    Voice:  413-545-2859 (W)
  University of Massachusetts               413-549-1020 (H)
  Amherst, MA 01003                 Fax:    413-545-1801

----------------------------------------------------------------------------
----
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 Jan  7 04:25:07 1999
Date: Thu, 7 Jan 1999 10:12:17 +0100 (MET)
From: Martin Neitzel <neitzel@gaertner.de>
Subject: Re: Jforum: Some J papers

Hello Murray,

> http://www.cs.ualberta.ca/~smillie/Jpage.html
> The requested URL /~smillie/Jpage.html was not found on this server.

Just omit the trailing "l":  http://www.cs.ualberta.ca/~smillie/Jpage.htm
is fine.  (As is http://www.cs.ualberta.ca/~smillie/ ).

								Martin

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

From owner-jsoftware@lists.interlog.com  Thu Jan  7 05:38:44 1999
Date: Thu, 7 Jan 1999 12:22:43 +0200 (EET)
From: Oleg Kobchenko <gccinc@usa.net>
Subject: Re: Jforum: Elementary question
In-Reply-To: <01ce01be39c0$0ef390e0$23a056d1@seymourg>

Here is a message I sent to comp.lang.apl on 1998/06/07. This
very much resembles the problem.

I used a different approach: an explicit conjunction rather than
a tacit train as Greg Heil.

The principle problem is that, albeit the pride of J
implementation of OOP is the implicit switching of locales in
response to `__loc' or `_num_' syntax, as said in the Locales
Lab, there is no nice internal mecanism to deal with situations,
when `loc' or `num' are an array (collection) or even just a
reference (in case of named locales and a=.'locname' as
reference).

In all other OOP languages there is a familiar thing: if we have
a collection and the items have a common method, they can be
uniformly iterated over this method.

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

artificial polymorphism model as of J 401 (resent)

Here is a classic example from OOP.

The Locales and OOP labs introduced the syntax
convention

  name__obj -: name_numloc_,

where numloc is from nonnegative integers and
obj is the name of a noun, with the value of boxed numloc.

This is used to simulate references to object
instances in J 401.

The attached example urges the necessity to
generalize obj from a noun name to any expression
resulting in numloc.

-------------------------------------- shapes.txt
artificial polymorphism model as of J v401

directory: user\shapes

Load and try the example:

   load'user\shapes\shapes.ijs'
   report col

Then study it:

   open'user\shapes\shapes.ijs'

Relevant issues:
1. Is it possible to map an argument
   over verbs in a collection of objects ?
2. Is there a nicer way to express polymorphism ?
   Like it is done for field__obj <==> name_locale_ (1)
   Or like in JavaScript: obj.membfunc(par).func(par).field
   The idea is that in place of 'obj' in (1) there can be
   anything, not only a litteral name.
3. If it did not skip my attention, maybe it is worth while
   to generalize the syntax of (1) to allow for more
   intrinsic polymorphism rather than the examplified
   'artificial' one.

-------------------------------------- shapes.ijs
require'user\shapes\pshape.ijs'
require'user\shapes\psquare.ijs'
require'user\shapes\ptri.ijs'
require'user\shapes\pcircle.ijs'

NB. retrieve a noun from object
loc=: (,&'_'@[ ,&'_'@, ":@>@])
from=: ".@loc

NB. retrieve a verb from object
in=: conjunction def '((3 : (m. loc n.))0)y.'

NB. define a collection
col=: 0 0 conew 'pshape'
col=: col,1 0 conew 'psquare'
col=: col,0 2 conew 'ptri'
col=: col,3 4 conew 'pcircle'
col=: col,5 0 conew 'ptri'
col=: col,0 6 conew 'psquare'

NB. test retrieval mapped over collection
'x' from"_ 0 col
'y' from"_ 0 col
'y' (+&(from"_ 0&col)) 'x'
'y' (;&(from"_ 0&col)) 'x'

NB. test atom verbs
NB. `: can it be generalized to array of verbs?
NB. Like,
   x=:+:`-:`*:`%:
   (3 1{x) `: 0 (1 2 3)
   + ` (< +:`x)

'type' in (0{col) ''
'type' in (1{col) ''

report=: verb define
r=. ,:;:'No Type X Y'
for_i. i.#y. do.
  ri=.<'test' in (i{y.) i
  ri=.ri,<'type' in (i{y.) ''
  ri=.ri,<'x' from i{y.
  ri=.ri,<'test' in (i{y.) 'y' from i{y.
  r=. r,ri
end.
)
-------------------------------------- pshape.ijs
coclass'pshape'
create=:3 : 0
'x y'=: 2{.y.,0 0
empty''
)
destroy=:codestroy
type=: verb def '''shape'''
test=: 3 : 'y.'
-------------------------------------- pcircle.ijs
coclass'pcircle'
coextend'pshape'
create=: verb define
create_pshape_ f. y.
)
destroy=: verb define
destroy_pshape_ f. y.
)
type=: verb def '''circle'''
-------------------------------------- psquare.ijs
coclass'psquare'
coextend'pshape'
create=: verb define
create_pshape_ f. y.
)
destroy=: verb define
destroy_pshape_ f. y.
)
type=: verb def '''square'''
-------------------------------------- ptri.ijs
coclass'ptri'
coextend'pshape'
create=: verb define
create_pshape_ f. y.
)
destroy=: verb define
destroy_pshape_ f. y.
)
type=: verb def '''tri'''

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

From owner-jsoftware@lists.interlog.com  Thu Jan  7 07:41:48 1999
Date: Thu, 7 Jan 1999 14:29:30 +0200 (EET)
From: Oleg Kobchenko <gccinc@usa.net>
Subject: Re: Jforum: Elementary question
In-Reply-To: <Pine.LNX.4.04.9901071210490.18009-100000@spin.vl.net.ua>

On Thu, 7 Jan 1999, Oleg Kobchenko wrote:

> I used a different approach: an explicit conjunction rather than
> a tacit train as Greg Heil.

rather Henry Rich, oops.

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

From owner-jsoftware@lists.interlog.com  Thu Jan  7 08:48:33 1999
Date: Thu, 07 Jan 1999 08:30:06 -0500
From: Cliff Reiter <reiterc@lafvax.lafayette.edu>
Subject: Re: Jforum: Some J papers
Organization: Lafayette College
Content-type: text/plain; charset=us-ascii
References: <19990106230152Z13211-11899+304@scapa.cs.ualberta.ca>
 <369431B5.D1273B4A@math.umass.edu>

Try http://www.cs.ualberta.ca/~smillie/Jpage.htm instead

Murray Eisenberg wrote:
>
> Hello Keith,
>
> I clicked on the URL in your posting to forum@jsoftware.com, and your
> server replied, "The requested URL /~smillie/Jpage.html was not found on
> this server."
>
> smillie@cs.ualberta.ca wrote:
> >
> >   The following four reports of mine are now
> > available, both as Postscript files for the
> > papers and as text files for the J scripts,
> > at
> >   http://www.cs.ualberta.ca/~smillie/Jpage.html
> >

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

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

From owner-jsoftware@lists.interlog.com  Thu Jan  7 11:23:00 1999
From: smillie@cs.ualberta.ca
Subject: Jforum: Apologies!
Date: Thu, 7 Jan 1999 09:09:47 -0700 (MST)

 I'm sorry about the typo in the URL for
my J papers. As some persons pointed out,
the correct address is
  http://www.cs.ualberta.ca/~smillie/Jpage.htm
I hope I have it correct this time!

  Thanks to the people who sent messages to the
J forum.

Keith

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

From owner-jsoftware@lists.interlog.com  Thu Jan  7 12:40:30 1999
Date: Thu, 07 Jan 1999 12:25:22 -0500
From: Eric Iverson <eiverson@interlog.com>
Organization: Iverson Software Inc.
Subject: Re: Jforum: Elementary question
References: <Pine.LNX.4.04.9901071210490.18009-100000@spin.vl.net.ua>

Oleg Kobchenko wrote:
> In all other OOP languages there is a familiar thing: if we have
> a collection and the items have a common method, they can be
> uniformly iterated over this method.

In J OOP, given a collection of objects, you can't do:
   method__collection arg
and instead must do something like:
   for_i. collection do. method__i arg end.

We agree this is a shortcoming in J OOP and did consider these issues at
design time. We decided they introduced significant complexity and chose
to ignore them in order to more quickly release the current restricted
definition. We did look at it enough to convince ourselves that the
current specs do not rule out such extension in the future.

If you find yourself doing  < for_i. c do. m__i arg end. > a lot, it
might indicate a use of objects where arrays should be used. There might
be a better design for the application. Possibly the global state data
spread across the objects that requires iterations over object methods,
should be a single array (possibly in an object) that can be directly
manipulated as an array with the full power of J.

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

From owner-jsoftware@lists.interlog.com  Thu Jan  7 13:24:22 1999
From: "Seymour Glass" <glasss@mindspring.com>
Subject: Re: Jforum: Elementary question
Date: Thu, 7 Jan 1999 13:05:56 -0500

-----Original Message-----
From: Eric Iverson <eiverson@interlog.com>
Date: Thursday, January 07, 1999 12:27
Subject: Re: Jforum: Elementary question

>If you find yourself doing  < for_i. c do. m__i arg end. > a lot, it
>might indicate a use of objects where arrays should be used...

I have up to now used < for_i. c do. m__i arg end. > (legitimately,
I think: I have a collection of objects), and it has annoyed me
because (1) if I need the results, I have to collect them manually;
(2) it's not a tacit definition, and I like tacit definitions; (3) I
didn't learn J just to end up writing a bunch of damn loops.

But as a result of this thread I now have:

onx_z_ =: ((] ` ]:) `: 6) ~
inlocalesx_z_ =: ((((]: onx) 18!:4)~)"0 _ ([ 18!:4) (18!:5)@(''"_))

which lets me replace the loop with

c m inlocalesx arg

- all tacit, no execute - and I'm a happy man.

Henry Rich

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

From owner-jsoftware@lists.interlog.com  Thu Jan  7 14:28:56 1999
Date: Thu, 07 Jan 1999 20:15:38 +0200
From: Anssi  Seppala <anssi.seppala@enease.fi>
Subject: Re: Jforum: Some J papers
In-Reply-To: <19990106230152Z13211-11899+304@scapa.cs.ualberta.ca>
Content-Transfer-Encoding: 8bit

Is there any change to get these papers in RTF or TXT or Word-format? I
have no PS printers and no utility to view PS documents. I'm just a simple
WinNT user with MS Office 97.

Anssi

At 16:01 6.1.1999 -0700, you wrote:
>
>  The following four reports of mine are now
>available, both as Postscript files for the
>papers and as text files for the J scripts,

-------------------------------------------------------------------
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  Thu Jan  7 15:19:06 1999
From: "Randy MacDonald" <randy@godin.on.ca>
Subject: Re: Jforum: Some J papers
Date: Thu, 7 Jan 1999 15:07:39 -0500
	charset="iso-8859-1"
Content-Transfer-Encoding: 8bit

The Ghostscript freeware should run on your system.

check out .... http://www.cs.wisc.edu/~ghost/

-----Original Message-----
From: Anssi Seppala <anssi.seppala@enease.fi>
Date: January 7, 1999 3:48 PM
Subject: Re: Jforum: Some J papers

Is there any change to get these papers in RTF or TXT or Word-format? I
have no PS printers and no utility to view PS documents. I'm just a simple
WinNT user with MS Office 97.

Anssi

At 16:01 6.1.1999 -0700, you wrote:
>
>  The following four reports of mine are now
>available, both as Postscript files for the
>papers and as text files for the J scripts,

-------------------------------------------------------------------
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  Thu Jan  7 15:43:48 1999
Date: Thu, 7 Jan 1999 22:28:51 +0200 (EET)
From: Oleg Kobchenko <gccinc@usa.net>
Subject: Re: Jforum: Some J papers
In-Reply-To: <4.1.19990107201309.00b37890@pop.kolumbus.fi>
Content-Transfer-Encoding: 8BIT

Look for Ghostview. It is real breath of air for an NT
user needing to work with .ps. RTF is not the best choice.
.PDF maybe.

On Thu, 7 Jan 1999, Anssi Seppala wrote:

> Is there any change to get these papers in RTF or TXT or Word-format? I
> have no PS printers and no utility to view PS documents. I'm just a simple
> WinNT user with MS Office 97.
>
> Anssi
>
>
> At 16:01 6.1.1999 -0700, you wrote:
> >
> >  The following four reports of mine are now
> >available, both as Postscript files for the
> >papers and as text files for the J scripts,
>
> -------------------------------------------------------------------
> 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  Thu Jan  7 16:15:40 1999
Date: Thu, 7 Jan 1999 22:26:54 +0200 (EET)
From: Oleg Kobchenko <gccinc@usa.net>
Subject: Re: Jforum: Elementary question
In-Reply-To: <026301be3a68$64fd8a60$23a056d1@seymourg>

<quote author="Eric Iverson">
In J OOP, given a collection of objects, you can't do:
   method__collection arg
and instead must do something like:
   for_i. collection do. method__i arg end.

We agree this is a shortcoming in J OOP and did consider these
issues at
</quote>

And I do not agree that this is a shortcoming of J OPP.
Well, of course the for. loop is a shortcoming of programming
style, but with such technique as demonstrated by Henry Rich,
(and which may gradualy become a part of the sytax) J has a
potential to link the OOP with the `full power' of structured
processing. Just consider not only

  method__(obj1;obj2;obj3)

but also

  (meth1`meth2`meth3)__obj

The for. loop is the fate of procedural languages, where are
most implementations of OOP. J is functional, i.e. being able
to produce and amend methods on the fly (see examples). It
is also stucture bulk/scaled processing.

Eric Iverson is right, the is no reason to, as a saying goes,
shoot sparrows with a canon: when the data permits one shouldn't
indulge in objects unnecessarily.

But if it doesn't. If we have structures with only a few similar
properties, like GUI controls, like all these examples from
natural subject areas.

Well, in fact J will be able to use the best of the two worlds.
And with such structural power that was unseen before in the OOP
world.

On Thu, 7 Jan 1999, Seymour Glass wrote:

> From: Eric Iverson <eiverson@interlog.com>
>
> >If you find yourself doing  < for_i. c do. m__i arg end. > a lot, it
> >might indicate a use of objects where arrays should be used...

> I have up to now used < for_i. c do. m__i arg end. > (legitimately,
> I think: I have a collection of objects), and it has annoyed me
> because (1) if I need the results, I have to collect them manually;
> (2) it's not a tacit definition, and I like tacit definitions; (3) I
> didn't learn J just to end up writing a bunch of damn loops.

I can't help but totally concurr with these arguments.

> But as a result of this thread I now have:
>
> onx_z_ =: ((] ` ]:) `: 6) ~
> inlocalesx_z_ =: ((((]: onx) 18!:4)~)"0 _ ([ 18!:4) (18!:5)@(''"_))

When Bjorn's question first appeared I did think of using
`cocurrent' and it's counterpart in a tacit fassion as an
overt manifestation of what method__obj syntax is supposed
to do in the guts of J. But my common sense prevented me
from getting it finished reasoning with exhaustive overhead.
Henry Rich was bold enough and implemented it in an immaculately
compact solution.

His inlocalesx works in `rank' style and works best with
methods whose results are of the same shape, e.g.

  (nl 6) #@nl inlocalesx ''
  (nl 6) $@:>@nl inlocalesx ''   NB. (*)

A slightely different version will be needed for `boxed' or
`each' style to recover for a flaw in (*). Or simply
pad-box the method:

  (nl 6) <@$@:>@nl inlocalesx ''

In fact the polymorphism issue, which we were discussing here,
is tightly bound to another attribute of OOP: encapsulation, or
`iteration in depth'. And I believe that it is another advantage
of J to connect the implementation of OOP with namespaces
(locales). In K they had to build the whole namespace structure
in a fixed tree to provide for encapsulation with a powerful
`show' feature. I would suggest that in J the same result can be
achieved on the lightweight flat locale structure with recursive
incapsulation of objects, plus the ability to reference the same
instance from multiple embracing objects.

--
olegyk

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

From owner-jsoftware@lists.interlog.com  Thu Jan  7 16:18:11 1999
Date: Thu, 07 Jan 1999 23:00:23 +0200
From: Anssi  Seppala <anssi.seppala@enease.fi>
Subject: Re: Jforum: Some J papers
In-Reply-To: <009f01be3a79$61031b80$71307018@randomac.ns.on.rogers.wave.
 ca>

Thanks,
With GSview The papers are at least readable although the printing was not
succesfull forst time, but I will experiment.

Anssi

At 15:07 7.1.1999 -0500, you wrote:
>The Ghostscript freeware should run on your system.
>
>check out .... http://www.cs.wisc.edu/~ghost/

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

From owner-jsoftware@lists.interlog.com  Thu Jan  7 17:14:01 1999
From: Joseph Mann <mann@v-wave.com>
Subject: Re: Jforum: Some J papers
Date: Thu, 7 Jan 1999 14:46:31 -0700
References: <4.1.19990107225655.00b34a80@pop.kolumbus.fi>
Content-Transfer-Encoding: 8bit

Not wanting this to descend into a ghostscript forum but ...
the ps files wont print and frequently crash ghostscript because
of missing fonts.  This could be my fault - using linux and not
Windows - but it is a RedHat 5.1 standard distribution, for those that
care.

anybody else have this problem? I usually don't.

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

From owner-jsoftware@lists.interlog.com  Thu Jan  7 17:52:33 1999
From: "John D. Baker" <bakerjd@kos.net>
Subject: Re: Jforum: Some J papers
Date: Thu, 7 Jan 1999 15:10:15 -0500
	charset="iso-8859-1"

Keith,

>Is there any change to get these papers in RTF or TXT or Word-format? I
>have no PS printers and no utility to view PS documents. I'm just a simple
>WinNT user with MS Office 97.

I second that opinion.  Have you consided converting your
documents to adobe  *.pdf forrmat.  It's a short hop from postscript
to *.pdf.  Especially if you can pick up Acrobat distiller at
the heavily discounted "education" cost.
It seems *.pdf is becoming the standard format for
typeset documents on the web.

John Baker
bakerjd@kos.net

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

From ljdickey Fri Jan  8 12:37:36 1999
Subject: Re:  Jforum: Some J papers

I think that I can supply ".pdf" files for you, to save you
the inconvenience of doing conversions.  Would you like that?

Lee

From smillie@cs.ualberta.ca  Fri Jan  8 12:46:14 1999
Subject: Re: Jforum: Some J papers
From: smillie@cs.ualberta.ca
Date: Fri, 8 Jan 1999 10:45:46 -0700 (MST)
In-Reply-To: <199901081737.MAA02119@goedel.math.uwaterloo.ca> from "Lee Dickey" at Jan 8, 99 12:37:37 pm

Lee,
  Thanks for your message. I must be awfully
dense but I don't know what ".pdf" files are.
Also what conversions do you have in mind?

  My Postscript files were created with the
Apple Laserwriter driver in Windows 95. If
there's a better driver, I'd like to know.

  Compatibility is a problem, and anything
you can do to help will be greatly
appreciated.

Keith

From ljdickey Fri Jan  8 15:01:49 1999
Subject: Re: Jforum: Some J papers

Dear Keith,

PDF stands for "Portable Document Format". I believe that
it was invented by the Acrobat group at Adobe.

The Acrobat reader is free for the asking (you may download it).
Acrobat itself costs something.  However there are certain
conversion facilities that will take a postscript file (.ps)
and turn it into and acrobat file (.pdf).

I have used such a tool and have produced the four "pdf" files.
They are in the directory

	ftp://watserv1.uwaterloo.ca/languages/j/help/smillie/

along with several other things you created.

I suggest that you download these four files and put them in
your directory.  Then make these changes in your J page:

	http://www.cs.ualberta.ca/~smillie/Jpage.htm

Where you have these two lines:

	Postscript file: jbegin.pdf
	J4.01 script file: jbegin.ijs

add one more line so that it looks like this:

	Postscript file: jbegin.pdf
	Acrobat file: jbegin.pdf
	J4.01 script file: jbegin.ijs

Make sure the "anchor" or "link" is in place so that the "jbegin.pdf"
is clickable.
Do the same for the Companion, the Stat Pkg, and the Windows Examples,
by adding these lines in the right places:

	Acrobat file: jcomp.pdf
	Acrobat file: jsp.pdf
	Acrobat file: jwinex.pdf

(with the appropriate links).

Another hint:  If your machine "cs.ualberta.ca" is a unix machine,
add a link, so that the two names

	Jpage.htm
	Jpage.html

point to the same content.  The command to do this (on my unix machine) is

	ln Jpage.htm Jpage.html

You get one more entry in the list of files, but you don't take
up any more space on the disk drive.  That way, you won't have
to apologize to anyone if you give the "wrong" extender.

All the best,

Lee

From ljdickey@math.uwaterloo.ca  Fri Jan  8 15:01:50 1999
From: Lee Dickey <ljdickey@math.uwaterloo.ca>
Date: Fri, 8 Jan 1999 15:01:49 -0500 (EST)
Subject: Re: Jforum: Some J papers

Dear Keith,

PDF stands for "Portable Document Format". I believe that
it was invented by the Acrobat group at Adobe.

The Acrobat reader is free for the asking (you may download it).
Acrobat itself costs something.  However there are certain
conversion facilities that will take a postscript file (.ps)
and turn it into and acrobat file (.pdf).

I have used such a tool and have produced the four "pdf" files.
They are in the directory

	ftp://watserv1.uwaterloo.ca/languages/j/help/smillie/

along with several other things you created.

I suggest that you download these four files and put them in
your directory.  Then make these changes in your J page:

	http://www.cs.ualberta.ca/~smillie/Jpage.htm

Where you have these two lines:

	Postscript file: jbegin.pdf
	J4.01 script file: jbegin.ijs

add one more line so that it looks like this:

	Postscript file: jbegin.pdf
	Acrobat file: jbegin.pdf
	J4.01 script file: jbegin.ijs

Make sure the "anchor" or "link" is in place so that the "jbegin.pdf"
is clickable.
Do the same for the Companion, the Stat Pkg, and the Windows Examples,
by adding these lines in the right places:

	Acrobat file: jcomp.pdf
	Acrobat file: jsp.pdf
	Acrobat file: jwinex.pdf

(with the appropriate links).

Another hint:  If your machine "cs.ualberta.ca" is a unix machine,
add a link, so that the two names

	Jpage.htm
	Jpage.html

point to the same content.  The command to do this (on my unix machine) is

	ln Jpage.htm Jpage.html

You get one more entry in the list of files, but you don't take
up any more space on the disk drive.  That way, you won't have
to apologize to anyone if you give the "wrong" extender.

All the best,

Lee

From smillie@cs.ualberta.ca  Fri Jan  8 15:43:47 1999
Subject: Re: Jforum: Some J papers
From: smillie@cs.ualberta.ca
Date: Fri, 8 Jan 1999 13:43:38 -0700 (MST)
In-Reply-To: <199901082001.PAA03141@goedel.math.uwaterloo.ca> from "Lee Dickey" at Jan 8, 99 03:01:49 pm

Lee,
  Thanks for your reply. I was thinking that
your suggestion would lead to something like
you have just outlined. I'll attend to this
shortly.

Regards,
Keith

From owner-jsoftware@lists.interlog.com  Fri Jan  8 16:03:19 1999
From: "Seymour Glass" <glasss@mindspring.com>
Subject: Re: Jforum: Elementary question
Date: Fri, 8 Jan 1999 15:50:11 -0500

-----Original Message-----
From: Oleg Kobchenko <gccinc@usa.net>
Date: Thursday, January 07, 1999 15:27
Subject: Re: Jforum: Elementary question

>...Just consider not only
>
>  method__(obj1;obj2;obj3)
>
>but also
>
>  (meth1`meth2`meth3)__obj

Yes, that is what to shoot for.  The problem with the current syntax is
that the '__' above really needs to be a conjunction, akin to " or L:,
that produces a verb which executes u. in the locales given by n.
(or even v.); but __ already means something, so it can't be a
conjunction.  Maybe ISI will define an Object conjunction O:
that does what you want, so you could write

method O: (obj0,obj1,obj2) ''

  or

method@(''"_) O: ]  obj0,obj1,obj2

  or

(meth0 ` meth1 ` meth2 `: 0) O: (obj0,obj1,obj2) ''

Till then, I agree that what we have is pretty good.

Henry Rich

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

From owner-jsoftware@lists.interlog.com  Sat Jan  9 05:11:18 1999
From: "Bjorn G. Helgason" <gosi@centrum.is>
Subject: RE: Jforum: Elementary question
Date: Sat, 9 Jan 1999 10:04:59 -0000
Content-Type: multipart/mixed; boundary="---- =_NextPart_000_01BE3BB7.BD10C780"

------ =_NextPart_000_01BE3BB7.BD10C780

From: Seymour Glass[SMTP:glasss@mindspring.com]
>  Maybe ISI will define an Object conjunction O:
> that does what you want, so you could write
>
> method O: (obj0,obj1,obj2) ''
>
>   or
>
> method@(''"_) O: ]  obj0,obj1,obj2
>
>  or
>
> (meth0 ` meth1 ` meth2 `: 0) O: (obj0,obj1,obj2) ''

This sounds good to me.

As it turned out then my original question was not so elementary after all.
I thought that it was just me being stupid as usual not knowing how to do
this in a simple way.

It all started because I was thinking about listing not just names in a locale
but also some more information about the objects at the same time.
Something like having a command like ls and then give it options like
ls -lia and get more details. Just knowing the names of objects is not
always enough and it can be time consuming to manually issue for
example $ # etc on nouns to find their sizes when you have many objects
in a locale.

Many interesting answer came to follow my simple or not so simple
question. Thanks for all who contributed in the forum and others with
personal notes. There are obviously quite a few people reading the forum
who never contribute directly to the forum.

/Gosi

------ =_NextPart_000_01BE3BB7.BD10C780
Content-Type: application/ms-tnef
Content-Transfer-Encoding: base64

eJ8+IiMKAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAENgAQAAgAAAAIAAgABBJAG
ABwBAAABAAAADAAAAAMAADADAAAACwAPDgAAAAACAf8PAQAAAEUAAAAAAAAAgSsfpL6jEBmdbgDd
AQ9UAgAAAABmb3J1bUBqc29mdHdhcmUuY29tAFNNVFAAZm9ydW1AanNvZnR3YXJlLmNvbQAAAAAe
AAIwAQAAAAUAAABTTVRQAAAAAB4AAzABAAAAFAAAAGZvcnVtQGpzb2Z0d2FyZS5jb20AAwAVDAEA
AAADAP4PBgAAAB4AATABAAAAFgAAACdmb3J1bUBqc29mdHdhcmUuY29tJwAAAAIBCzABAAAAGQAA
AFNNVFA6Rk9SVU1ASlNPRlRXQVJFLkNPTQAAAAADAAA5AAAAAAsAQDoBAAAAAgH2DwEAAAAEAAAA
AAAAAxs0AQiABwAYAAAASVBNLk1pY3Jvc29mdCBNYWlsLk5vdGUAMQgBBIABACAAAABSRTogSmZv
cnVtOiBFbGVtZW50YXJ5IHF1ZXN0aW9uAGwLAQWAAwAOAAAAzwcBAAkACgAEADsABgAvAQEggAMA
DgAAAM8HAQAJAAkALwAZAAYANwEBCYABACEAAAA4QTE0NUQxMkE4QTdEMjExOEI5QTJDQTFGRkMw
MDAwMAAdBwEDkAYAEAYAABIAAAALACMAAQAAAAMAJgAAAAAACwApAAEAAAADADYAAAAAAEAAOQAA
T0yEtzu+AR4AcAABAAAAIAAAAFJFOiBKZm9ydW06IEVsZW1lbnRhcnkgcXVlc3Rpb24AAgFxAAEA
AAAWAAAAAb47t4QqEl0Ui6eoEdKLmiyh/8AAAAAAHgAeDAEAAAAFAAAAU01UUAAAAAAeAB8MAQAA
ABAAAABnb3NpQGNlbnRydW0uaXMAAwAGEFOQaVADAAcQmgMAAB4ACBABAAAAZQAAAEZST006U0VZ
TU9VUkdMQVNTU01UUDpHTEFTU1NATUlORFNQUklOR0NPTU1BWUJFSVNJV0lMTERFRklORUFOT0JK
RUNUQ09OSlVOQ1RJT05POlRIQVRET0VTV0hBVFlPVVdBTlQAAAAAAgEJEAEAAACRBAAAjQQAAM8I
AABMWkZ1WEFC7P8ACgEPAhUCqAXrAoMAUALyCQIAY2gKwHNldDI3BgAGwwKDMgPFAgBwckJxEeJz
dGVtAoMzdwLkBxMCgH0KgAjPCdk78RYPMjU1AoAKgQ2xC2DAbmcxMDM5CvQM0HgxNDQN8AtVFFEL
8mMFAEAgCotsaTE4MDkC0WktGfMZ3AvCMTarDCETUG8T0GMFQEYDYf46CuEdqx6WDIIGUQbACGEM
IEcLYAQQW1NNVIhQOmchwnNAbQuATGRzE1ALgGcuBaBtsl0bbTM2Gi8bMT4k7QMelieATWF5YmUg
0ElTSSAD8GwDIA2xxwuAJ/ADkU9iah7SBaDQbmp1bh7gaQIgKTC2OiTvG0c+H2cmrXQRgKkFQGRv
B5F3LdJ5CGCDKEAAcHQsIHNvLqPxBaB1bGQoQAUQE9AKh/8qvyw/HpYwfzGPMp8HgC3AIwRwKmEg
KG8pUDAsBTeBMTfCMikgJyf/M680uSvPJq8FsDivNL87X088rz2/Ps821EAoOIAi9l84YDdBXTxh
N5s/30Dv/0H/RS8ljztvPH9GD0o/SC8XTJ9Nrx7hKDbSMCBgrzbDG0BShBHgYB9QMEPDPzd/OIkk
XysUG1xPbyBUHmgEAC9BKfAjACBnb203EXQvYAeALhtWV1VB/wQgMEAtsAhwKOAwAAhgLaLLCfA2
wHlLgWlnC4AHQHwgcQpQE8AqMi7wBCBucx6wL0JlbBPgCfABkHL9XRBhAYAEkCkAKHBapygw8Tbx
dWdoLaVb0V5SKeB7E8A2wSAn4CNBL0BcAHBuaTAAXmFiQHVdkV6Sa/9ekAPwYuE3AAfgWlEuEBtW
/y3AWWELgCkAL0AHcAtQJ/D1LvB5Wq5JBUBgEWMBCsDnE9AwACfgY2FiQCfxXkP5ZeFua2LSAaBc
chwwXfH/YuFekmIzXYAHgmYzFaBpMPtfEFdVYlyBB0AvUS9QYoHvBGAWEGYhAhByAMAqI2qEv1yx
RDIe0QQgLeFvwnNsAfctsAdxWqdTbhFp8mLwHDC2ayfwEYB2akMpoW0DgX8wAHKzbcApAVoxXMJd
YHb7boEFQG8FMCoxBCBysldV3XRhLRwwZmBz0mcRwG5E1w2wAZADEHNaoEpiQmRW82/Ca/RvZm/3
WWFekVdV/wdAZvEEIAnwYRJ0g1vRaTD/A6An4XFCKaJjwCLReWFaYbsAcGPRbF0QBAEKUCBuwRkb
VmV4bABmsiQgI/le8HRjS4ADoHwhBjFaUdsowXSzaQXAAJB6LjNc0f8usnMBbjEAcF0RcBVXVWxZ
/i5azCewg/ELgF/RXeJqUv0AgHdf4WkwcRKBwQbwFaD/B+BdAWaFBbFelWaEV1VdxvdaoFlAAHBr
BCB/cmhSLmD7L2ApsXQFEG1xXEFmMW/C/27BffB0gx6wXMARoChBLcD9V1VwjwECIGPkB5CLsocx
3ykAbnFUIHMgCGBzfuFdwPswQWZRZgfRj/B1oGbBFhD8YWR5Ro4zV1WMwijgdUD/iBGNFyiQgmAe
0X7hWlGN93GFzS9HbwCQWswVMQABmeAAAAADABAQAAAAAAMAERAAAAAAQAAHMIBTwQ+1O74BQAAI
MIBTwQ+1O74BHgA9AAEAAAAFAAAAUkU6IAAAAADq+w==

------ =_NextPart_000_01BE3BB7.BD10C780--

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

From owner-jsoftware@lists.interlog.com  Sat Jan  9 06:45:34 1999
From: "Bjorn G. Helgason" <gosi@centrum.is>
Subject: RE: Jforum: Elementary question
Date: Sat, 9 Jan 1999 11:43:59 -0000
Content-Type: multipart/mixed; boundary="---- =_NextPart_000_01BE3BC5.9A91E000"

------ =_NextPart_000_01BE3BC5.9A91E000

From: Seymour Glass[SMTP:glasss@MINDSPRING.COM]
> onx_z_ =: ((] ` ]:) `: 6) ~
> inlocalesx_z_ =: ((((]: onx) 18!:4)~)"0 _ ([ 18!:4) (18!:5)@(''"_))

This is actually quite brilliant and very useful !!

/Gosi

------ =_NextPart_000_01BE3BC5.9A91E000
Content-Type: application/ms-tnef
Content-Transfer-Encoding: base64

eJ8+IjILAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAENgAQAAgAAAAIAAgABBJAG
ABwBAAABAAAADAAAAAMAADADAAAACwAPDgAAAAACAf8PAQAAAEUAAAAAAAAAgSsfpL6jEBmdbgDd
AQ9UAgAAAABmb3J1bUBqc29mdHdhcmUuY29tAFNNVFAAZm9ydW1AanNvZnR3YXJlLmNvbQAAAAAe
AAIwAQAAAAUAAABTTVRQAAAAAB4AAzABAAAAFAAAAGZvcnVtQGpzb2Z0d2FyZS5jb20AAwAVDAEA
AAADAP4PBgAAAB4AATABAAAAFgAAACdmb3J1bUBqc29mdHdhcmUuY29tJwAAAAIBCzABAAAAGQAA
AFNNVFA6Rk9SVU1ASlNPRlRXQVJFLkNPTQAAAAADAAA5AAAAAAsAQDoBAAAAAgH2DwEAAAAEAAAA
AAAAAxs0AQiABwAYAAAASVBNLk1pY3Jvc29mdCBNYWlsLk5vdGUAMQgBBIABACAAAABSRTogSmZv
cnVtOiBFbGVtZW50YXJ5IHF1ZXN0aW9uAGwLAQWAAwAOAAAAzwcBAAkACwArADsABgBXAQEggAMA
DgAAAM8HAQAJAAsAKQAPAAYAKQEBCYABACEAAAA5MjE0NUQxMkE4QTdEMjExOEI5QTJDQTFGRkMw
MDAwMAAPBwEDkAYAEAMAABIAAAALACMAAQAAAAMAJgAAAAAACwApAAEAAAADADYAAAAAAEAAOQDg
Xu1YxTu+AR4AcAABAAAAIAAAAFJFOiBKZm9ydW06IEVsZW1lbnRhcnkgcXVlc3Rpb24AAgFxAAEA
AAAWAAAAAb47xVjcEl0Uk6eoEdKLmiyh/8AAAAAAHgAeDAEAAAAFAAAAU01UUAAAAAAeAB8MAQAA
ABAAAABnb3NpQGNlbnRydW0uaXMAAwAGEKA5JvsDAAcQlAAAAB4ACBABAAAAZQAAAEZST006U0VZ
TU9VUkdMQVNTU01UUDpHTEFTU1NATUlORFNQUklOR0NPTU9OWFo9OigoOik6NilJTkxPQ0FMRVNY
Wj06KCgoKDpPTlgpMTg6NCkpIjAoMTg6NCkoMTg6NSlAKCIAAAAAAgEJEAEAAACTAQAAjwEAAM0C
AABMWkZ16994bP8ACgEPAhUCqAXrAoMAUALyCQIAY2gKwHNldDI3BgAGwwKDMgPFAgBwckJxEeJz
dGVtAoMzdwLkBxMCgH0KgAjPCdk78RYPMjU1AoAKgQ2xC2DAbmcxMDM5CvQM0HgxNDQN8AtVFFEL
8mMFAEAgCotsaTE4MDkC0WktGfMZ3AvCMTarDCETUG8T0GMFQEYDYf46CuEdqx6WDIIGUQbACGEM
IEcLYAQQW1NNVAhQOmchwnNATUkgTkRTUFIi4EcukENPTV0bbTM2Gi89GzE+H2catR6WAiB4XxB6
XyA9H1AoKF3AIGAgXTopKHAfUPo2KMB+CoclDyYfHpYLgP0VoGMHQAeQJ8goQR9QJ6EDKMAcUCE6
NCl+KcgiMCAn8ChbLkUoMAEuUjUpQCgnJyJ4XykpI88k3RtcKd8gPFRoBAAscAQgANB0dYEHQGx5
IHF1aRPQfCBiBRA1gAcwAjA1IG5YZCB2BJA1oHURsGYydQMgISEyxTLFL0cubwCQMsUVMQA5wAAD
ABAQAAAAAAMAERAAAAAAQAAHMOCB1/bEO74BQAAIMOCB1/bEO74BHgA9AAEAAAAFAAAAUkU6IAAA
AABuxg==

------ =_NextPart_000_01BE3BC5.9A91E000--

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

From owner-jsoftware@lists.interlog.com  Sun Jan 10 05:00:23 1999
From: "Bjorn G. Helgason" <gosi@centrum.is>
Subject: Jforum: Switching locale
Date: Sun, 10 Jan 1999 09:53:08 -0000
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by lists.interlog.com id EAA06140

I was playing a bit with switching locale to list shapes
and such. One thing I can not understand and that is
I switch to a locale and want to list contents and it brakes
down. If I first make a list in the locale without using that
list whatsoever it works. Very strange. Anyone understand this?

ls=: 3 : 0
0 ls 0
:
a_ls_=.18!:1 [0
b_ls_=:(y.<._1+#a_ls_){a_ls_
out 'locale : ',>b_ls_
18!:4 [b_ls_
a_ls_=.nl x.
out 'name:',(5#' '),'shape:',(5#' '),'count:'
out_ls_ &. >[a_ls_
)
b_a_=.'bbb'
a_a_=.'aa'

aa=.1 2$ 3 4 5
out_z_=:1!:2&2

out_ls_=: 3 : 0
a_out_ls_=. y.
18!:4 [b_ls_

NB. Next line makes this work
nl 0               NB. OBS! a line I am not using at all
                    NB. makes the rest work. Very strange !

out_z_ (a_out_ls_),(5#'.'),(": $a_out_ls_~),(5#'.'),(": #a_out_ls_~)
(a_out_ls_);($a_out_ls_~);(#a_out_ls_~)
)

   ls ''
locale : a
name:     shape:     count:
a.....2.....2
b.....3.....3

out_ls_=: 3 : 0
a_out_ls_=. y.
18!:4 [b_ls_

NB. remove this next line and it brakes down
NB. nl 0 NB. what is this line doing to make this work?

out_z_ (a_out_ls_),(5#'.'),(": $a_out_ls_~),(5#'.'),(": #a_out_ls_~)
(a_out_ls_);($a_out_ls_~);(#a_out_ls_~)
)

   ls ''
locale : a
name:     shape:     count:
a.....2.....2
�syntax error: out_ls_
�       (a_out_ls_);($a_out_ls_~);(#a_out_ls_~)

/Gosi

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

From owner-jsoftware@lists.interlog.com  Sun Jan 10 22:05:37 1999
From: "Seymour Glass" <glasss@mindspring.com>
Subject: Re: Jforum: Switching locale
Date: Sun, 10 Jan 1999 21:52:44 -0500

After experimentation, I find that in the last line of out_ls_, the
a_out_ls_~ is returning a verb.  I think it should return a noun
(a_a_, in the first invocation).  I changed it to ". a_out_ls_
and it returned null, meaning no noun found.  This puzzles
me, since a_out_ls_~ seems to be recognized in the previous line.

It looks to me like a_out_ls_~ is not being executed in the correct
locale (viz the locale of the 18!:4), but I have little conviction
behind my analysis.

Henry Rich

-----Original Message-----
From: Bjorn G. Helgason <gosi@centrum.is>
Date: Sunday, January 10, 1999 04:46
Subject: Jforum: Switching locale

>I was playing a bit with switching locale to list shapes
>and such. One thing I can not understand and that is
>I switch to a locale and want to list contents and it brakes
>down. If I first make a list in the locale without using that
>list whatsoever it works. Very strange. Anyone understand this?
>
>ls=: 3 : 0
>0 ls 0
>:
>a_ls_=.18!:1 [0
>b_ls_=:(y.<._1+#a_ls_){a_ls_
>out 'locale : ',>b_ls_
>18!:4 [b_ls_
>a_ls_=.nl x.
>out 'name:',(5#' '),'shape:',(5#' '),'count:'
>out_ls_ &. >[a_ls_
>)
>b_a_=.'bbb'
>a_a_=.'aa'
>
>aa=.1 2$ 3 4 5
>out_z_=:1!:2&2
>
>out_ls_=: 3 : 0
>a_out_ls_=. y.
>18!:4 [b_ls_
>
>NB. Next line makes this work
>nl 0               NB. OBS! a line I am not using at all
>                    NB. makes the rest work. Very strange !
>
>out_z_ (a_out_ls_),(5#'.'),(": $a_out_ls_~),(5#'.'),(": #a_out_ls_~)
>(a_out_ls_);($a_out_ls_~);(#a_out_ls_~)
>)
>
>   ls ''
>locale : a
>name:     shape:     count:
>a.....2.....2
>b.....3.....3
>
>
>
>out_ls_=: 3 : 0
>a_out_ls_=. y.
>18!:4 [b_ls_
>
>NB. remove this next line and it brakes down
>NB. nl 0 NB. what is this line doing to make this work?
>
>out_z_ (a_out_ls_),(5#'.'),(": $a_out_ls_~),(5#'.'),(": #a_out_ls_~)
>(a_out_ls_);($a_out_ls_~);(#a_out_ls_~)
>)
>
>   ls ''
>locale : a
>name:     shape:     count:
>a.....2.....2
>�syntax error: out_ls_
>�       (a_out_ls_);($a_out_ls_~);(#a_out_ls_~)
>
>/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 Jan 11 05:53:10 1999
From: "Bjorn G. Helgason" <gosi@centrum.is>
Subject: RE: Jforum: Switching locale
Date: Mon, 11 Jan 1999 10:36:09 -0000
Content-Type: multipart/mixed; boundary="---- =_NextPart_000_01BE3D4E.6E5BB580"

------ =_NextPart_000_01BE3D4E.6E5BB580
Content-Transfer-Encoding: quoted-printable

From: Seymour Glass[SMTP:glasss@mindspring.com]

>  looks to me like a_out_ls_~ is not being executed in the correct
> cale (viz the locale of the 18!:4), but I have little conviction
> hind my analysis.

When I make the verbs shorter and use short names
this does not happen.

So I think it appears that the choices of names has a
relevance here as well. Plus that the names used were
in different locales. Not a simple case to report.

	There is a purpose in using funny names so they do not
likely collide with available names that will be listed.

This here is doing pretty much the same:

ls=3D: 3 : 0
loc=3D:18!:1 [0
loc=3D:(y.<._1+#loc){loc
18!:4 [loc
nam=3D.nl 0
ut &. >[nam
)

b_a_=3D.'bbb'
a_a_=3D.'aa'

ut_z_=3D: 3 : 0
nam1=3D. y.
18!:4 [loc
NB. nl 0 NB. now it seems to be ok to remove this line???
(nam1);($nam1~);(#nam1~)
)

ls 0

Works fine without the nl 0 in this case !?!

But now ill not work with a name like this in the locale being operated =
on:

loc_a_=3D.'lockk'

  ls 0
=B3rank error: ut
=B3       18!:4[loc
=20

/Gosi
------ =_NextPart_000_01BE3D4E.6E5BB580
Content-Type: application/ms-tnef
Content-Transfer-Encoding: base64

eJ8+IjAKAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAENgAQAAgAAAAIAAgABBJAG
ABwBAAABAAAADAAAAAMAADADAAAACwAPDgAAAAACAf8PAQAAAEUAAAAAAAAAgSsfpL6jEBmdbgDd
AQ9UAgAAAABmb3J1bUBqc29mdHdhcmUuY29tAFNNVFAAZm9ydW1AanNvZnR3YXJlLmNvbQAAAAAe
AAIwAQAAAAUAAABTTVRQAAAAAB4AAzABAAAAFAAAAGZvcnVtQGpzb2Z0d2FyZS5jb20AAwAVDAEA
AAADAP4PBgAAAB4AATABAAAAFgAAACdmb3J1bUBqc29mdHdhcmUuY29tJwAAAAIBCzABAAAAGQAA
AFNNVFA6Rk9SVU1ASlNPRlRXQVJFLkNPTQAAAAADAAA5AAAAAAsAQDoBAAAAAgH2DwEAAAAEAAAA
AAAAAxs0AQiABwAYAAAASVBNLk1pY3Jvc29mdCBNYWlsLk5vdGUAMQgBBIABAB0AAABSRTogSmZv
cnVtOiBTd2l0Y2hpbmcgbG9jYWxlAP4JAQWAAwAOAAAAzwcBAAsACgAkAAkAAQAaAQEggAMADgAA
AM8HAQALAAoAEAArAAEAKAEBCYABACEAAABFQjhFMkZEQzM5QTlEMjExOEI5QTJDQTFGRkMwMDAw
MABbBwEDkAYAgAUAABIAAAALACMAAQAAAAMAJgAAAAAACwApAAEAAAADADYAAAAAAEAAOQCgp38z
Tj2+AR4AcAABAAAAHQAAAFJFOiBKZm9ydW06IFN3aXRjaGluZyBsb2NhbGUAAAAAAgFxAAEAAAAW
AAAAAb49TjLf3C+O7Kk5EdKLmiyh/8AAAAAAHgAeDAEAAAAFAAAAU01UUAAAAAAeAB8MAQAAABAA
AABnb3NpQGNlbnRydW0uaXMAAwAGEOVwY2kDAAcQ7gIAAB4ACBABAAAAZQAAAEZST006U0VZTU9V
UkdMQVNTU01UUDpHTEFTU1NATUlORFNQUklOR0NPTUxPT0tTVE9NRUxJS0VBT1VUTFNJU05PVEJF
SU5HRVhFQ1VURURJTlRIRUNPUlJFQ1RDQUxFKFZJWlQAAAAAAgEJEAEAAAAEBAAAAAQAAOkGAABM
WkZ1NsbssP8ACgEPAhUCqAXrAoMAUALyCQIAY2gKwHNldDI3BgAGwwKDMgPFAgBwckJxEeJzdGVt
AoMzdwLkBxMCgH0KgAjPCdk78RYPMjU1AoAKgQ2xC2BAbmcxMDM5CvRseGkzNg3wC1UUUQvyY40A
QCAKixnQMTgwAtHgaS0xNDQN8AzQHMNZC1kxNgwhE1BvE9Bj9QVARgNhOgrhHZsehgyCZwZRBsAI
YSBHC2AEEFtAU01UUDpnIbJzZEBtC4BkcxNQC4Bn8i4FoG1dG10Z/x53CoVIPiAgFaBvawQgdExv
IAeAJtBpayeAYQJfCGB0X2xzX34SIAQAIG4eoCBiZfEjMSBleAWQKCAJgCiQ+QOgdGgngAWhFhAe
0CZHhmMHQCeAKHZpeiojMxWgK3NvZiojHEAhOhg0KSwpACggIEkgvRGAdieCAkArkQWgbivQbR7Q
aQIgJkdoItEnYHndJ+BuB0ATsAQALgqHGk/7CoUKhVcqQAOgLfAAwCfBkyoyLjByYgQgc2gVsXcE
kDBxKeB1EbA05CjAYc8HgQqFKjAooWRvB5Eo0rkRgHBwCfAxBgqFUydQ8y3wNxFuayiQBUA4AhGR
/SohYQVAKjM1AC8QB5EswXc2Uy4BBCBhCoUWECuQdr8AcDtwLgAEkCfRBCB3PRDwbC4gUApAOok7
5DWxXyngPiAWEAqFKgFkBpBmvz2xAjAsRTDwB7Ao4WE04H8HcAtQKlEhwDQxJ1AWEHDfFbExCAsZ
Mg8gxFQ9oyih/UJgcAhwQ5A1wSoBNbApMrBmdW5uMGA75HMnUP8qMTBgN2AowkPlJ6IwsCph3T5A
aQ2wPhAucGgn4D1A/wMQAaArkTvkOqMD8D5AKQH7J5ETwWQ4XUaQKKFGpjdglykyE1ARwHQwYG11
EXC1KiNzNmE6MrwoUD0fQPwzIB9ACnYsUVJALTIbMAJbUrsoeS48Ll+IMSsjLFEpXHssUR9D5S0z
U9BVuDZRPS5ulwMgCnYtwSY+YD5bNlFlQ+UpMrxiXyfwV5AnOmJa4CdD5SfwWpNhYXNbFlf3X3pa
oFJcNlExnVeQIFTQVe9D5U5CPmD7V7JgVG8H4DnxEbAT4Ccjf01BJwBDNARgLjE3EySAbixlP2PA
Q+UoXlIpO9QoJF5SfmSxI2T0WR//UdVSpzMmBbAnERyQY6BLQz8oET8UYLIqAyihQvMhP3ohMrxC
LcFhM00RKNJ3/2hxS0U2QyeUNxMqBSxVKRT6bzggcjrAKdECIFE+LGDzWoQsUWtrWxZErBtGJsH1
Z1hcWtAzcCA5wQSQA2D+ch9AKCB0uXRBdvItM1a5pzKtRK8bMC9HR4BpQ+UFFTEAe4ADABAQAAAA
AAMAERAAAAAAQAAHMMChunxLPb4BQAAIMMChunxLPb4BHgA9AAEAAAAFAAAAUkU6IAAAAAAxpQ==

------ =_NextPart_000_01BE3D4E.6E5BB580--

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

From owner-jsoftware@lists.interlog.com  Mon Jan 11 13:55:40 1999
From: "Seymour Glass" <glasss@mindspring.com>
Subject: Jforum: Re:
Date: Mon, 11 Jan 1999 13:38:35 -0500

If you use

poly =. 3 _10 3 4 & p.

all will be well.  I don't know exactly why.

Henry Rich

-----Original Message-----
From: Andromeda <milan.ice@bluewin.ch>
Date: Monday, January 11, 1999 13:19

>
> lets define a following polynomial :
>
> poly    =.    3 _10 3 4"_ p. ]
>
> lets further define the first two derivatives :
> (of course i've could done it easily by a capped double-fork like
> f =. [: }. ] * i.@# but I'm just aiming at the use of D.  in combination
with p. )
>
> drv_1 =. ("0) D.1
> drv_2 =. ("0) D.2
>
> dpoly =. poly drv_1
>
> then the evaluation around 0 like dpoly _2+i.5 gives as result the vector
26 _4 _10 8 50 ,
> which is OK.
>
> Now I define
>
> ddpoly =. poly drv_2
>
> Instead of getting the vector _42 _18 6 30 54 I get a * valence error *
>
> Can someone explain me what I'm doing wrong ?
>
> /.....Milan
>
> ps.
>
> D.2 works fine with classic "tacit" functions like the cubic polynomial cb
=. -. * *:
>
> ddcb =. cb drv_2
>
> ddcb 2 3 4 gives _10 _16 _22 ,that's OK ,too.
>
>
>---------------------------------------------------------------------------
-----
>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 Jan 11 14:45:42 1999
Date: Mon, 11 Jan 1999 20:54:56 +0200 (EET)
From: Oleg Kobchenko <gccinc@usa.net>
Subject: Re: Jforum: Merry Christmas to all!
In-Reply-To: <199901050205.DAA01629@miles.gaertner.de>

On Tue, 5 Jan 1999, Martin Neitzel wrote:

> Oleg Kobchenko:
> >
> >	(, {.)     (,~ |.)"1   ({."0 _~ >:@i.@#) |. 'MERRY CHRISTMAS!'
>
> 	(|. , {:)  (,~ |.)"1   |.\.                 'HAPPY NEW YEAR!'
                               ^^^^
> Which exemplifies:  another solution may be a tad cuter but if it's
> too late it may just become senseless ;-)

Yes, yes, yes, this just what I was looking for. I clearly
remembered that there is a construction even a primitive that
produces partitions of increasing size (the word `prefix' also
rang the bell). I had little time and desparately was scanning
the page in J Dictionary for prefix. But once and again was lost
in `cuboids of rank xxx, whose shape is in such relations to
....'. So I ended up with a self-brewed expression.

There was a discussion some time ago in comp.lang.apl about the
scientific stiffness of J Dictionary, notwithstanding its
completeness, purity and appropriateness. That discussion was
around the learning curve of J. Eventually it led to emerging of
J Primer, which greatly helped to cure the need for a Gilman and
Rose for J. (By the way I would suppose that the learning curve
for J of an APLer would compare to the learning curve for Perl
of a C programmer with some Unix experience.)

Now there is a different, but quite vital need, as the number of
J programmers (or as J developers team stubbornly call them
`users' -- we are not C users, we are J users!) grow, for a
Practical Reference Guide, so that the necessary primitive or
construction be easily found. As an example, I have such book
published by German branch of IBM on APL/2, organized in three
columns: symbol and its name, exaples and description. Although
it's in German, which I hardly know, I found it very useful for
quick reference.

--
olegyk

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

From owner-jsoftware@lists.interlog.com  Tue Jan 12 09:50:22 1999
From: "Bjorn G. Helgason" <gosi@centrum.is>
Subject: RE: Jforum: Switching locale
Date: Tue, 12 Jan 1999 14:32:23 -0000
Content-Type: multipart/mixed; boundary="---- =_NextPart_000_01BE3E38.A0494680"

------ =_NextPart_000_01BE3E38.A0494680

I have got a few request for explanations of the verb ls
~ seems to be a mistery to many
NB. ~ is called evoke and produces contents of the noun

Here they come:

ls_ls_ =: 3 : 0    NB. Create a verb ls in locale ls
NB. call for locale number from the list of locales
NB. Ex: in this example ls 0 will give
NB. 'a';2;2 and 'b';3;3
loc_ls_=:18!:1 [0  NB. List all locales
loc_ls_=:(y.<._1+#loc_ls_){loc NB. Get the y:th locale from the list
18!:4 [loc_ls_ NB. Switch to the y:th locale
nam_ls_=.nl 0  NB. Get the list of nouns from the locale
ut_ls_ &. >[nam_ls_ NB. Call the verb with each noun
)

b_a_=.'bbb'  NB. create noun b in locale a
a_a_=.'aa'   NB. create noun a in locale a

ut_ls_=: 3 : 0  NB. Create verb ut in locale ls
nam1_ls_=. y.   NB. Get the name to work with
18!:4 [loc_ls_  NB. Switch the locale
NB. nam1_ls_ contains the name of the noun saved in locale ls
NB. nam1_ls_~ produces the contents of the noun
NB. ~ is called evoke and produces contents of the noun
NB. $ gives the shape
NB. # gives the count
NB. Ex: a from locale a will be shape 2 count 2
NB. giving 'a';2;2 as the result
(nam1_ls_);($nam1_ls_~);(#nam1_ls_~)
)

ls_ls_ 0  NB. Call ls in locale ls and get list from first locale

nam_a_=.'namm'
loc_a_=.'lockk'
nam1_a_=.'nammi 1'

ls_ls_ 0

These seem to work without problems.

/Gosi

------ =_NextPart_000_01BE3E38.A0494680
Content-Type: application/ms-tnef
Content-Transfer-Encoding: base64

eJ8+Ig4OAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAENgAQAAgAAAAIAAgABBJAG
ABwBAAABAAAADAAAAAMAADADAAAACwAPDgAAAAACAf8PAQAAAEUAAAAAAAAAgSsfpL6jEBmdbgDd
AQ9UAgAAAABmb3J1bUBqc29mdHdhcmUuY29tAFNNVFAAZm9ydW1AanNvZnR3YXJlLmNvbQAAAAAe
AAIwAQAAAAUAAABTTVRQAAAAAB4AAzABAAAAFAAAAGZvcnVtQGpzb2Z0d2FyZS5jb20AAwAVDAEA
AAADAP4PBgAAAB4AATABAAAAFgAAACdmb3J1bUBqc29mdHdhcmUuY29tJwAAAAIBCzABAAAAGQAA
AFNNVFA6Rk9SVU1ASlNPRlRXQVJFLkNPTQAAAAADAAA5AAAAAAsAQDoBAAAAAgH2DwEAAAAEAAAA
AAAAAxs0AQiABwAYAAAASVBNLk1pY3Jvc29mdCBNYWlsLk5vdGUAMQgBBIABAB0AAABSRTogSmZv
cnVtOiBTd2l0Y2hpbmcgbG9jYWxlAP4JAQWAAwAOAAAAzwcBAAwADgAgABcAAgAqAQEggAMADgAA
AM8HAQAMAA4AFgABAAIACgEBCYABACEAAABFNDU1MzREMzI1QUFEMjExOEI5QTJDQTFGRkMwMDAw
MAAcBwEDkAYA7AQAABIAAAALACMAAQAAAAMAJgAAAAAACwApAAEAAAADADYAAAAAAEAAOQBAJJ1e
OD6+AR4AcAABAAAAHQAAAFJFOiBKZm9ydW06IFN3aXRjaGluZyBsb2NhbGUAAAAAAgFxAAEAAAAb
AAAAAb49TjLf3C+O7Kk5EdKLmiyh/8AAAAA6LjwhAB4AHgwBAAAABQAAAFNNVFAAAAAAHgAfDAEA
AAAQAAAAZ29zaUBjZW50cnVtLmlzAAMABhD1mWjfAwAHEKwDAAAeAAgQAQAAAGUAAABJSEFWRUdP
VEFGRVdSRVFVRVNURk9SRVhQTEFOQVRJT05TT0ZUSEVWRVJCTFNTRUVNU1RPQkVBTUlTVEVSWVRP
TUFOWU5CSVNDQUxMRURFVk9LRUFORFBST0RVQ0VTQ09OVEVOAAAAAAIBCRABAAAAagMAAGYDAABm
BwAATFpGdaUk9QD/AAoBDwIVAqgF6wKDAFAC8gkCAGNoCsBzZXQyNwYABsMCgzIDxQIAcHJCcRHi
c3RlbQKDM3cC5AcTAoB9CoAIzwnZO/EWDzI1NQKACoENsQtgwG5nMTAzOQr7FFFFC/JjAEAgSSAR
gHYQZSBnbwVAYSBmewfRFhBxClATwBuwBbFlwngLUW5hdGkCIAQgYG9mIHRoG0AbMHKQYiBscwqF
fiARsMMT4AQgdG8gYhtAG6DmbQQAE9ByeR9SA4EgQDEKhU5CLh7RBAAgY40HQGwJgBywdm9rH6HO
biIwE1AEcHVjB5EFoKsCMAnwdB13bghgbgqF/QqFSASQG0AdwSBABaAHgBY6JMweUF8ncSA9Osgg
MyAn8DAgKGEhUv5DFhAdIB+iHgUhoAOgFaB/IeEbQB5XIVIh4hxzKiVuvnUG0ASQG7ADYR2zbB/x
5x2CKiQqqkV4J/Ap8R3A8yGxHMBhbQtQKnIoQQPwGSuBZ2kbMSDpJ2EnTDsyMhAioydiMgAzHzLQ
JvcqMCeSJ+AxOCHZNBAgWyhRIVJMLXIrcgMt7DOXKHkuPC5fiDErIzOVKVx7KiHNIUNHEcAds3k6
HcAqFncs2wqFNCI0NHAzlSFDU30D8HQRcB9SOP0KhR0Qbfkzwy5uAyA0lTi2LWYkgqcEICzYPap1
dCeTJiFw/D5bPmUolCtyHcc8cTlgFykAPKEkiSkkzGJfYfc+wTKgR2AnKIQFACkDJIK7H4Ap6WEK
hUcQRxNhMfD/KHVIChugSO8g1kJUJ+goqe8eA0JQKe8+NDE+lDkgIXCvPzw+YSXRH3B3BbBrRKP/
Os8nkzwbQV4hUlDmI3MLcf8fQVJ2JBke8BshIjBPv1bM/x7gIvcdwiOPJJghXyJvXM+tXd0kMNNY
JHMRgHBWav4jYrkFoCSgOrYuxhuhLOLvSRYwhB+RY2MgEeBlI2gwd14ZMOELgGcx2FgkFhBzFHVs
OrYoUOYpOyj2JFtnbEEjbIhFnycqTlZ3NVMp3F/TZzjBLWMs02Z+aRGgceE9qj35RxM+YW3OJzMp
RxNaIWtrdRYZzPtQ1HSHaTsgdRYKjxocb1bveX93SHaPGmdUHdARsB7zv1LrCGAFQGAhAmAfIS4k
zLgvR28AkHvlFTEAg1AAAAMAEBAAAAAAAwAREAAAAABAAAcw4Cuw6zY+vgFAAAgw4Cuw6zY+vgEe
AD0AAQAAAAUAAABSRTogAAAAAGJ5

------ =_NextPart_000_01BE3E38.A0494680--

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

From owner-jsoftware@lists.interlog.com  Tue Jan 12 19:52:09 1999
From: "Mark Leeds" <m.leeds@gte.net>
Subject: Jforum: dummy variables in verbs
Date: Tue, 12 Jan 1999 19:27:24 -0800
	boundary="----=_NextPart_000_002E_01BE3E61.9510AB40"

This is a multi-part message in MIME format.

------=_NextPart_000_002E_01BE3E61.9510AB40
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Thanks to everyone who answered my
question about replacing columns in
matrices. It helped a lot but I have another
question.

I have a verb likelihood that I define in the following way :

likelihood =3D: verb define

'AFGCynr' =3D. y.

so the verb has seven parameters
with some lines of code below this.

)

The verb works if I call it=20
the following way in the ijx file :=20

likelihood A;F;G;C;y;n;r

the problem is that I only want A to be a dummy variable in the sense
that I also want to be able to call likelihood  with the line

likelihood X;F;G;C;y;n;r

I noticed that if A is still alive in the ijx session, then with this
call to likelihood, J still uses this value of A
to evaluate the function. It doesn't use X. Is it possible to tell the
function likelihood that A is just a dummy variable so that it=20
doesn't use A to evaluate the function.=20

If this is a bad question and you just want to tell me where
to read about this, that would be fine also. Thanks a lot.

------=_NextPart_000_002E_01BE3E61.9510AB40
	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>Thanks to everyone who answered =
my</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT><FONT size=3D2>question about =
replacing=20
columns in</FONT></DIV>
<DIV><FONT size=3D2>matrices. It helped a lot but I have =
another</FONT></DIV>
<DIV><FONT size=3D2>question.</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT color=3D#000000 size=3D2>I have a verb likelihood that I =
define in the=20
following way :</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 size=3D2>likelihood =3D: verb =
define</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 size=3D2>'AFGCynr' =3D. y.</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 size=3D2>so the verb has seven =
parameters</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2>with some lines of code below =
this.</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 size=3D2>)</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT color=3D#000000 size=3D2>The verb works if I call it =
</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2>the following way in the ijx file :=20
</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 size=3D2>likelihood =
A;F;G;C;y;n;r</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 size=3D2>the problem is that I only want A to =
be a dummy=20
variable in the sense</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT><FONT size=3D2>that I also =
want to be able=20
to call likelihood&nbsp; with the line</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV>
<DIV><FONT color=3D#000000 size=3D2>likelihood =
X;F;G;C;y;n;r</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 size=3D2>I noticed that if A is still alive =
in the ijx=20
session, then with this</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2>call to likelihood, J still uses =
this value of=20
A</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT><FONT size=3D2>to evaluate =
the function. It=20
doesn't use X. Is it possible to tell the</FONT></DIV>
<DIV><FONT size=3D2>function likelihood that A is just a dummy variable =
so that it=20
</FONT></DIV>
<DIV><FONT size=3D2>doesn't use A </FONT><FONT color=3D#000000 =
size=3D2>to evaluate=20
the function. </FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT size=3D2>If this is a bad question and you just want to tell =
me=20
where</FONT></DIV>
<DIV><FONT size=3D2>to read about this, that would be fine also. Thanks =
a=20
lot.</FONT></DIV></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT>&nbsp;</DIV></BODY></HTML>

------=_NextPart_000_002E_01BE3E61.9510AB40--

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

From owner-jsoftware@lists.interlog.com  Wed Jan 13 03:40:55 1999
From: "Bjorn G. Helgason" <gosi@centrum.is>
Subject: RE: Jforum: dummy variables in verbs
Date: Wed, 13 Jan 1999 08:30:40 -0000
Content-Type: multipart/mixed; boundary="---- =_NextPart_000_01BE3ECF.41444C60"

------ =_NextPart_000_01BE3ECF.41444C60

From: Mark Leeds[SMTP:m.leeds@gte.net]
> I have a verb likelihood that I define in the following way :
>
> likelihood =: verb define
> 'AFGCynr' =. y.
>
> The verb works if I call it
> the following way in the ijx file :
>
> likelihood A;F;G;C;y;n;r
>
> likelihood X;F;G;C;y;n;r
>
> I noticed that if A is still alive in the ijx session, then with this
> call to likelihood, J still uses this value of A
> to evaluate the function. It doesn't use X. Is it possible to tell the
> function likelihood that A is just a dummy variable so that it
> doesn't use A to evaluate the function.

Try to use out to investigate what you are trying to do

out=:1!:2&2

likelihood =: verb define
out y.
'AFGCynr' =. y.
out AFGCynr
'A F G C y n r' =. y.
out A
out F
out G
out C
out y
out n
out r
)

likelihood 'AHA';'EFF';'GE';'CE';'why';'enn';'err'

>
> If this is a bad question and you just want to tell me where
> to read about this, that would be fine also. Thanks a lot.

There is no bad question. What you were doing was creating one
noun inside the verb with all the arguments you were passing in them.
The name A that you had defined outside the verb was also used inside
the verb. There is no A created inside. Notice the difference between
'AFGCynr' =. y. and 'A F G C y n r' =. y.
In the first instance you create one noun AFGCynr and in the other
uou create seven nouns A F G C y n r
That is probably the root of your confusion.

/Gosi

------ =_NextPart_000_01BE3ECF.41444C60
Content-Type: application/ms-tnef
Content-Transfer-Encoding: base64

eJ8+IhwIAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAENgAQAAgAAAAIAAgABBJAG
ABwBAAABAAAADAAAAAMAADADAAAACwAPDgAAAAACAf8PAQAAAEUAAAAAAAAAgSsfpL6jEBmdbgDd
AQ9UAgAAAABmb3J1bUBqc29mdHdhcmUuY29tAFNNVFAAZm9ydW1AanNvZnR3YXJlLmNvbQAAAAAe
AAIwAQAAAAUAAABTTVRQAAAAAB4AAzABAAAAFAAAAGZvcnVtQGpzb2Z0d2FyZS5jb20AAwAVDAEA
AAADAP4PBgAAAB4AATABAAAAFgAAACdmb3J1bUBqc29mdHdhcmUuY29tJwAAAAIBCzABAAAAGQAA
AFNNVFA6Rk9SVU1ASlNPRlRXQVJFLkNPTQAAAAADAAA5AAAAAAsAQDoBAAAAAgH2DwEAAAAEAAAA
AAAAAxs0AQiABwAYAAAASVBNLk1pY3Jvc29mdCBNYWlsLk5vdGUAMQgBBIABACUAAABSRTogSmZv
cnVtOiBkdW1teSB2YXJpYWJsZXMgaW4gdmVyYnMA/AwBBYADAA4AAADPBwEADQAIAB4AKAADADUB
ASCAAwAOAAAAzwcBAA0ACAANADEAAwAtAQEJgAEAIQAAADBENjdEQTREQkZBQUQyMTE4QjlBMkNB
MUZGQzAwMDAwAFoHAQOQBgBABgAAEgAAAAsAIwABAAAAAwAmAAAAAAALACkAAQAAAAMANgAAAAAA
QAA5AAAXnQDPPr4BHgBwAAEAAAAlAAAAUkU6IEpmb3J1bTogZHVtbXkgdmFyaWFibGVzIGluIHZl
cmJzAAAAAAIBcQABAAAAFgAAAAG+Ps8AHk3aZw6qvxHSi5osof/AAAAAAB4AHgwBAAAABQAAAFNN
VFAAAAAAHgAfDAEAAAAQAAAAZ29zaUBjZW50cnVtLmlzAAMABhALSgcOAwAHECUEAAAeAAgQAQAA
AGUAAABGUk9NOk1BUktMRUVEU1NNVFA6TUxFRURTQEdURU5FVElIQVZFQVZFUkJMSUtFTElIT09E
VEhBVElERUZJTkVJTlRIRUZPTExPV0lOR1dBWTpMSUtFTElIT09EPTpWRVJCREVGAAAAAAIBCRAB
AAAAugQAALYEAACMCwAATFpGdfWC1WP/AAoBDwIVAqgF6wKDAFAC8gkCAGNoCsBzZXQyNwYABsMC
gzIDxQIAcHJCcRHic3RlbQKDM3cC5AcTAoB9CoAIzwnZO/EWDzI1NQKACoENsQtgwG5nMTAzOQr0
DNB4MTQ0DfALVRRRC/JjBQBAIAqLbGkxODA5AtFpLRnzGdwLwjE2qwwhE1BvE9BjBUBGA2F+Ogrh
HaselgyCBdAKwGsEIEwJ4GRzW1NNQFRQOm0ubCGSQFJnE9AubhHAXRttM3Y2Gi8bMT4fZxq1HpZJ
giARgHZlIGEgJ1AmciEQHDBrZRwwaG/5BHAgdBGAJvINsQuAJ2DvC4AokSdgAhBsFaAD8BkQwCB3
YXkgOgqHJH+/JY8elirvK/8tDyf5PR9QHyejKRQuHy8vMD8nQUZAR0N5bnInMeAu+CB5LjLfM+kK
hTR/HpbWVCnBJ6N3BbBrBCAGkO0nAWMHQAMgaS3/M885j8cFQCm/KXZpangp4AMQ/ydgH1A8fz2P
Pp9B70L/RA8BJ/lBO0Y7RztDwDt5O247ckUfRi/fRz9Jz0rfS+8n+VhJD01PlzhfTt8m1G4esGlj
CYD7KJQ7oUEpcAQgE8ADEAMgvQdAaSdRQMkRsAQQaQIg/iw/kgOgA/AooCiRBABRr2dOD1RfO/N0
byfpWLBKfVbFdVhBWWMnkAdAClAgvm9WYVm/Ws9b310xZV9C5yjAJ2A/o3VuHuBYgTawkkkFQGRv
B5BuJwVAn16hUMBkkTuBBUBwb1hh/wJgY7FdQBPQXQI/sF/vYP/vYg9kFifvVoNqXqAFQCeA8GR1
bW0qsF9AByFmgv5zZtFWE0zfaG9pf2TMVoCfYx9kJwqPGo90clRyKrB/XTFlYghgYvMLgCdQVtFn
9XMidyiyeQhgJ3AWECiQ/3awKlJdMWTgdEV0RXdRMfDAMSE6MiYyehwxT/8yXXdSNtc2D343f2V+
5x8AsCBHIEM2wFVwIH/Pq2wRfhlGfhlHfhlDfhrtfhlufhlRlikbVnwff0EASEEnOydFRkZpisFH
RYrBQ4tieIB574rBCfBlIIwxcjZwehwjP/8kT1MfcI8m4juwXvNWoSeA9GJhKIBxClBW0WsBAHD/
KIB40myDKpACMGa3B4B4cf8EkGdojm9vj5EfYvMWEJMhPwGgd1NZgViyKME7QHVs/SiAYinRKUIH
QG3gNrA6sO8AcDtxJ4AVoHQ26HTfdetflcJWklWAkws2sFd4lnf/oAJk4CpUBCAFAJogVaAqYf8C
ICdgnYVVgGQgKXEAkA2wvz+TOvRZMlzzP7EKwGdtAP0J8HQEIKHXnbBYYSphKYT3IjCfeFVwYZWB
coF4lhGA/yiAKRQogHdRpL2i0ZxSXpL/KICklJ2FpQackqAIVoCjA1usxzawTlWTP5NkBpBm75XR
ZDAnYJvQdKIQCfCdj1+enH9dk9OB3za5SSmVaf8RoFYxAIABkLFieNKvRKODf6RDf2WT0ymFHrCV
wbIVdf+4eBGwJ1ADoKRCBCC1W593/1YiBCAekZMQAmB2wT+xA2DfHrBfknjRBcAFoG5kEFhy0zbm
shUvR2ZAaYz/sk8Vns8gFTEAxbAAAAMAEBAAAAAAAwAREAAAAABAAAcwANYIpsw+vgFAAAgwANYI
psw+vgEeAD0AAQAAAAUAAABSRTogAAAAAE0Z

------ =_NextPart_000_01BE3ECF.41444C60--

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

From owner-jsoftware@lists.interlog.com  Wed Jan 13 08:51:45 1999
From: Lee Dickey <ljdickey@math.uwaterloo.ca>
Date: Wed, 13 Jan 1999 08:27:34 -0500 (EST)
Subject: Jforum: tnef files

I wonder if you are aware that with every message you send
you also transmit an un-named attachement with

	"Content-Type: application/ms-tnef".

In the samples I looked at this attachment takes up about twice
the space as the message itself.  For example, one of your
recent messages had 1325 characters in the body of the message.
and the MIME attachment (which I have enclosed) there are an
additional 2570 characters.

I imagine that this is something that you have control over,
via some sort of set-up options.
If this is useful to anyone, you probably want to keep it.
If not, you might prefer to turn it off.

Yours,

Lee Dickey

> ------ =_NextPart_000_01BE3E38.A0494680
> Content-Type: application/ms-tnef
> Content-Transfer-Encoding: base64
>
> eJ8+Ig4OAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAENgAQAAgAAAAIAAgABBJAG
> ABwBAAABAAAADAAAAAMAADADAAAACwAPDgAAAAACAf8PAQAAAEUAAAAAAAAAgSsfpL6jEBmdbgDd
> AQ9UAgAAAABmb3J1bUBqc29mdHdhcmUuY29tAFNNVFAAZm9ydW1AanNvZnR3YXJlLmNvbQAAAAAe
> AAIwAQAAAAUAAABTTVRQAAAAAB4AAzABAAAAFAAAAGZvcnVtQGpzb2Z0d2FyZS5jb20AAwAVDAEA
> AAADAP4PBgAAAB4AATABAAAAFgAAACdmb3J1bUBqc29mdHdhcmUuY29tJwAAAAIBCzABAAAAGQAA
> AFNNVFA6Rk9SVU1ASlNPRlRXQVJFLkNPTQAAAAADAAA5AAAAAAsAQDoBAAAAAgH2DwEAAAAEAAAA
> AAAAAxs0AQiABwAYAAAASVBNLk1pY3Jvc29mdCBNYWlsLk5vdGUAMQgBBIABAB0AAABSRTogSmZv
> cnVtOiBTd2l0Y2hpbmcgbG9jYWxlAP4JAQWAAwAOAAAAzwcBAAwADgAgABcAAgAqAQEggAMADgAA
> AM8HAQAMAA4AFgABAAIACgEBCYABACEAAABFNDU1MzREMzI1QUFEMjExOEI5QTJDQTFGRkMwMDAw
> MAAcBwEDkAYA7AQAABIAAAALACMAAQAAAAMAJgAAAAAACwApAAEAAAADADYAAAAAAEAAOQBAJJ1e
> OD6+AR4AcAABAAAAHQAAAFJFOiBKZm9ydW06IFN3aXRjaGluZyBsb2NhbGUAAAAAAgFxAAEAAAAb
> AAAAAb49TjLf3C+O7Kk5EdKLmiyh/8AAAAA6LjwhAB4AHgwBAAAABQAAAFNNVFAAAAAAHgAfDAEA
> AAAQAAAAZ29zaUBjZW50cnVtLmlzAAMABhD1mWjfAwAHEKwDAAAeAAgQAQAAAGUAAABJSEFWRUdP
> VEFGRVdSRVFVRVNURk9SRVhQTEFOQVRJT05TT0ZUSEVWRVJCTFNTRUVNU1RPQkVBTUlTVEVSWVRP
> TUFOWU5CSVNDQUxMRURFVk9LRUFORFBST0RVQ0VTQ09OVEVOAAAAAAIBCRABAAAAagMAAGYDAABm
> BwAATFpGdaUk9QD/AAoBDwIVAqgF6wKDAFAC8gkCAGNoCsBzZXQyNwYABsMCgzIDxQIAcHJCcRHi
> c3RlbQKDM3cC5AcTAoB9CoAIzwnZO/EWDzI1NQKACoENsQtgwG5nMTAzOQr7FFFFC/JjAEAgSSAR
> gHYQZSBnbwVAYSBmewfRFhBxClATwBuwBbFlwngLUW5hdGkCIAQgYG9mIHRoG0AbMHKQYiBscwqF
> fiARsMMT4AQgdG8gYhtAG6DmbQQAE9ByeR9SA4EgQDEKhU5CLh7RBAAgY40HQGwJgBywdm9rH6HO
> biIwE1AEcHVjB5EFoKsCMAnwdB13bghgbgqF/QqFSASQG0AdwSBABaAHgBY6JMweUF8ncSA9Osgg
> MyAn8DAgKGEhUv5DFhAdIB+iHgUhoAOgFaB/IeEbQB5XIVIh4hxzKiVuvnUG0ASQG7ADYR2zbB/x
> 5x2CKiQqqkV4J/Ap8R3A8yGxHMBhbQtQKnIoQQPwGSuBZ2kbMSDpJ2EnTDsyMhAioydiMgAzHzLQ
> JvcqMCeSJ+AxOCHZNBAgWyhRIVJMLXIrcgMt7DOXKHkuPC5fiDErIzOVKVx7KiHNIUNHEcAds3k6
> HcAqFncs2wqFNCI0NHAzlSFDU30D8HQRcB9SOP0KhR0Qbfkzwy5uAyA0lTi2LWYkgqcEICzYPap1
> dCeTJiFw/D5bPmUolCtyHcc8cTlgFykAPKEkiSkkzGJfYfc+wTKgR2AnKIQFACkDJIK7H4Ap6WEK
> hUcQRxNhMfD/KHVIChugSO8g1kJUJ+goqe8eA0JQKe8+NDE+lDkgIXCvPzw+YSXRH3B3BbBrRKP/
> Os8nkzwbQV4hUlDmI3MLcf8fQVJ2JBke8BshIjBPv1bM/x7gIvcdwiOPJJghXyJvXM+tXd0kMNNY
> JHMRgHBWav4jYrkFoCSgOrYuxhuhLOLvSRYwhB+RY2MgEeBlI2gwd14ZMOELgGcx2FgkFhBzFHVs
> OrYoUOYpOyj2JFtnbEEjbIhFnycqTlZ3NVMp3F/TZzjBLWMs02Z+aRGgceE9qj35RxM+YW3OJzMp
> RxNaIWtrdRYZzPtQ1HSHaTsgdRYKjxocb1bveX93SHaPGmdUHdARsB7zv1LrCGAFQGAhAmAfIS4k
> zLgvR28AkHvlFTEAg1AAAAMAEBAAAAAAAwAREAAAAABAAAcw4Cuw6zY+vgFAAAgw4Cuw6zY+vgEe
> AD0AAQAAAAUAAABSRTogAAAAAGJ5
>
> ------ =_NextPart_000_01BE3E38.A0494680--
>
>
> --------------------------------------------------------------------------------
> 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 Jan 13 09:33:19 1999
Date: Wed, 13 Jan 1999 09:17:24 -0500 (EST)
From: Lee Dickey <ljdickey@math.uwaterloo.ca>
Subject: Jforum: Apology (Was: tnef files

To the readers of Jforum:

Please accept my apology for sending a message to
the list for a message that was intended for only
one reader.

Lee Dickey

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

From owner-jsoftware@lists.interlog.com  Wed Jan 13 17:48:46 1999
Date: Wed, 13 Jan 1999 17:48:02 -0500
From: Howard Peelle <hapeelle@educ.umass.edu>
Subject: Re: Jforum: Merry Christmas to all!
Content-type: text/plain; charset=us-ascii
References: <Pine.LNX.4.04.9901112013580.8437-100000@spin.vl.net.ua>

Oleg Kobchenko wrote:
> ...
>
> Now there is a different, but quite vital need, as the number of
> J programmers (or as J developers team stubbornly call them
> `users' -- we are not C users, we are J users!) grow, for a
> Practical Reference Guide, so that the necessary primitive or
> construction be easily found. ...

I have prepared "A Summary of J Language" (17 pages)
in a format with Symbol, Name, Definition, Example
in columns for verbs (monads, dyads), adverbs, conjunctions,
etc. plus brief description of hooks and forks, and scripts.
This summary is part of a booklet on
"Teaching Secondary Mathematics with J: Workshops"
(about 90 pages) which has been used for several years.
If you would like a copy, let me know.
	Howard A. Peelle

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

From owner-jsoftware@lists.interlog.com  Wed Jan 13 17:50:06 1999
From: "Nichols, Peter" <pnichols@sprinc.com>
Subject: Jforum: Reading in an Excel Spreadsheet
Date: Wed, 13 Jan 1999 16:28:21 -0600
	charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by lists.interlog.com id RAA17813

Hello Everyone,  I''m still trying to figure out how to read in a spread
sheet.  This is as far as I'm getting.  It does open the spreadsheet but
then dies when I call xlreadr.  Thanks for any help.

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

xl_read=: 3 : 0
 wd 'pc excel'						NB. parent to hold
ole child
 wd 'cc xl oleautomation:excel.application'	NB. create excel.application
object
 wd 'oleset xl base visible 1'			NB. set base visible
property to 1
 wd 'oleget xl base workbooks'			NB. get workbooks object as
temp
 wd 'oleid xl wb'						NB. temp to
permanent as workbooks
 wd 'olemethod xl wb open s:\spr\test.xls' 	NB. open workbook
 wd 'oleget xl base worksheets'			NB. get worksheet object as
temp
 wd 'oleid xl ws'						NB. temp to
permanent as worksheets
 z=: xlreadr 'wb ws 1 1 20 20'			NB. THIS LINE GIVES the
ERROR BELOW
 wd 'olemethod xl base quit'				NB. quit
)

xl_read ''

�domain error: wd
�       xlcmd'base run ',jm,'!',arg

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

From reffy1@airmail.net  Wed Jan 13 18:57:40 1999
From: Dick Ulrich <reffy1@airmail.net>
Subject: re: Jforum: Apology (Was: tnef files
Date: 13 Jan 99 17:47:34 -0600
X-ID: 9AFE1E8177EF11D2A29D00A0CC3A26E2

This is a multi-part message in MIME format.

--X-X-X-X-X-X--NeoPlanet-MIME-TEXTandHTML--X-X-X-X-X-X-X10613881-X-X

You are forgiven Lee :)

Dick Ulrich

Download Neoplanet at http://www.neoplanet.com
--X-X-X-X-X-X--NeoPlanet-MIME-TEXTandHTML--X-X-X-X-X-X-X10613881-X-X

<HTML><BODY BGCOLOR=#FFFFFF>
<FONT COLOR="#0000FF" SIZE=2 FACE="Arial">You&nbsp;are&nbsp;forgiven&nbsp;Lee&nbsp;:)
<BR>
<BR>Dick&nbsp;Ulrich</FONT>
<FONT COLOR="#000000" SIZE=2 FACE="Arial">
<BR>
</FONT></BODY></HTML>

<BR><BR><a href='http://www.neoplanet.com'>Download NeoPlanet!</a>
--X-X-X-X-X-X--NeoPlanet-MIME-TEXTandHTML--X-X-X-X-X-X-X10613881-X-X--

From ljdickey Thu Jan 14 05:44:59 1999
Subject: re: Jforum: Apology (Was: tnef files

I have seen that mistake so many times, and know how irritating
it can be.  One of the things that irritates me about the APL
news group is two guys carrying on a personal conversation.

From owner-jsoftware@lists.interlog.com  Thu Jan 14 13:41:49 1999
Date: Thu, 14 Jan 1999 13:25:35 -0500
From: Les Zielinski <les_zielinski@aetna.ca>
Organization: AEtna Canada
Subject: Re: Jforum: Merry Christmas to all!
References: <369D22A2.AA015EB9@educ.umass.edu>

hapeelle@educ.umass.edu wrote:
>
> Oleg Kobchenko wrote:
> > ...
> >
> > Now there is a different, but quite vital need, as the number of
> > J programmers (or as J developers team stubbornly call them
> > `users' -- we are not C users, we are J users!) grow, for a
> > Practical Reference Guide, so that the necessary primitive or
> > construction be easily found. ...
>
> I have prepared "A Summary of J Language" (17 pages)
> in a format with Symbol, Name, Definition, Example
> in columns for verbs (monads, dyads), adverbs, conjunctions,
> etc. plus brief description of hooks and forks, and scripts.
> This summary is part of a booklet on
> "Teaching Secondary Mathematics with J: Workshops"
> (about 90 pages) which has been used for several years.
> If you would like a copy, let me know.
>         Howard A. Peelle
>
> --------------------------------------------------------------------------------
> J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

I am interested in the "A Summary of J Language".

Thanks,
Les M. Zielinski

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

From owner-jsoftware@lists.interlog.com  Thu Jan 14 15:35:23 1999
Date: Thu, 14 Jan 1999 22:12:17 +0200 (EET)
From: Oleg Kobchenko <gccinc@usa.net>
Subject: Re: Jforum: Switching locale
In-Reply-To: <002c01be3d0d$7790cc80$4ea156d1@seymourg>
Content-Type: MULTIPART/MIXED; BOUNDARY="2093029708-1406260380-916344737=:26292"

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

--2093029708-1406260380-916344737=:26292

Here are some raw ideas on this topic
put into a summary.

--2093029708-1406260380-916344737=:26292
Content-Type: APPLICATION/zip; name="LabIterate.zip"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.04.9901142212170.26292@spin.vl.net.ua>
Content-Description:
Content-Disposition: attachment; filename="LabIterate.zip"

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
jWVjUYtOrbmQZnf9xFoU1QsTThxh6RTY5XTyyDWLufgaRFjN+dErJ9WDZNIv
XVerG+u6lX7urz10gcvGSlFjDYNiwvmtmaLq44+0LhSYclLgsHj4hV3yQ3XK
/MsbavhD10j1g+npG1CkQld3bz4Mczn9hIVc+U3ZHBQnRUuezSWdb/7QqmNS
AbSA389EePHleUmITDysQDBGfy93xprffUC7H3PhRqKxg7zViFq5orPq+Vd1
cmzWy+cfbazszuSyYrUIMrQmGl6I1pfWOSTTKPphIF3uWoL5jVHLIj9Fzib9
Khsfd5ttrxH51x5e6AtsFxt04wcW9iFuJN3X5VqQUDpwOcKqRt5Jmc7BJQmV
i4MkKD65IQs01msQ03hvJ/gsitDUtzCk+7mYr3XHbkDReVRNN8T9dcAVoYkg
fkc5oRVOMufVtZDxCsJuBSiq4NrKHQfYWlma1svYpH4NVoeUi9y5C2U27eOt
XZZm2lHW3NFw+UGuXuOh+geuT08ZDT855kfK/x0UPYWm6St7n+/ukq/NLc4M
vR+mVnWtkOneZcvJ1wGkfHuZgtam4c4HpEvapcC5rjczk/D2c0HvbgysLQ/l
Th8NGLrENccmxWZ9IEAdwKqInjaaMeSKUZ+oAFK6GnEy9OBq+rEq30c8c8ka
5QpR+twUQQVX7peWauxnCx5OHNebSvGLTpm8/FZbtVrrAP0SHnVTklOO7bT6
8WNK0xbPxSHC9UHRayk2FsmlIzsyg44i43+TKTSWjzc771/5nCkfVat2Xyw2
cN0MldQXj9TW0MSi2fppmaeJ7X48J8bl4vrMpk9dtdT1ocPxiSrPwjVDa/pA
HUh1P8hsHjpR/HRxUcxTFYIQAApN25Uw7KAmMlW3M4TUS9+j89buQtQVsZZS
GKhwWLKgoLm5YyyA0ESXqs00drDGFPuXwlJJFnBobKSbgUIkXK5xL/iad3b/
4/6HNTqr4tEr28B7rQQKCx5yNTF5DF0qpa88q+HGAeanogcWntOHOHEu/rFJ
mpH+/Ko3+BQCZyareAIq9lYWPH8xo7kBkZvtkqjb/m627P7RF2qiFayjfA80
3U9jFj6lvz5jBH+slVxUnB79JpgT7PUefHpRfEqCCwn6cKKnZspOghwnjJvI
sNKofeujRn178tKSyH91HASF/st1wn93HASF/Fe7Tv8Hb+kXuz6oX+76oHD/
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
riLD+ybsT3lUpU8cx16ZPHDo9nXfA8MNde2OQ1eJ4oDcmJJu6oesUAzPcl0z
UpeaNRzufPLoSzva4b1RIo/rnk/ueTb67I/q2Ryj3jaXqZ357dg8mhDNXD07
RG9FaZssGehUJbzb/MrOll43wlGDdPdPphJD7g2aTTlzIx8inz0jHfeWs7Vf
QTjbYlJp6cs1oLBz70Sdn4w9nZZ4a0ITvWiUfqDmaNOjD4c+t/g9tDnqU/QI
h6GypVarvYicnhztSH8kHJ+xGGqyg+soQPgtZH1t/yXb6M9nGwi0pzm/vWqN
zfEE66s+vZRNvCCB7A0zPPEJ+cjhznTsJ72uhjPKeqkvDJTvAALYi2/pY19m
JXX5pGGWm+1EXx/X7A+7T3mzI+bQg5N8lgDa9JSyEJD2QEQ24OmnhttxeS9n
07P3A/s+F5eUbLgceEOB5Le31kKWtpNPKRaW7iQqcNaaHltXc0djAavtEKeX
r0LZ0TvRfW5goykON1Pz9/UdImILbuBUcN2LJv7qtHTNWpp6q2gLxy0D58Hd
AasU54rho6vZom12L1k0b0o/EhWN07MPQmKv362QPVd2Le6+kxiWIDp+ZtwS
0BNuoCwIbYsNgiastIXdjhxUmhuoz1pDXLnq4u8yNFjEoZyVn27WBSVDvdLM
FhtqT1EQjot3D8OGPnUJrMu7q9wmNHUK3nY1UnZPXsp5tpGHe3vlbBL/HtP+
DZG80npoCw8UTJl3Jd+oQnIpYGT5B7REO/pKPLkqAWvaoumWWeihvLunBZpt
b5dzPih5parkMuLYs3xfHVYoS2WOe0DutOf1UtHMtlRcNId4iLUERqaZfI6+
97jmYvSx2DNpJs6wtOehy9dGiwXbY0wmbCHRzXmF/T5HY+GL27cxBeoKcp+6
9+YPQ323a8lq+/JYaSG7rG5t+N0/oqVsQVUqk9U9t9IqWiDKP67kkJJoeuOq
wdig1WwHBWjsmmthTyed3ugp6M8t2/U2Z6M4JdTtsuJGZxplv3L/TBIo7S7k
16dw0H8eZ0Ggsd+97YrC/xsFVwg/T2Jo5C8nMdR/giv/fXBl9HxcrMFVrK9z
kevfgyt8x5VP/XaxXa8lTwftIXrnEn9XLypZPyVr13EH/78FV242K6nNb30p
YwgP4YkmusWCFuAkvuQkS7cJbG/zPlxdS0bSQt0Jzs1jOMYkUMvlxZ3bW078
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
AO1OAAAAAA==
--2093029708-1406260380-916344737=:26292--

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

From owner-jsoftware@lists.interlog.com  Thu Jan 14 18:39:41 1999
From: "Barry Savage" <bvsavage@earthlink.net>
Subject: Re: Jforum: Merry Christmas to all!
Date: Thu, 14 Jan 1999 18:28:17 -0500
	charset="iso-8859-1"

In a message to the Jforum you wrote:

> I have prepared "A Summary of J Language" (17 pages)
> in a format with Symbol, Name, Definition, Example
> in columns for verbs (monads, dyads), adverbs, conjunctions,
> etc. plus brief description of hooks and forks, and scripts.
> This summary is part of a booklet on
> "Teaching Secondary Mathematics with J: Workshops"
> (about 90 pages) which has been used for several years.
> If you would like a copy, let me know.

I am currently writing an introductory textbook for J whose
working title is "J For Actuaries"

The materials which you mentioned might be useful to me.
Therefore I would like to receive a copy of the summary or
better still, the 90 page booklet.

Please send me information on how I can acquire a copy?

Thank you,

Barry Savage
mailto:bvsavage@earthlink.net
http://www.bsavage.net

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

From owner-jsoftware@lists.interlog.com  Thu Jan 14 20:42:16 1999
From: Ajith Prasad <burap@nus.edu.sg>
Subject: RE: Jforum: Merry Christmas to all!
Date: Fri, 15 Jan 1999 09:27:56 +0800
Importance: high
X-Priority: 1
	charset="ISO-8859-1"

Would be nice if the booklet is included at the J website together with the
other papers/articles shown under "Resources". The website includes a
reference to J.E.H. Shaw's homepage:

http://www.warwick.ac.uk/statsdept/Staff/JEHS/index.html

from where the "Warwick Guide to J" can be downloaded. This seems more
detailed than the "J Primer" but less formidable than the "J Introduction
and Dictionary".

Great to know that a textbook on J applications is in the works.

-----Original Message-----
From: Barry Savage [mailto:bvsavage@earthlink.net]
Sent: Friday, January 15, 1999 7:28 AM
Subject: Re: Jforum: Merry Christmas to all!

In a message to the Jforum you wrote:

> I have prepared "A Summary of J Language" (17 pages)
> in a format with Symbol, Name, Definition, Example
> in columns for verbs (monads, dyads), adverbs, conjunctions,
> etc. plus brief description of hooks and forks, and scripts.
> This summary is part of a booklet on
> "Teaching Secondary Mathematics with J: Workshops"
> (about 90 pages) which has been used for several years.
> If you would like a copy, let me know.

I am currently writing an introductory textbook for J whose
working title is "J For Actuaries"

The materials which you mentioned might be useful to me.
Therefore I would like to receive a copy of the summary or
better still, the 90 page booklet.

Please send me information on how I can acquire a copy?

Thank you,

Barry Savage
mailto:bvsavage@earthlink.net
http://www.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  Fri Jan 15 12:45:38 1999
Date: Fri, 15 Jan 1999 17:35:39 +0200 (EET)
From: Oleg Kobchenko <gccinc@usa.net>
Subject: Re: Jforum: Reading in an Excel Spreadsheet
In-Reply-To: <01074BD4EEC4D1118E3200805F6542A7177D87@SPRDALLAS2>

On Wed, 13 Jan 1999, Nichols, Peter wrote:

> Hello Everyone,  I''m still trying to figure out how to read in a spread
> sheet.  This is as far as I'm getting.  It does open the spreadsheet but
> then dies when I call xlreadr.  Thanks for any help.
>
>
> require 'system\examples\ole\excel\xlutil.ijs'
>
> xl_read=: 3 : 0

> permanent as worksheets
>  z=: xlreadr 'wb ws 1 1 20 20'			NB. THIS LINE GIVES the

Your problem is that you pass wb ws into the proc.
wb and ws is J internal OLE stubs, they mean nothing
to the J macro called jreadr that sits in the Excel
VBA code in jmacros.xls. Just get to the VBA debugger
and see that the passed values are in fact 'wb?' and
'ws?', which are strings and the required parameters
should be ints.

The correct call should look like:
  z=: xlreadr '1 1 1 1 20 20'
or simply
  z=: xlreadr '1 1 20 20'

!!! Make sure you have read xlutils.ijs and
    jmacros.* from beginning to end several times.

Here is one magic sequence, I am writing from memory,
sorry for possible mistakes:

NB. just open this in J
NB. step over each line with Ctrl-R

  reqiuire'system\examples\ole\excel\xlutil.ijs'
  xlopen''
  xlshow''   NB. (optional)
  xlcmd'jinfo *hello, world!' NB. tester

  xlcmd'wb add'  NB. add new book

  (i.2 2) xlwriter '1 1'  NB.put some stuff there

  xlreadr'1 1 2 2'  NB. get boxed result

  ".&> xlreadr'1 1 2 2'  NB. get unboxed result

  ('=sum(A1:A2)';'=sum(B1:B2)') xlwriter'3 1' NB. put sums

  ".&> xlreadr'3 1 1 2'  NB. get result

  +/".&> xlreadr'1 1 2 2'  NB. verify it's true

  xlquit''  NB. exit w/o save

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

From owner-jsoftware@lists.interlog.com  Fri Jan 15 12:45:44 1999
From: "Simon Garland" <simon_garland@bluewin.ch>
Subject: Jforum: http server
Date: Fri, 15 Jan 1999 15:38:21 +0100
	charset="iso-8859-1"

does anyone have a slightly hacked version of the J socket server code that
acts as an HTTP server (handles header records, GET/POST etc..)? I'd prefer
not to write it myself unless I have too..

/Simon

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

From owner-jsoftware@lists.interlog.com  Fri Jan 15 12:45:45 1999
Date: Fri, 15 Jan 1999 16:23:27 +0200 (EET)
From: Oleg Kobchenko <gccinc@usa.net>
Subject: RE: Jforum: Switching locale
In-Reply-To: <01BE3D4E.6DDE9640@geisli-294.centrum.is>

NB. Switching locale demo
NB. open in J seesion and Ctrl-W over it
NB.    The problem seems to be eliminated
NB. by ANY call in verb 'out_ls_' to a verb
NB. in locale `z' w/o the _z_ suffix.
NB.    Try to apply any of (1-4) changes
NB. to see the error dissappear.

b_locA_=. 'bbb'       NB. init stuff for demo
a_locA_=. 'aa'

ls=: (3 : 0)
smoutput 'locale : ', b_aux_=. 'locA'
cocurrent <b_aux_
out_aux_ &.> nl 0
)

out_aux_=: (3 : 0)     NB. called verb
18!:4 <b_aux_    NB. (1) change to `cocurrent'
NB. nl 0         NB. (2) uncomment this line
smoutput_z_ y.   NB. (3) remove suffix `_z_'
y.~              NB. (4) also: comment this line
)

   ls ''      NB. Ctrl-R here to see the return value

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

From owner-jsoftware@lists.interlog.com  Fri Jan 15 12:45:47 1999
Date: Fri, 15 Jan 1999 16:24:34 +0200 (EET)
From: Oleg Kobchenko <gccinc@usa.net>
Subject: RE: Jforum: Switching locale
In-Reply-To: <01BE3D4E.6DDE9640@geisli-294.centrum.is>

(0 : 0) NB. COMMENT

Is there a reason for adverbs and conjs defined
in a class to fail switching to the object's locale ?

If yes, how to circumvent this ?

This is really important for such applications as
a file reader, having such adverbs as `grep' or `map',
which provide iteration over file chunks. They assume
a verb that determines pass-through conditions or applies
a transformation.

The following code demonstrates the problem.
)

NB. ------------------------------ user\classes\ptry.ijs
coclass'ptry'

thisV=: coname
thisA1=: 1 : 'u.@coname'
thisA2=: 1 : 'u.@thisV'
thisC1=: 2 : 'v.@u.@coname'
thisC2=: 2 : 'v.@u.@thisV'

(0 : 0) NB. COMMENT

in base locale:

   load'user\classes\ptry.ijs'

   o=. conew 'ptry'
   > thisV__o''
0                       NB. this true object's locale

   > thisA1__o''
base                    NB. no locale switch
   > thisA2__o''
|value error: thisV
|       >thisA2__o''    NB. hence class verbs fail

   > thisC1__o ] ''
base                    NB. ditto
   > thisC2__o ] ''
|value error: thisV
|       >thisC2__o]''

)

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

From owner-jsoftware@lists.interlog.com  Fri Jan 15 20:10:40 1999
From: "Donald Pittenger" <dbpitt@demlab.com>
Subject: Jforum: Bezier graphs
Date: Fri, 15 Jan 1999 16:54:19 -0800
	boundary="----=_NextPart_000_0010_01BE40A7.B17F2B10"

This is a multi-part message in MIME format.

------=_NextPart_000_0010_01BE40A7.B17F2B10
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Has anyone drawn 2-D Bezier graphs using J version 4?

If so, might you post some code and help tips so that I can try such =
work?

Thanks.

Donald Pittenger

------=_NextPart_000_0010_01BE40A7.B17F2B10
	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>Has anyone drawn 2-D Bezier graphs =
using J=20
version 4?</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 size=3D2>If so, might you post some code and =
help tips so=20
that I can try such work?</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 size=3D2>Thanks.</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 size=3D2>Donald =
Pittenger</FONT></DIV></BODY></HTML>

------=_NextPart_000_0010_01BE40A7.B17F2B10--

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

From jkt@pocus.hexagon.com  Sat Jan 16 18:35:00 1999
In-Reply-To: <199901131417.JAA03850@math.uwaterloo.ca>
Content-Transfer-Encoding: quoted-printable
Date: Sat, 16 Jan 1999 15:16:20 -0800
From: "Joey K. Tuttle" <jkt@pocus.hexagon.com>
Subject: Re: Jforum: Apology (Was: tnef files

At 9:17 -0500 1999/01/13, Lee Dickey wrote:
>To the readers of Jforum:
>
>Please accept my apology for sending a message to
>the list for a message that was intended for only
>one reader.
>
>Lee Dickey
>
No apology needed - I'm sure many others feel as you do about the profusion=
 of garbage (almost an anagram of baggage) that comes along with Email these=
 days. My pet peeve is HTML - in my mail client, I get an unformated mess,=
 even though the "clear" text was originally included redundantly in the mes=
sage....

Joey Tuttle - Magnacom Corp, Aptos   Phone: (831) 685-4777
jkt@hexagon.com                        FAX: (831) 685-4779

From owner-jsoftware@lists.interlog.com  Sun Jan 17 00:14:54 1999
From: "John D. Baker" <bakerjd@kos.net>
Subject: Jforum: Project Manager (d) file markings.
Date: Sat, 16 Jan 1999 23:57:20 -0500
	charset="iso-8859-1"

Chris,

I've just run across a "feature" of the J project manager that
is probably frustrating other users as well.

When you mark a file as dev only (d) you cannot place it
before an unmarked source file.  Eg. I cannot do:

sourcefile
debuginit (d)
standardinit

If you try and trick the system by turning off the debug (d)
and moving the file to the correct position the instant
you turn it back on the (d) goes to the bottom of all non (d)'ed
source files.

Being able to place debug scripts anywhere in the source
sequence and have them executed exactly in the order
they appear is very useful for developement.  I would suspect
that just building the result script in the order the user
prescribes is easiar than what the pjm is doing right now.

John Baker

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

From owner-jsoftware@lists.interlog.com  Sun Jan 17 13:20:17 1999
From: "Simon Garland" <simon_garland@bluewin.ch>
Subject: Jforum: VB "features"
Date: Sun, 17 Jan 1999 17:45:26 +0100
	charset="iso-8859-1"

interesting article at:

http://www.vb-zone.com/upload/free/features/vbpj/1999/mckinney/mckinney1.asp
#1

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

From owner-jsoftware@lists.interlog.com  Sun Jan 17 16:51:28 1999
From: "David Vincent-Jones" <geomap@galaxynet.com>
Subject: Jforum: Counting problem
Date: Sun, 17 Jan 1999 13:17:51 -0800

I need to be able to count the occurrence positions of random numbers.
The following is obvious:

   +/\"1(i.6)=/?.15#6
1 1 1 1 1 2 2 2 2 2 2 2 3 4 4
0 0 0 0 1 1 1 1 1 1 1 1 1 1 1
0 0 1 1 1 1 1 1 1 2 2 2 2 2 2
0 0 0 1 1 1 1 1 1 1 2 2 2 2 3
0 1 1 1 1 1 2 3 3 3 3 4 4 4 4
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1

   but what I am really looking for is as follows
1 0 0 0 0 2 0 0 0 0 0 0 3 4 0
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 2 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 2 2 2 2 3
0 1 0 0 0 0 2 3 0 0 0 4 0 0 0
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0

Is there an easy solution that somebody can offer?

David V-J

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

From owner-jsoftware@lists.interlog.com  Sun Jan 17 17:25:34 1999
Date: Sun, 17 Jan 1999 17:04:29 -0500
From: Cliff Reiter <reiterc@lafvax.lafayette.edu>
Subject: Re: Jforum: Counting problem
Organization: Lafayette College
Content-type: text/plain; charset=us-ascii
References: <004901be425f$1f006b00$100881ce@desktop.lafayette.edu>

I think that multiplying your partial result by its partial sums
works:

(*+/\"1)(i.6)=/?.15#6

Best,
Cliff

David Vincent-Jones wrote:
>
> I need to be able to count the occurrence positions of random numbers.
> The following is obvious:
>
>    +/\"1(i.6)=/?.15#6
> 1 1 1 1 1 2 2 2 2 2 2 2 3 4 4
> 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1
> 0 0 1 1 1 1 1 1 1 2 2 2 2 2 2
> 0 0 0 1 1 1 1 1 1 1 2 2 2 2 3
> 0 1 1 1 1 1 2 3 3 3 3 4 4 4 4
> 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1
>
>    but what I am really looking for is as follows
> 1 0 0 0 0 2 0 0 0 0 0 0 3 4 0
> 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
> 0 0 1 0 0 0 0 0 0 2 0 0 0 0 0
> 0 0 0 1 0 0 0 0 0 0 2 2 2 2 3
> 0 1 0 0 0 0 2 3 0 0 0 4 0 0 0
> 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
>
> Is there an easy solution that somebody can offer?
>
> David V-J
>
> --------------------------------------------------------------------------------
> J Forum: for information about this list, see http://www.jsoftware.com/forum.htm

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

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

From owner-jsoftware@lists.interlog.com  Sun Jan 17 22:00:02 1999
From: "David Vincent-Jones" <geomap@galaxynet.com>
Subject: Re: Jforum: Counting problem
Date: Sun, 17 Jan 1999 18:31:08 -0800

----- Original Message -----
From: Cliff Reiter <reiterc@lafvax.lafayette.edu>
Sent: January 17, 1999 2:04 PM
Subject: Re: Jforum: Counting problem

>I think that multiplying your partial result by its partial sums
>works:
>
>(*+/\"1)(i.6)=/?.15#6
>

Cliff;
Thanks, very simple and just what I needed but......
how does it work ?

(*/\"1)(i.6)=/?.15#6 does not look very useful by itself

David

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

From owner-jsoftware@lists.interlog.com  Mon Jan 18 07:54:28 1999
Organization: Voxel
From: "Andrew Nikitin" <nsg@voxel.kharkov.ua>
Date: Mon, 18 Jan 1999 11:49:15 +0200 (EET)
Subject: Jforum: local variables

In early js user was able to define local verb in explicit definition
and use it in it without restrictions. Situation now changed: (this is not
real script, but pure problem)

test=: 3 : 0
f1=.+:
f2=.3 : 'f1 f1 y.'
f2 y.
)

   test 3
|value error: f1
|   f1     f1 y.

So, we can't use defined local verb f1 in local verb f2. I have discovered
this when my old scripts refused to work.

Is this behaviour change sporadic or it follows some clever reasons?

nsg

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

From owner-jsoftware@lists.interlog.com  Mon Jan 18 09:31:05 1999
Organization: Voxel
From: "Andrew Nikitin" <nsg@voxel.kharkov.ua>
Date: Mon, 18 Jan 1999 15:36:08 +0200 (EET)
Subject: Jforum: length/angle

I have some troubles with using monadic *. (length/angle) primitive.
I have experienced this with j402/windows 95 running p100.

   *.271j1
|domain error
|       *.271j1
   *._271j1
271.002 3.1379

For the most of other (but not all) complex numbers *. seems to work fine.

Can anybody explain such strange behaviour of *.? What magical properties does
271j1 have?

Please, email me if this result is (or isn't) reproducible on other systems,
especially on non wintel platforms.

nsg

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

From owner-jsoftware@lists.interlog.com  Mon Jan 18 10:11:53 1999
Date: Mon, 18 Jan 1999 09:36:40 -0500
From: Cliff Reiter <reiterc@lafvax.lafayette.edu>
Subject: Re: Jforum: Counting problem
Organization: Lafayette College
Content-type: text/plain; charset=us-ascii
References: <000501be428a$c7c5c660$190881ce@desktop.lafayette.edu>

David,

   (i.6)=/?.15#6               NB. Your random array
1 0 0 0 0 1 0 0 0 0 0 0 1 1 0
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 1 0 0 0 1
0 1 0 0 0 0 1 1 0 0 0 1 0 0 0
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
   (+/\"1)(i.6)=/?.15#6        NB. Array of partial row sums
1 1 1 1 1 2 2 2 2 2 2 2 3 4 4
0 0 0 0 1 1 1 1 1 1 1 1 1 1 1
0 0 1 1 1 1 1 1 1 2 2 2 2 2 2
0 0 0 1 1 1 1 1 1 1 2 2 2 2 3
0 1 1 1 1 1 2 3 3 3 3 4 4 4 4
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1
   (*+/\"1)(i.6)=/?.15#6       NB. A hook (* +/\"1) that
1 0 0 0 0 2 0 0 0 0 0 0 3 4 0  NB. gives the product of
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0  NB. the previous two results
0 0 1 0 0 0 0 0 0 2 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 2 0 0 0 3
0 1 0 0 0 0 2 3 0 0 0 4 0 0 0
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0

David Vincent-Jones wrote:
>
> ----- Original Message -----
> From: Cliff Reiter <reiterc@lafvax.lafayette.edu>
> To: <forum@jsoftware.com>
> Sent: January 17, 1999 2:04 PM
> Subject: Re: Jforum: Counting problem
>
> >I think that multiplying your partial result by its partial sums
> >works:
> >
> >(*+/\"1)(i.6)=/?.15#6
> >
>
> Cliff;
> Thanks, very simple and just what I needed but......
> how does it work ?
>
> (*/\"1)(i.6)=/?.15#6 does not look very useful by itself
>
> David
>

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

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

From ljdickey Mon Jan 18 10:15:52 1999
Subject: Re:  Jforum: length/angle

I tried your number on a unix system using J 3.05.  Your error appeared there.
Using J7 (1993) on a Mac, no error with this number.

From ljdickey Mon Jan 18 10:54:14 1999
Subject: Re: Jforum: Counting problem

What is the difference between  ? and ?.

	? a =. 15#6
	?. a

It is hard to tell, by experiment.

Lee

From reiterc@lafvax.lafayette.edu  Mon Jan 18 12:31:01 1999
Date: Mon, 18 Jan 1999 12:30:15 -0500
From: Cliff Reiter <reiterc@lafvax.lafayette.edu>
Subject: Re: Jforum: Counting problem
Reply-to: reiterc@lafvax.lafayette.edu
Organization: Lafayette College
Content-type: text/plain; charset=us-ascii
References: <199901181554.KAA07175@goedel.math.uwaterloo.ca>

Lee Dickey wrote:
>
> What is the difference between  ? and ?.
>
>         ? a =. 15#6
>         ?. a
>
> It is hard to tell, by experiment.
>
> Lee

Hi Lee,
  ?.  always begins with the default random seed which
allows easy duplication of "random" experiments & sharing
of random examples as in recent illustrations.

Cliff

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

From ljdickey Mon Jan 18 12:42:49 1999
Subject: Re: Jforum: Counting problem

Great!
Thanks!

Lee

From owner-jsoftware@lists.interlog.com  Mon Jan 18 14:42:37 1999
From: "Roger Hui" <RHui@interlog.com>
Subject: Jforum: Re: local variables
Date: Mon, 18 Jan 1999 10:51:47 -0500
	charset="iso-8859-1"

Andrew Nitkitin writes on Monday, January 18:

>In early js user was able to define local verb in explicit definition
>and use it in it without restrictions. Situation now changed: (this is not
>real script, but pure problem)
>
>test=: 3 : 0
>f1=.+:
>f2=.3 : 'f1 f1 y.'
>f2 y.
>)
>
>   test 3
>|value error: f1
>|   f1     f1 y.
>
>So, we can't use defined local verb f1 in local verb f2. I have discovered
>this when my old scripts refused to work.
>
>Is this behaviour change sporadic or it follows some clever reasons?

This is probably a result of stricter enforcement of the rules.  In the above example,
the explicit definition f2 began a new scope, wherein names are either strictly local or global.
In the circumstance, the name f1 is undefined since it is neither local (not defined in f2)
nor global (not defined outside of test or f2).

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

From owner-jsoftware@lists.interlog.com  Mon Jan 18 16:15:41 1999
Date: Mon, 18 Jan 1999 14:46:31 -0500
From: Cliff Reiter <reiterc@lafvax.lafayette.edu>
Subject: Jforum: Math Meetings
Organization: Lafayette College
Content-type: text/plain; charset=us-ascii

I thought I'ld let this forum know that Iverson Software
had a booth in the exhibit area at the National math meetings
in San Antonio Texas last week. The display was very inviting
and professional. Anne Faust held down the fort most of the time
with Eric spending just a bit of time there. I understand that
many of the ISI & Strand folks had conflicting commitments but
I think the presence of ISI at the meetings was very important.
I hope some great contacts were made.  Good work & thanks.

My students spoke at the meetings and described some of their
J work. The talk was well received.

Best,
Cliff

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

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

From owner-jsoftware@lists.interlog.com  Mon Jan 18 16:52:54 1999
From: "Randy MacDonald" <randy@godin.on.ca>
Subject: Re: Jforum: http server
Date: Mon, 18 Jan 1999 16:40:49 -0500
	charset="iso-8859-1"

It's probably no more than 40 lines of J given the version
I see in the APL+Win package. Is that something you'd pay for?

-----Original Message-----
From: Simon Garland <simon_garland@bluewin.ch>
Date: January 15, 1999 11:13 AM
Subject: Jforum: http server

>does anyone have a slightly hacked version of the J socket server code that
>acts as an HTTP server (handles header records, GET/POST etc..)? I'd prefer
>not to write it myself unless I have too..
>
>/Simon
>
>
>
>
>---------------------------------------------------------------------------
-----
>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 Jan 18 16:57:53 1999
Date: Mon, 18 Jan 1999 22:44:59 +0100 (MET)
From: Martin Neitzel <neitzel@gaertner.de>
Subject: Re:  Jforum: length/angle

>    *.271j1
> |domain error
>
> Please, email me if this result is (or isn't) reproducible on other systems,
> especially on non wintel platforms.

Fails the same on the sparcen and rs6000, and yields on Linux/386:

      *.271j1
271.002 0.00369002

Looks like a reasonable result to me.  I'll check out NetBSD & FreeBSD
on the 368 later.

							Martin

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

From owner-jsoftware@lists.interlog.com  Mon Jan 18 18:00:33 1999
Date: Mon, 18 Jan 1999 16:48:35 -0600 (CST)
From: John Howland <jhowland@ariel.cs.trinity.edu>
Subject: Re:  Jforum: length/angle
In-Reply-To: <199901182144.WAA04827@ohura.gaertner.de>

On Mon, 18 Jan 1999, Martin Neitzel wrote:

> >    *.271j1
> > |domain error
> >
> > Please, email me if this result is (or isn't) reproducible on other systems,
> > especially on non wintel platforms.
>
> Fails the same on the sparcen and rs6000, and yields on Linux/386:
>
>       *.271j1
> 271.002 0.00369002

My J 3.02 fails on HP-UX and LinuxPPC, but works on Linux/386

>
> Looks like a reasonable result to me.  I'll check out NetBSD & FreeBSD
> on the 368 later.
>
> 							Martin
>
> --------------------------------------------------------------------------------
> J Forum: for information about this list, see http://www.jsoftware.com/forum.htm
>

________________________________________________________________
John E. Howland        url: http://www.cs.trinity.edu/~jhowland/
Computer Science     email: jhowland@ariel.cs.trinity.edu
Trinity University   voice: (210) 736-7480
715 Stadium Drive      fax: (210) 736-7477
San Antonio, Texas  78212-7200

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

From owner-jsoftware@lists.interlog.com  Tue Jan 19 02:34:26 1999
From: Andromeda <milan.ice@bluewin.ch>
Subject: Jforum: 271j1
Date: Tue, 19 Jan 1999 08:16:55 +0100
Content-Type: multipart/mixed; boundary="---- =_NextPart_000_01BE4384.1457E040"

------ =_NextPart_000_01BE4384.1457E040

The thing with the transform into polar coordinates *. 271j1 produces for me a ?domain error" as well.
Im running the released version of J 4.02a on the windows 98 platform.

......Milan

------ =_NextPart_000_01BE4384.1457E040
Content-Type: application/ms-tnef
Content-Transfer-Encoding: base64

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

------ =_NextPart_000_01BE4384.1457E040--

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

From owner-jsoftware@lists.interlog.com  Tue Jan 19 03:00:13 1999
Date: Tue, 19 Jan 99 00:48:44 MST
From: jkt@pocus.hexagon.com (Joey Tuttle)
Subject: Re:  Jforum: 271j1

In Sun OS (Unix) -
jkt@pocus$ j
J 3.01  Copyright (c) 1990-1996, Iverson Software Inc.  All rights reserved.

   *. 271j1
|domain error
|       *.271j1
   jkt@pocus$
jkt@pocus$ j2
ld.so: warning: /usr/lib/libc.so.1.8 has older revision than expected 9
J 2.04  Copyright (c) 1990-1995, Iverson Software Inc.  All Rights Reserved.

   *. 271j1
271.002 0.00369002j_2.22045e_16
   jkt@pocus$
jkt@pocus$

Interesting...

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

From owner-jsoftware@lists.interlog.com  Tue Jan 19 03:10:16 1999
From: "=?iso-8859-1?Q?Leo_V=F5handu?=" <leov@cc.ttu.ee>
Subject: Re: Jforum: length/angle
Date: Tue, 19 Jan 1999 09:55:25 +0200
	charset="iso-8859-1"

On Win98 j402 p300 I got 0.999993j 0.00369001 and _0.999993j 0.00369001
-----Original Message-----
From: Andrew Nikitin <nsg@voxel.kharkov.ua>
Date: 18. jaanuar 1999. a. 16:37
Subject: Jforum: length/angle

>I have some troubles with using monadic *. (length/angle) primitive.
>I have experienced this with j402/windows 95 running p100.
>
>   *.271j1
>|domain error
>|       *.271j1
>   *._271j1
>271.002 3.1379
>
>For the most of other (but not all) complex numbers *. seems to work fine.
>
>Can anybody explain such strange behaviour of *.? What magical properties
does
>271j1 have?
>
>Please, email me if this result is (or isn't) reproducible on other
systems,
>especially on non wintel platforms.
>
>
>nsg
>
>
>
>---------------------------------------------------------------------------
-----
>J Forum: for information about this list, see
http://www.jsoftware.com/forum.htm
>

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

From owner-jsoftware@lists.interlog.com  Tue Jan 19 03:49:51 1999
>Received: from pc2-rru.oce.nl by smtp02.oce.nl (4.1/SMI-4.1)
	id AA28945; Tue, 19 Jan 99 09:31:23 +0100
Date: Tue, 19 Jan 1999 09:30:26 +0100
From: Jeroen Teitsma <qjte@oce.nl>
Subject: Re: Jforum: length/angle
In-Reply-To: <AB8Zpes8l7@voxel.kharkov.ua>

It also seems to be localised problem. *.271.01j1 and 271j0.99 produce the
same error (J3.03 and J4.01 for windows on a P166MMX), but *.271.02j1 and


Jeroen

At 14:36 18/01/99 , you wrote:
>I have some troubles with using monadic *. (length/angle) primitive.
>I have experienced this with j402/windows 95 running p100.
>
>   *.271j1
>|domain error
>|       *.271j1
>   *._271j1
>271.002 3.1379
>
>For the most of other (but not all) complex numbers *. seems to work fine.
>
>Can anybody explain such strange behaviour of *.? What magical properties
does
>271j1 have?
>
>Please, email me if this result is (or isn't) reproducible on other systems,
>especially on non wintel platforms.
>
>
>nsg
>
>
>
>---------------------------------------------------------------------------
-----
>J Forum: for information about this list, see
http://www.jsoftware.com/forum.htm
>

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

From owner-jsoftware@lists.interlog.com  Tue Jan 19 03:56:22 1999
From: "Simon Garland" <simon_garland@bluewin.ch>
Subject: Jforum: http server
Date: Tue, 19 Jan 1999 09:02:11 +0100
	charset="iso-8859-1"

pay for? no ..
guess I'll have to get round to it myself

/Simon

-----Original Message-----
From: owner-jsoftware@lists.interlog.com
[mailto:owner-jsoftware@lists.interlog.com]On Behalf Of Randy MacDonald
Sent: 18 January 1999 22:41
Subject: Re: Jforum: http server

It's probably no more than 40 lines of J given the version
I see in the APL+Win package. Is that something you'd pay for?

-----Original Message-----
From: Simon Garland <simon_garland@bluewin.ch>
Date: January 15, 1999 11:13 AM
Subject: Jforum: http server

>does anyone have a slightly hacked version of the J socket server code that
>acts as an HTTP server (handles header records, GET/POST etc..)? I'd prefer
>not to write it myself unless I have too..
>
>/Simon
>
>
>
>
>---------------------------------------------------------------------------
-----
>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 voxel.kharkov.ua!nsg@voxel.kharkov.ua  Tue Jan 19 05:43:36 1999
References: <199901181515.KAA06764@goedel.math.uwaterloo.ca>
Organization: Voxel
From: "Andrew Nikitin" <nsg@voxel.kharkov.ua>
Date: Mon, 18 Jan 1999 18:24:52 +0200 (EET)
Subject: Re: Jforum: length/angle

18-Jan-99 10:15 Lee Dickey wrote:
> I tried your number on a unix system using J 3.05.  Your error appeared there.
> Using J7 (1993) on a Mac, no error with this number.
>

Thank you for information. I suspect error in pentium builtin coprocessor is
reason of the effect. Is it true, that your j305/unix runs on intel-pentium
machine?

nsg

From owner-jsoftware@lists.interlog.com  Tue Jan 19 11:28:11 1999
References: <001801be4318$e002ab60$33cb22cf@f3nbp>
Organization: Voxel
From: "Andrew Nikitin" <nsg@voxel.kharkov.ua>
Date: Tue, 19 Jan 1999 13:32:06 +0200 (EET)
Subject: Re: Jforum: Re: local variables

18-Jan-99 10:51 Roger Hui wrote:
>
> This is probably a result of stricter enforcement of the rules.  In the above example,
> the explicit definition f2 began a new scope, wherein names are either strictly local or global.
> In the circumstance, the name f1 is undefined since it is neither local (not defined in f2)
> nor global (not defined outside of test or f2).
>

So, if definition of f2 wouldn't be explicit (and would be tacit, for example)
then it wouldn't begin new scope and we may use f1 in it. I understand this,
but such rules allow following strange-looking twins:

=============== twin scripts ===================
test2=: 3 : 0
f1=. +:
f2=. 3 : 'f1 f1 y.'
f2 y.
)

test3=: 3 : 0
f1=. +:
f2=. 13 : 'f1 f1 y.'
f2 y.
)
============= Session log ==============
   test2 4
|value error: f1
|   f1     f1 y.
   test3 4
16
=============== end ===================

nsg

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

From owner-jsoftware@lists.interlog.com  Tue Jan 19 11:34:21 1999
From: "Roger Hui" <RHui@interlog.com>
Subject: Jforum: Re: local variables
Date: Tue, 19 Jan 1999 11:21:43 -0500
	charset="iso-8859-1"

Andrew Nikitin writes on Tuesday, January 19:

>So, if definition of f2 wouldn't be explicit (and would be tacit, for example)
>then it wouldn't begin new scope and we may use f1 in it. I understand this,
>but such rules allow following strange-looking twins:

Yup.

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

From owner-jsoftware@lists.interlog.com  Tue Jan 19 15:34:49 1999
Date: Tue, 19 Jan 1999 22:09:03 +0200 (EET)
From: Oleg Kobchenko <gccinc@usa.net>
Subject: Re: Jforum: Re: local variables
In-Reply-To: <ABsq6fs8A6@voxel.kharkov.ua>

There is nothing strange here. `Scope' is applicable to
the script itself. The tacit definition creates no
script and is just substituted (parenthesized) into
the expression.

It's like C preprocessor on per-term level. Hence,
analogously, no scope for locals.

And of course f2 in 3 is just f1@f1, which gets
directly substituted, and f2 y. becomes (f1@f1)y.

On Tue, 19 Jan 1999, Andrew Nikitin wrote:

> So, if definition of f2 wouldn't be explicit (and would be tacit, for example)
> then it wouldn't begin new scope and we may use f1 in it. I understand this,
> but such rules allow following strange-looking twins:
>
> =============== twin scripts ===================
> test2=: 3 : 0
> f1=. +:
> f2=. 3 : 'f1 f1 y.'
> f2 y.
> )
>
> test3=: 3 : 0
> f1=. +:
> f2=. 13 : 'f1 f1 y.'
> f2 y.
> )

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

From owner-jsoftware@lists.interlog.com  Wed Jan 20 09:58:14 1999
From: "Nichols, Peter" <pnichols@sprinc.com>
Subject: Jforum: XL Macros
Date: Wed, 20 Jan 1999 08:30:45 -0600
	charset="iso-8859-1"

I'm running into a problem with the XL macros.  I can read worksheets fine
as long as the worksheet names don't contain spaces.  Unfortunately almost
all of the worksheets I need to work with have spaces in their names.  Is
there an easy fix for this, or do I need to rewrite xlutil?

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

From owner-jsoftware@lists.interlog.com  Wed Jan 20 10:34:41 1999
References: <Pine.LNX.4.04.9901192207160.23270-100000@spin.vl.net.ua>
Organization: Voxel
From: "Andrew Nikitin" <nsg@voxel.kharkov.ua>
Date: Wed, 20 Jan 1999 15:57:01 +0200 (EET)
Subject: Re: Jforum: Re: local variables

19-Jan-99 22:09 Oleg Kobchenko wrote:
> The tacit definition creates no
> script and is just substituted (parenthesized) into
> the expression.
>
> It's like C preprocessor on per-term level.

I don't think so. Substitution is performed at compile time, while resolution
of tacit verbs and verb names in tacit definitions occures at runtime (with
all consequences follow). So, analogue with macrosubstitution isn't good.

> And of course f2 in 3 is just f1@f1, which gets
> directly substituted, and f2 y. becomes (f1@f1)y.

Oops, f2 y. "becomes" ([: f1 [: f1 ])y. of course. With some respect to you we
may wish it to be equivalent to (f1@:f1)y. of course but not to (f1@f1)y. of
course.

Leaving purity debates aside:

Funny thing of the case is that (13 :) adverb may fail converting
its arg to tacit form and leave it explicit for reasons not related to f1.

nsg

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

From owner-jsoftware@lists.interlog.com  Wed Jan 20 10:39:49 1999
Date: Wed, 20 Jan 1999 15:18:50 +0100
From: David Alis <dalis@balcab.ch>
Subject: Jforum: OLE question

An OLE question...
the vb object browser shows the different methods for the jexeserver ...

in particular there are 3 varations of set and get; for example  get,
getb and getm;; what's the difference. The online stuff doesnt seem to
explain. Neither does the vb sample vb scripts.
dal

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

From owner-jsoftware@lists.interlog.com  Wed Jan 20 12:48:32 1999
Date: Wed, 20 Jan 1999 19:09:54 +0200
From: Anssi  Seppala <anssi.seppala@enease.fi>
Subject: Re: Jforum: OLE question
In-Reply-To: <36A5E5CA.95262606@balcab.ch>

Eric gave me answer to that question a month ago. I repeat it here:

The VB object browser for a J server should show the Set/SetB syntax.

The syntax of Get/GetB and Set/SetB are the same. Both take a name (used
as a name in the J server), and a variant in the client. Get/GetB gets
the value from the J name and sets it as the variant value. Set/SetB
sets the value of the variant into the J name. The B suffix is a flag
that indicates how character string data is treated. Without the B
suffix, J strings map to client byte vectors. With the B suffix, J
strings map to client BSTRs. BSTR data is convenient in VB, but byte
vectors are more convenient in C++ and Java. You can use both in VB, but
you will want simple utilities to convert between a byte vector and a
BSTR.

At 15:18 20.1.1999 +0100, you wrote:
>
>An OLE question...
>the vb object browser shows the different methods for the jexeserver ...
>
>in particular there are 3 varations of set and get; for example  get,
>getb and getm;; what's the difference. The online stuff doesnt seem to
>explain. Neither does the vb sample vb scripts.
>dal
>
>
>----------------------------------------------------------------------------
>----
>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 Jan 21 17:31:54 1999
From: "Nichols, Peter" <pnichols@sprinc.com>
Subject: Jforum: Astromomer Day Number Functions
Date: Thu, 21 Jan 1999 16:01:33 -0600

There used to be two utilities written in APL for converting between dates
(ccyy mm dd) and astronomer day numbers.  Does anyone have a J version of
them, or do you know where I could find the original source so I can convert
them?   Thanks in advance.

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

From owner-jsoftware@lists.interlog.com  Thu Jan 21 18:05:44 1999
From: "David Steinbrook" <davidst@pacbell.net>
Subject: Re: Jforum: Astromomer Day Number Functions
Date: Thu, 21 Jan 1999 14:25:43 -0800
	charset="iso-8859-1"

require 'dates'
   todate todayno 19990121
19990121
-----Original Message-----
From: Nichols, Peter <pnichols@sprinc.com>
Date: Thursday, January 21, 1999 14:11
Subject: Jforum: Astromomer Day Number Functions

>There used to be two utilities written in APL for converting between dates
>(ccyy mm dd) and astronomer day numbers.  Does anyone have a J version of
>them, or do you know where I could find the original source so I can convert
>them?   Thanks in advance.
>
>-----------------------------------------------------------------------------
---
>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 Jan 21 21:26:18 1999
From: "John D. Baker" <bakerjd@kos.net>
Subject: Re: Jforum: Astromomer Day Number Functions
Date: Thu, 21 Jan 1999 21:13:07 -0500
	charset="iso-8859-1"

Funny that you should ask:

>There used to be two utilities written in APL for converting between dates
>(ccyy mm dd) and astronomer day numbers.  Does anyone have a J version of
>them, or do you know where I could find the original source so I can
convert
>them?   Thanks in advance.

The following J verbs do more or less what you want.  You
may have to fiddle with the input date formats (will
we ever stop fiddling with date formats)

NB. Julian day numbers  from Calendar dates

julfrcal =: 3 : 0

NB. Julian dates from calendar dates (*)=. y m d
NB. takes 3*n integer tables of dates.

NB. vector J                         NB.  scalar BASIC
'y m d' =. y.                        NB.  INPUT "Y,M,D ";Y,M,D
g =. 1582 <: y                       NB.  G=1: IF Y<1582 THEN G=0
f =. (d - d1) - 0.5 [ d1 =. <. d     NB.  D1=INT(D): F=D-D1-0.5
j =. - <. 7 * 4 %~ <.y + 12 %~ m+9   NB.  J=-INT(7*(INT((M+9)/12)+Y)/4)
                                     NB.  IF G=0 THEN 805
s =. * m-9 [ a =. | m-9              NB.  S=SGN(M-9): A=ABS(M-9)
j3 =. <. y + s * <. a%7              NB.  J3=INT(Y+S*INT(A/7))
j3 =. - <. 3r4 * >: <. j3 % 100      NB.  J3=-INT((INT(J3/100)+1)*3/4)
j =. j + (<.275 * m%9) + d1 + g*j3   NB. 805  J=J+INT(275*M/9)+D1+G*J3
j =. j + 1721027 + (2*g) + 367*y     NB.  J=J+1721027+2*G+367*Y
b =. f >: 0                          NB.  IF F>=0 THEN 825
f =. f + b [ j =. j - b              NB.  F=F+1: J=J-1
f + j
)

NB. Calendar dates from Julian day numbers:  inverse of calfrjul, example
call:
NB.
NB.     calfrjul julfrcal |: 10 # ,: 1999 1 1

calfrjul =: 3 : 0
NB. converts Julian day numbers to dates, inverse <julfrcal>
NB. y. = Julian day numbers
NB. x. = optional:
NB.   0 - result in form <yyyy mm dd.fd> (default)
NB.   1 - result in form <yyyymmdd.fd>
0 calfrjul y.
:
NB. Gregorian Calendar correction
b      =. 2299161 <: y.
jalpha =. <. 36524.25 %~ _0.25 + y. - 1867216
ja     =. (y. * -. b) + b * y. + 1 + jalpha - <. 0.25 * jalpha

jb =. ja + 1524
jc =. <. 6680.0 + ((jb - 2439870) - 122.1) % 365.25
jd =. <. (365 * jc) + 0.25 * jc
je =. <. (jb - jd) % 30.6001

id =. 0.5 + (jb - jd) - <. 30.6001 * je
mm =. je - 1
mm =. mm - 12 * mm > 12

iyyy =. jc - 4715
iyyy =. iyyy - mm > 2
iyyy =. iyyy - iyyy <: 0

NB. convert result format
if. x. do. 100 #. |: iyyy , mm ,: id  else. |: iyyy , mm ,: id end.
)

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

From owner-jsoftware@lists.interlog.com  Fri Jan 22 02:30:40 1999
>Received: from pc1-jwj.oce.nl by smtp02.oce.nl (4.1/SMI-4.1)
	id AA24369; Fri, 22 Jan 99 08:12:54 +0100
Date: Fri, 22 Jan 99 08:12:54 +0100
From: jwj@oce.nl (Jan Jacobs)
Subject: Jforum: stop-continue

ls,
is there a way to emulate Basic's ctrl-C and continue commands? One way I
can stop a Jscript is by hitting the window close "cross" of the whole session.

Another way is to open an arbitrary window -using the files for Windows
based object graphics from J by Cliff Reiter: sogwin'...'- and by closing
this window the execution stops.

Both ways are no solutions for this problem.

Does anyone know a solution for this? I use a WIN95 3.03 version; have
things changed until now?
Jan Jacobs.

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

From owner-jsoftware@lists.interlog.com  Fri Jan 22 07:15:56 1999
Date: Fri, 22 Jan 1999 12:59:43 +0100 (MET)
From: Martin Neitzel <neitzel@gaertner.de>
Subject: Re:  Jforum: stop-continue

From: jwj@oce.nl (Jan Jacobs)
>
> is there a way to emulate Basic's ctrl-C and continue commands?

Sure.  Watch this:

J 4.02  Copyright (c) 1990-1998, Iverson Software Inc.  All rights reserved.

loopdemo =: monad define
	for_i. i. y. do.
	1!:2&2 i	NB. write to screen
	6!:3 ] 5	NB. 5 seconds delay
	end.
	y.
)
   loopdemo 4
0
1
2
3
4
   loopdemo 4
0
1
^C|break: loopdemo
|       6!:3]5
   9!:12 ''
5
   NB. Unix

On a PC running DOS or Windows (any version), J uses Ctrl-Break
as the break character.

The break is an event which will trigger the debugger or any
try./catch. if enabled.

Note that a break can only take effect after a J primitive
(or, at the discretion of the implementation, even a phrase of
a few primitives) has been completed.  In the example about,
you have to wait until the currently running 5-second delay
is completed.  Likewise for long running matrix computations,
blocking reads from a socket etc.

						Martin

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

From owner-jsoftware@lists.interlog.com  Fri Jan 22 10:11:21 1999
From: "Nichols, Peter" <pnichols@sprinc.com>
Subject: Jforum: Long File Names
Date: Fri, 22 Jan 1999 08:47:58 -0600
	charset="iso-8859-1"

Is there a utility to convert long file names to their dos equivalents?
If I have '1999-05-02 data.xls', can I convert that to '1999-05-0~1.xls' ?
The reason I ask is that I have to be able to use the xl utilities to read
and write excel workbooks that have extended names with spaces in
them.    Thanks.

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

From owner-jsoftware@lists.interlog.com  Fri Jan 22 11:03:32 1999
Date: Fri, 22 Jan 1999 16:47:05 +0100 (MET)
From: Martin Neitzel <neitzel@gaertner.de>
Subject: Re:  Jforum: Long File Names

> Is there a utility to convert long file names to their dos equivalents?

Are you sure you need this?  The FAT/VFAT/FAT32 file sytem drivers
will automatically do truncations/conversations/mappings when you
use a long name in some way depending on the file system in use.

I.e., just the long names for both writing and reading.

If I remember correctly, the exact algorithm for filename shortening
is documented in the big Windows Resource Kit help file coming on
every Windows CD.  (Not covered by the installation procedures.
Copy it manually from \admin\help\rk or something along these lines.)

							Martin

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

From owner-jsoftware@lists.interlog.com  Fri Jan 22 11:12:14 1999
Date: Fri, 22 Jan 1999 10:55:21 -0500
From: David Ness <DNess@home.com>
Subject: Re: Jforum: Long File Names
References: <01074BD4EEC4D1118E3200805F6542A7177D9A@SPRDALLAS2>

Conversion of LFNs into Dos equivalents is a more complex issue than
may meet the eye at first. To summarize, which `~n' gets attached
to the Dos Filename depends on the `state' of the directory in which
the file is created at the moment that the file is first made. Thus
a particular `ABCD_EFGH_IJK' might get named `ABCD_E~1' in one
directory and `ABCD_E~2' in some other directory, or might get one
name at one time and the other name at some other time even in the
same directory...

IMO the `right' answer is, I say somewhat sadly---and with no respect
whatever for the bozos who decided to do things this way when designing
Windows---is to avoid use of names that require conversion.

Nichols, Peter wrote:
>
> Is there a utility to convert long file names to their dos equivalents?
> If I have '1999-05-02 data.xls', can I convert that to '1999-05-0~1.xls' ?
> The reason I ask is that I have to be able to use the xl utilities to read
> and write excel workbooks that have extended names with spaces in
> them.    Thanks.
>

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

From owner-jsoftware@lists.interlog.com  Fri Jan 22 11:30:21 1999
From: "J Tibollo" <jtibollo@backassociates.com>
Subject: Re: Jforum: Long File Names
Date: Fri, 22 Jan 1999 11:19:42 -0500
	charset="iso-8859-1"

I am still surprised that J still does not completely support long file
names.  For example, if you run an application and supply a start up script
to the J runtime, the name can be longer than 8.3 but must not contain
spaces.  Obviously, this has something to do with the way the J interpreter
parses the command line.  Let's finish the job, and allow the use of long
filenames (with spaces) everywhere.

J. Tibollo

-----Original Message-----
From: David Ness <DNess@home.com>
Date: Friday, January 22, 1999 10:57 AM
Subject: Re: Jforum: Long File Names

>Conversion of LFNs into Dos equivalents is a more complex issue than
>may meet the eye at first. To summarize, which `~n' gets attached
>to the Dos Filename depends on the `state' of the directory in which
>the file is created at the moment that the file is first made. Thus
>a particular `ABCD_EFGH_IJK' might get named `ABCD_E~1' in one
>directory and `ABCD_E~2' in some other directory, or might get one
>name at one time and the other name at some other time even in the
>same directory...
>
>IMO the `right' answer is, I say somewhat sadly---and with no respect
>whatever for the bozos who decided to do things this way when designing
>Windows---is to avoid use of names that require conversion.
>
>Nichols, Peter wrote:
>>
>> Is there a utility to convert long file names to their dos equivalents?
>> If I have '1999-05-02 data.xls', can I convert that to '1999-05-0~1.xls'
?
>> The reason I ask is that I have to be able to use the xl utilities to
read
>> and write excel workbooks that have extended names with spaces in
>> them.    Thanks.
>>
>
>---------------------------------------------------------------------------
-----
>J Forum: for information about this list, see
http://www.jsoftware.com/forum.htm
>

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

From owner-jsoftware@lists.interlog.com  Fri Jan 22 11:33:03 1999
From: "Nichols, Peter" <pnichols@sprinc.com>
Subject: RE: Jforum: Long File Names
Date: Fri, 22 Jan 1999 10:07:00 -0600
	charset="iso-8859-1"

The problem comes in when I'm using the XL Ole utilities.  I can't do

xlcmd 'wb open s:\1999-01-02 proj data.xls'

because it counts everything after each space as a separate argument.

	-----Original Message-----
	From:	Martin Neitzel [SMTP:neitzel@gaertner.de]
	Sent:	Friday, January 22, 1999 9:47 AM
	To:	forum@jsoftware.com
	Subject:	Re:  Jforum: Long File Names

	> Is there a utility to convert long file names to their dos
equivalents?

	Are you sure you need this?  The FAT/VFAT/FAT32 file sytem drivers
	will automatically do truncations/conversations/mappings when you
	use a long name in some way depending on the file system in use.

	I.e., just the long names for both writing and reading.

	If I remember correctly, the exact algorithm for filename shortening
	is documented in the big Windows Resource Kit help file coming on
	every Windows CD.  (Not covered by the installation procedures.
	Copy it manually from \admin\help\rk or something along these
lines.)

								Martin

----------------------------------------------------------------------------
----
	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 Jan 22 11:57:28 1999
Date: Fri, 22 Jan 1999 11:41:05 -0500
From: Eric Iverson <eiverson@interlog.com>
Organization: Iverson Software Inc.
Subject: Re: Jforum: Long File Names
References: <01074BD4EEC4D1118E3200805F6542A7177D9A@SPRDALLAS2>

Nichols, Peter wrote:
>
> Is there a utility to convert long file names to their dos equivalents?
> If I have '1999-05-02 data.xls', can I convert that to '1999-05-0~1.xls' ?
> The reason I ask is that I have to be able to use the xl utilities to read
> and write excel workbooks that have extended names with spaces in
> them.    Thanks.

There is a Win32 API call to convert a longname path to a short name
path.

   require 'dll'
   getshortpath=. 'kernel32 GetShortPathNameA i *c *c i'&(15!:0)
   >2{getshortpath 'c:\program files\winzip\license.txt';(256#' ');256
c:\PROGRA~1\winzip\license.txt

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

From owner-jsoftware@lists.interlog.com  Fri Jan 22 12:37:24 1999
From: "Nichols, Peter" <pnichols@sprinc.com>
Subject: RE: Jforum: Long File Names
Date: Fri, 22 Jan 1999 11:14:54 -0600

Thanks Everyone!

	-----Original Message-----
	From:	Eric Iverson [SMTP:eiverson@interlog.com]
	Sent:	Friday, January 22, 1999 10:41 AM
	To:	forum@jsoftware.com
	Subject:	Re: Jforum: Long File Names

	Nichols, Peter wrote:
	>
	> Is there a utility to convert long file names to their dos
equivalents?
	> If I have '1999-05-02 data.xls', can I convert that to
'1999-05-0~1.xls' ?
	> The reason I ask is that I have to be able to use the xl utilities
to read
	> and write excel workbooks that have extended names with spaces in
	> them.    Thanks.

	There is a Win32 API call to convert a longname path to a short name
	path.

	   require 'dll'
	   getshortpath=. 'kernel32 GetShortPathNameA i *c *c i'&(15!:0)
	   >2{getshortpath 'c:\program files\winzip\license.txt';(256#'
');256
	c:\PROGRA~1\winzip\license.txt

----------------------------------------------------------------------------
----
	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 Jan 23 09:48:12 1999
References: <36A8AA21.3266@interlog.com>
Organization: Voxel
From: "Andrew Nikitin" <nsg@voxel.kharkov.ua>
Date: Sat, 23 Jan 1999 16:21:35 +0200 (EET)
Subject: Jforum: more on length/angle

It is known that some ports of j (in particular w95 port) yield domain error
on evaluation of *.271j1

I have found more numbers yielding the same:
271j1 391j1 513j1 514j1 518j1 521j1 523j1 524j1 526j1 528j1
533j1 534j1 536j1 542j2 543j1 545j1 554j1 559j1 560j1 567j1
575j1 576j1 587j1 598j1 600j1 601j1 606j1 615j1 616j1 617j1
etc...

Let's call these numbers "bad numbers". Then bad number multiplied by power of
2 is bad number. Bad number divided by power of 2 is bad number. In addition
to powers of 2 there are another multipliers giving bad number. For example
271j1 * 489 971 978 are all bad numbers. Also 391j1 * 11 21 22 42 43 44

Jeroen Teitsma <qjte@oce.nl> noticed that not only complex integers produce
the effect. In almost every unit square some bad numbers exist: 3122.01j2.02
3.3j0.01 1111.01j1.02 and so on.

I think this is bug in math library used by j. (BTW, who knows what library is
used?)

Is there j primitive, that calculates argument of complex number?

nsg

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

From owner-jsoftware@lists.interlog.com  Sat Jan 23 12:53:32 1999
From: "Roger Hui" <RHui@interlog.com>
Subject: Jforum: Re: more on length/angle
Date: Sat, 23 Jan 1999 12:43:37 -0500
	charset="iso-8859-1"

Re: *.y domain errors reported by Andrew Nitkitin:


to an attempt to convert to real an arc with a very small imaginery part.  You can see this
(and also get around the problem for the nonce) by applying f=: 10 12&o."0.  Thus:

   f 271j1
271.002 0.00369002j_2.22045e_16
   f 391j1 513j1
391.001 0.00255754j_2.22045e_16
513.001  0.00194932j1.11022e_16

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

From owner-jsoftware@lists.interlog.com  Sat Jan 23 14:46:13 1999
Date: Sat, 23 Jan 1999 21:27:51 +0200 (EET)
From: Oleg Kobchenko <gccinc@usa.net>
Subject: Re: Jforum: Re: more on length/angle
In-Reply-To: <001001be46f7$eb6231a0$e00714d1@f3nbp>

On Sat, 23 Jan 1999, Roger Hui wrote:

> Re: *.y domain errors reported by Andrew Nitkitin:
>
> *. y is defined to be the length and the arc for y.  In all cases, the erroneous domain error is due
> to an attempt to convert to real an arc with a very small imaginery part.  You can see this
> (and also get around the problem for the nonce) by applying f=: 10 12&o."0.  Thus:
>
>    f 271j1
> 271.002 0.00369002j_2.22045e_16
>    f 391j1 513j1
> 391.001 0.00255754j_2.22045e_16
> 513.001  0.00194932j1.11022e_16

How can an angle have an imaginary part?
(In mathematical sense)

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

From owner-jsoftware@lists.interlog.com  Sat Jan 23 19:14:12 1999
From: "Roger Hui" <RHui@interlog.com>
Subject: Jforum: Re: more on length/angle
Date: Sat, 23 Jan 1999 18:58:28 -0500
	charset="iso-8859-1"

Roger Hui :

> Re: *.y domain errors reported by Andrew Nitkitin:
>
> *. y is defined to be the length and the arc for y.  In all cases, the erroneous domain error is due
> to an attempt to convert to real an arc with a very small imaginery part.  You can see this
> (and also get around the problem for the nonce) by applying f=: 10 12&o."0.  Thus:
>
>    f 271j1
> 271.002 0.00369002j_2.22045e_16
>    f 391j1 513j1
> 391.001 0.00255754j_2.22045e_16
> 513.001  0.00194932j1.11022e_16

Oleg Kobchenko:

>How can an angle have an imaginary part?
>(In mathematical sense)

Exactly; and that is how I made the error.  The arc of y is computed by 0j_1 * ^. * y, a formula derived
from Euler's identity.  But:

   * 271j1
0.999993j0.00369001
   ^. * 271j1
2.22045e_16j0.00369002
   0j_1 * ^. * 271j1
0.00369002j_2.22045e_16

I had assumed that the last quantity would be within fuzz of real, and invoked the code that coerces
complex numbers into reals.  It is in the coercion that the domain error is signalled.

The solution probably is to replace the above formula by one based on _3 o. %~/ +. * y,
the arctan of the ratio between the imaginary and real parts of the signum of y.  Thus:

   +. * 271j1
0.999993 0.00369001
   %~/ +. * 271j1
0.00369004
   _3 o. %~/ +. * 271j1
0.00369002

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

From owner-jsoftware@lists.interlog.com  Mon Jan 25 08:46:59 1999
Date: Mon, 25 Jan 1999 15:23:16 +0200 (EET)
From: Oleg Kobchenko <gccinc@usa.net>
Subject: Re: Jforum: Re: more on length/angle
In-Reply-To: <002b01be472c$48a41ac0$e00714d1@f3nbp>

10 ways of obtaining Complex Arg w(/o) error

   Z=: 271j1 271j_1

   (10 12&o."0) Z                 NB. (1) using J circle funcs
271.002  0.00369002j_2.22045e_16  NB.   strange Im part
271.002 _0.00369002j_2.22045e_16

   *. 1e_7&+ Z         NB. (2) adding a small number
271.002  0.00369002
271.002 _0.00369002
   *. 1e_8&+ Z         NB. but a essentially noticible
|domain error
|       *.1e_8&+Z

   ([ , -&1r2p1@])/@*.@j. Z NB. (3) turn back ] *. ] turn 90deg
271.002  0.00369002
271.002 _0.00369002

   (%@[ , -@])/@*.@% 271j1 Z  NB. (4) (1/Mag 1/z) , (-Arg 1/z)
271.002  0.00369002
271.002 _0.00369002

   (| , _3&o.@%/@|.@+.)"0 Z    NB. (5) Arg=atan y/x
271.002  0.00369002
271.002 _0.00369002

   (| , {:@*.@*)"0 Z           NB. (6) Arg z = Arg +z
271.002  0.00369002
271.002 _0.00369002

   (| , {:@+.@^.)"0 Z          NB. (7) arg z = Im ln z
271.002  0.00369002
271.002 _0.00369002

  (^@{. , {:)@+.@^. Z          NB. (8) ln|z| + i arg z = ln z
271.002  0.00369002
271.002 _0.00369002

   (% |) 271j1             NB. z/|z| == *z
0.999993j0.00369001
   ^.(% |) 271j1           NB. (9) i ln *z = arg z
2.22045e_16j0.00369002     NB. here Re should be 0 !

  0j_1 * ^.(% |) 271j1     NB. this should've been real
0.00369002j_2.22045e_16

   *271j1                  NB. *z == z/|z|
0.999993j0.00369001
   *.*271j1
1 0.00369002               NB. here angle is correct
   ^.*271j1                NB. (10)
2.22045e_16j0.00369002     NB. here Re should be 0 !

   ^.1                     NB. | z/|z| | == 1
0
   |*271j1
1
   12 o. 271j1             NB. the same strange Im part
0.00369002j_2.22045e_16

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

From owner-jsoftware@lists.interlog.com  Mon Jan 25 09:29:05 1999
Date: Mon, 25 Jan 1999 16:13:43 +0200 (EET)
From: Oleg Kobchenko <gccinc@usa.net>
Subject: Re: Jforum: Re: more on length/angle
In-Reply-To: <002b01be472c$48a41ac0$e00714d1@f3nbp>

On Sat, 23 Jan 1999, Roger Hui wrote:

> Exactly; and that is how I made the error.  The arc of y is computed by 0j_1 * ^. * y, a formula derived
> from Euler's identity.  But:
>
>    * 271j1
> 0.999993j0.00369001
>    ^. * 271j1
> 2.22045e_16j0.00369002
>    0j_1 * ^. * 271j1
> 0.00369002j_2.22045e_16
>
> I had assumed that the last quantity would be within fuzz of real, and invoked the code that coerces
> complex numbers into reals.  It is in the coercion that the domain error is signalled.
>
> The solution probably is to replace the above formula by one based on _3 o. %~/ +. * y,
> the arctan of the ratio between the imaginary and real parts of the signum of y.  Thus:
>
>    +. * 271j1
> 0.999993 0.00369001
>    %~/ +. * 271j1
> 0.00369004
>    _3 o. %~/ +. * 271j1
> 0.00369002

It is obvious that ^. erroneously returns non-zero Re part.
On unit circle, where *z is, Re@^. is ^.@| and should be
equal to zero, in exact notation.

Is it because of the truncation of computer numbers that the
Re part appears?

But,

   |*271j1
1

So this case when |* is 1 should probably be specifically
checked in complex ^.

If |* had been other than 1 then behaviour of ^. could have been
justified, but it's not.

Apart from that, there's nothing wrong with obtaining
Arg with ^.

--
olegyk

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

From owner-jsoftware@lists.interlog.com  Mon Jan 25 12:55:40 1999
From: "J Tibollo" <jtibollo@backassociates.com>
Subject: Jforum: Saving Contents of a Locale
Date: Mon, 25 Jan 1999 12:46:16 -0500
	boundary="----=_NextPart_000_0004_01BE4860.B2A57240"

This is a multi-part message in MIME format.

------=_NextPart_000_0004_01BE4860.B2A57240
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Does anyone know whether J has a feature which would allow all names in =
a given J locale to be saved / restored  to/from disk.  This would be =
something like the []OR feature that is provided by Dialog APL?

Regards,
Joe Tibollo

------=_NextPart_000_0004_01BE4860.B2A57240
	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.3612.1700"' name=3DGENERATOR>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT color=3D#000000 size=3D2>Does anyone know whether J has a =
feature which=20
would allow all names in a given J locale to be saved / restored&nbsp; =
to/from=20
disk.&nbsp; This would be something like the []OR feature that is =
provided by=20
Dialog APL?</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 size=3D2>Regards,</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2>Joe =
Tibollo</FONT></DIV></BODY></HTML>

------=_NextPart_000_0004_01BE4860.B2A57240--

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

From owner-jsoftware@lists.interlog.com  Mon Jan 25 16:25:36 1999
From: "John D. Baker" <bakerjd@kos.net>
Subject: Re: Jforum: Saving Contents of a Locale
Date: Mon, 25 Jan 1999 16:11:27 -0500
	boundary="----=_NextPart_000_0011_01BE487D.5C729E80"

This is a multi-part message in MIME format.

------=_NextPart_000_0011_01BE487D.5C729E80
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Joe,

There is no direct facility to do this but
it is a simple matter build a boxed list containing
the binary representations of all the objects in
the locale.  This locale list can then be written directly=20
to file.=20

John Baker=20
    -----Original Message-----
    From: J Tibollo <jtibollo@backassociates.com>
    To: forum@jsoftware.com <forum@jsoftware.com>
    Date: Monday, January 25, 1999 12:46 PM
    Subject: Jforum: Saving Contents of a Locale
   =20
   =20
    Does anyone know whether J has a feature which would allow all names =
in a given J locale to be saved / restored  to/from disk.  This would be =
something like the []OR feature that is provided by Dialog APL?
    =20
    Regards,
    Joe Tibollo

------=_NextPart_000_0011_01BE487D.5C729E80
	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><!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 =
HTML//EN">
<META content=3D'"MSHTML 4.72.3110.7"' name=3DGENERATOR>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT color=3D#000000 face=3D"Courier New">Joe,</FONT></DIV>
<DIV><FONT color=3D#000000 face=3D"Courier New"></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 face=3D"Courier New">There is no direct =
facility to do=20
this but</FONT></DIV>
<DIV><FONT color=3D#000000 face=3D"Courier New"></FONT><FONT =
face=3D"Courier New">it=20
is a simple matter build a boxed list containing</FONT></DIV>
<DIV><FONT face=3D"Courier New">the binary representations of all the =
objects=20
in</FONT></DIV>
<DIV><FONT face=3D"Courier New">the locale.&nbsp; This locale list =
</FONT><FONT=20
face=3D"Courier New">can then be written directly </FONT></DIV>
<DIV><FONT face=3D"Courier New">to file.&nbsp;</FONT></DIV>
<DIV><FONT face=3D"Courier New"></FONT>&nbsp;</DIV>
<DIV><FONT face=3D"Courier New">John Baker&nbsp;</FONT></DIV>
<BLOCKQUOTE=20
style=3D"BORDER-LEFT: #000000 solid 2px; MARGIN-LEFT: 5px; PADDING-LEFT: =
5px">
    <DIV><FONT face=3DArial size=3D2><B>-----Original =
Message-----</B><BR><B>From:=20
    </B>J Tibollo &lt;<A=20
    =
href=3D"mailto:jtibollo@backassociates.com">jtibollo@backassociates.com</=
A>&gt;<BR><B>To:=20
    </B><A href=3D"mailto:forum@jsoftware.com">forum@jsoftware.com</A> =
&lt;<A=20
    =
href=3D"mailto:forum@jsoftware.com">forum@jsoftware.com</A>&gt;<BR><B>Dat=
e:=20
    </B>Monday, January 25, 1999 12:46 PM<BR><B>Subject: </B>Jforum: =
Saving=20
    Contents of a Locale<BR><BR></DIV></FONT>
    <DIV><FONT color=3D#000000 size=3D2>Does anyone know whether J has a =
feature=20
    which would allow all names in a given J locale to be saved / =
restored&nbsp;=20
    to/from disk.&nbsp; This would be something like the []OR feature =
that is=20
    provided by Dialog APL?</FONT></DIV>
    <DIV><FONT color=3D#000000 size=3D2></FONT>&nbsp;</DIV>
    <DIV><FONT color=3D#000000 size=3D2>Regards,</FONT></DIV>
    <DIV><FONT color=3D#000000 size=3D2>Joe=20
Tibollo</FONT></DIV></BLOCKQUOTE></BODY></HTML>

------=_NextPart_000_0011_01BE487D.5C729E80--

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

From owner-jsoftware@lists.interlog.com  Mon Jan 25 18:17:50 1999
From: "J Tibollo" <jtibollo@backassociates.com>
Subject: Re: Jforum: Saving Contents of a Locale
Date: Mon, 25 Jan 1999 18:11:02 -0500
	boundary="----=_NextPart_000_001E_01BE488E.116C03C0"

This is a multi-part message in MIME format.

------=_NextPart_000_001E_01BE488E.116C03C0
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

John:

Can you give me an example. I.E. If I have nouns A B and C and verbs =
verb1 verb2 and verb3 - how would I build a boxed list of their binary =
representations?  Do I need to keep track of the their names as well?  =
Do the binary representations contain all that is needed in order to =
re-establish them in the workspace - similar to APL's []FX?

Regards,
Joe
    -----Original Message-----
    From: John D. Baker <bakerjd@kos.net>
    To: forum@jsoftware.com <forum@jsoftware.com>
    Date: Monday, January 25, 1999 4:14 PM
    Subject: Re: Jforum: Saving Contents of a Locale
   =20
   =20
    Joe,
    =20
    There is no direct facility to do this but
    it is a simple matter build a boxed list containing
    the binary representations of all the objects in
    the locale.  This locale list can then be written directly=20
    to file.=20
    =20
    John Baker=20
        -----Original Message-----
        From: J Tibollo <jtibollo@backassociates.com>
        To: forum@jsoftware.com <forum@jsoftware.com>
        Date: Monday, January 25, 1999 12:46 PM
        Subject: Jforum: Saving Contents of a Locale
       =20
       =20
        Does anyone know whether J has a feature which would allow all =
names in a given J locale to be saved / restored  to/from disk.  This =
would be something like the []OR feature that is provided by Dialog APL?
        =20
        Regards,
        Joe Tibollo

------=_NextPart_000_001E_01BE488E.116C03C0
	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><!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 =
HTML//EN"><!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 HTML//EN">
<META content=3D'"MSHTML 4.72.3612.1700"' name=3DGENERATOR>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT color=3D#000000 size=3D2>John:</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>Can you give me an example. I.E. If I have nouns A B =
and C and=20
verbs verb1 verb2 and verb3 - how would I build a boxed list of their =
binary=20
representations?&nbsp; Do I need to keep track of the their names as =
well?&nbsp;=20
Do the binary representations contain all that is needed in order to=20
re-establish them in the workspace - similar to APL's []FX?</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>Regards,</FONT></DIV>
<DIV><FONT size=3D2>Joe</FONT></DIV>
<BLOCKQUOTE=20
style=3D"BORDER-LEFT: #000000 solid 2px; MARGIN-LEFT: 5px; PADDING-LEFT: =
5px">
    <DIV><FONT face=3DArial size=3D2><B>-----Original =
Message-----</B><BR><B>From:=20
    </B>John D. Baker &lt;<A=20
    href=3D"mailto:bakerjd@kos.net">bakerjd@kos.net</A>&gt;<BR><B>To: =
</B><A=20
    href=3D"mailto:forum@jsoftware.com">forum@jsoftware.com</A> &lt;<A=20
    =
href=3D"mailto:forum@jsoftware.com">forum@jsoftware.com</A>&gt;<BR><B>Dat=
e:=20
    </B>Monday, January 25, 1999 4:14 PM<BR><B>Subject: </B>Re: Jforum: =
Saving=20
    Contents of a Locale<BR><BR></DIV></FONT>
    <DIV><FONT color=3D#000000 face=3D"Courier New">Joe,</FONT></DIV>
    <DIV><FONT color=3D#000000 face=3D"Courier New"></FONT>&nbsp;</DIV>
    <DIV><FONT color=3D#000000 face=3D"Courier New">There is no direct =
facility to=20
    do this but</FONT></DIV>
    <DIV><FONT color=3D#000000 face=3D"Courier New"></FONT><FONT=20
    face=3D"Courier New">it is a simple matter build a boxed list=20
    containing</FONT></DIV>
    <DIV><FONT face=3D"Courier New">the binary representations of all =
the objects=20
    in</FONT></DIV>
    <DIV><FONT face=3D"Courier New">the locale.&nbsp; This locale list=20
    </FONT><FONT face=3D"Courier New">can then be written directly =
</FONT></DIV>
    <DIV><FONT face=3D"Courier New">to file.&nbsp;</FONT></DIV>
    <DIV><FONT face=3D"Courier New"></FONT>&nbsp;</DIV>
    <DIV><FONT face=3D"Courier New">John Baker&nbsp;</FONT></DIV>
    <BLOCKQUOTE=20
    style=3D"BORDER-LEFT: #000000 solid 2px; MARGIN-LEFT: 5px; =
PADDING-LEFT: 5px">
        <DIV><FONT face=3DArial size=3D2><B>-----Original=20
        Message-----</B><BR><B>From: </B>J Tibollo &lt;<A=20
        =
href=3D"mailto:jtibollo@backassociates.com">jtibollo@backassociates.com</=
A>&gt;<BR><B>To:=20
        </B><A =
href=3D"mailto:forum@jsoftware.com">forum@jsoftware.com</A> &lt;<A=20
        =
href=3D"mailto:forum@jsoftware.com">forum@jsoftware.com</A>&gt;<BR><B>Dat=
e:=20
        </B>Monday, January 25, 1999 12:46 PM<BR><B>Subject: </B>Jforum: =
Saving=20
        Contents of a Locale<BR><BR></DIV></FONT>
        <DIV><FONT color=3D#000000 size=3D2>Does anyone know whether J =
has a feature=20
        which would allow all names in a given J locale to be saved /=20
        restored&nbsp; to/from disk.&nbsp; This would be something like =
the []OR=20
        feature that is provided by Dialog APL?</FONT></DIV>
        <DIV><FONT color=3D#000000 size=3D2></FONT>&nbsp;</DIV>
        <DIV><FONT color=3D#000000 size=3D2>Regards,</FONT></DIV>
        <DIV><FONT color=3D#000000 size=3D2>Joe=20
Tibollo</FONT></DIV></BLOCKQUOTE></BLOCKQUOTE></BODY></HTML>

------=_NextPart_000_001E_01BE488E.116C03C0--

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

From owner-jsoftware@lists.interlog.com  Mon Jan 25 19:41:47 1999
From: smillie@cs.ualberta.ca
Subject: Jforum: A Very Simple Computer
Date: Mon, 25 Jan 1999 17:26:56 -0700 (MST)

  I have implemented a simple machine-language
simulator similar to one I have used in
introducing machine-language programming in
an introductory computer science course.
See My J Page at
   www.cs.ualberta.ca/~smillie/Jpage.htm

Keith Smillie
smillie@cs.ualberta.ca

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

From owner-jsoftware@lists.interlog.com  Mon Jan 25 20:58:17 1999
Date: Mon, 25 Jan 1999 20:46:48 -0500
From: David Ness <DNess@home.com>
Organization: @Home Network
Subject: Re: Jforum: A Very Simple Computer
References: <19990126002706Z13238-12906+343@scapa.cs.ualberta.ca>

Thank you for your pointer to your new work. I will look at it
with interest.

As a small sidebar, you might want to include the `http://' on
the front of your page pointers. This makes it look like:
   http://www.cs.ualberta.ca/~smillie/Jpage.htm
and has the added advantage that (at least for those of us who
use Netscape---and I assume others) that we can directly click on
the reference, we don't have to do any cutting and pasting.

Thanks again for taking to make your (always interesting) work public
to the rest of us...

Best regards.

smillie@cs.ualberta.ca wrote:
>
>   I have implemented a simple machine-language
>
<snip>

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

From owner-jsoftware@lists.interlog.com  Mon Jan 25 21:51:36 1999
Date: Sat, 23 Jan 1999 11:13:49 -0800
From: Richard Hill <hillrj@ibm.net>
Organization: Adaptable Systems
Subject: Jforum: Re:  linux/j  refernece book needed
References: <002b01be4638$bdca0980$d60714d1@xps200>

For a development project in j under linux/unix
is there a recommended text for the linux/unix side?
ie a comprenhensive reference text for unix/linux
 to suit an APL/J developer who comes from dos/windows.
 (The team is considering transferring an edi processing
 system from apl/dos to j/linux)

--
Richard Hill
Adaptable Systems,   Melbourne, Australia
Tel: Internat+61 3 9555 7222  Fax: Internat+61 3 9589 3220
Email:  hillrj@ibm.net

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

From owner-jsoftware@lists.interlog.com  Tue Jan 26 10:48:03 1999
From: "John D. Baker" <bakerjd@kos.net>
Subject: Jforum: Saving locale contents: correction
Date: Tue, 26 Jan 1999 10:24:29 -0500
	charset="iso-8859-1"

Oops:

There was a mistake  in my previous message the
correction is:

For nouns you have to use the inverse of 3!:1.

(nouns) =: (3!:2)&.> values

John D. Baker
bakerjd@kos.net

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

From owner-jsoftware@lists.interlog.com  Tue Jan 26 10:55:48 1999
From: "John D. Baker" <bakerjd@kos.net>
Subject: Re: Jforum: Saving Contents of a Locale
Date: Tue, 26 Jan 1999 10:16:56 -0500
	boundary="----=_NextPart_000_002D_01BE4915.008E28D0"

This is a multi-part message in MIME format.

------=_NextPart_000_002D_01BE4915.008E28D0
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Joe,

To do this you need two foreign conjunctions:

3!:1    NB. convert to binary representation
5!:5    NB. linar representation

I use the binary representation to convert J nouns
because it preserves the full precision of numeric
values.  The linear representation can be used
for verbs, adverbs and conjunctions.  The following
illustrates how to do this: define words in z locale
the magic will become clear below.

NB. both nc and nl are loaded by the=20
NB. standard J setup but if you're like me
NB. you have a non-standard setup.

nc_z_ =3D: 4!:0     NB. name class
nl_z_ =3D: 3!:0     NB. name list

NB. word representation (nouns binary others linear)
wrep_z_ =3D: 5!:5@<`(3!:1@:".)@.(0&=3D@(nc@<))

NB. write and read nouns
writenoun_z_ =3D: ([: 3!:1 [) (1!:2 ]`<@.(32&>@(3!:0))) ]
readnoun_z_ =3D: 3!:2@(1!:1&(]`<@.(32&>@(3!:0))))

NB. save locale as a binary=20

NB. collect names, values and classes of locale objects
NB. the locale _j_ suffix (use your locale name)
NB. is required to execute in the correct place
lvalues =3D. wrep_j_&.> lnames =3D. nl_j_ ''
lclasses  =3D. nc_j_ lnames

NB. store as a single list
blob=3D. (<lnames),(<lvalues),<lclasses

NB. write object to file
(wrep 'blob') writenoun 'c:\temp\blob.ijn'

NB. read object back from file
blobcopy =3D. readnoun 'c:\temp\blob.ijn'

To complete the process you have to reassign the
values in the list to their associated names.  For
verbs, adverbs and conjunctions in linear
format all you to do is:

'names values classes' =3D: blobcopy

(names) =3D: values  NB. indirect assignment

NB. put in arbitrary locale
(names ,&.> <'_anylocale_') =3D: values

For nouns you have to use the inverse of 3!:0.

(nouns) =3D: (3!:1)&.> values

Hope this helps

John Baker

    -----Original Message-----
    From: J Tibollo <jtibollo@backassociates.com>
    To: forum@jsoftware.com <forum@jsoftware.com>
    Date: Monday, January 25, 1999 6:10 PM
    Subject: Re: Jforum: Saving Contents of a Locale
   =20
   =20
    John:
    =20
    Can you give me an example. I.E. If I have nouns A B and C and verbs =
verb1 verb2 and verb3 - how would I build a boxed list of their binary =
representations?  Do I need to keep track of the their names as well?  =
Do the binary representations contain all that is needed in order to =
re-establish them in the workspace - similar to APL's []FX?
    =20
    Regards,
    Joe

------=_NextPart_000_002D_01BE4915.008E28D0
	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><!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 =
HTML//EN"><!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 HTML//EN"><!DOCTYPE HTML =
PUBLIC "-//W3C//DTD W3 HTML//EN">
<META content=3D'"MSHTML 4.72.3110.7"' name=3DGENERATOR>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT color=3D#000000 face=3D"Courier New">Joe,</FONT></DIV>
<DIV><FONT color=3D#000000 face=3D"Courier New"></FONT>&nbsp;</DIV>
<DIV><FONT face=3D"Courier New">To do this you need two foreign=20
conjunctions:</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3D"Courier New">3!:1&nbsp;&nbsp;&nbsp; NB. convert to =
binary=20
representation</FONT></DIV>
<DIV><FONT face=3D"Courier New">5!:5&nbsp;&nbsp;&nbsp; NB. linar=20
representation</FONT></DIV>
<DIV><FONT face=3D"Courier New"></FONT>&nbsp;</DIV>
<DIV><FONT face=3D"Courier New">I use the binary representation to =
convert J=20
nouns</FONT></DIV>
<DIV><FONT face=3D"Courier New">because it preserves the full precision =
of=20
numeric</FONT></DIV>
<DIV><FONT face=3D"Courier New">values.&nbsp; The linear representation =
can be=20
used</FONT></DIV>
<DIV><FONT face=3D"Courier New">for verbs, adverbs and =
conjunctions.&nbsp; The=20
following</FONT></DIV>
<DIV><FONT face=3D"Courier New">illustrates how to do this: define words =
in z=20
locale</FONT></DIV>
<DIV><FONT face=3D"Courier New">the magic will become clear =
below.</FONT></DIV>
<DIV><FONT face=3D"Courier New"></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 face=3D"Courier New">NB. both nc and nl are =
loaded by the=20
</FONT></DIV>
<DIV><FONT face=3D"Courier New">NB. standard J setup but if you're like=20
me</FONT></DIV>
<DIV><FONT face=3D"Courier New">NB. you have a non-standard =
setup.</FONT></DIV>
<DIV><FONT face=3D"Courier New"></FONT>&nbsp;</DIV>
<DIV><FONT face=3D"Courier New">nc_z_ =3D: 4!:0&nbsp;&nbsp;&nbsp;&nbsp; =
NB. name=20
class</FONT></DIV>
<DIV><FONT face=3D"Courier New">nl_z_ =3D: 3!:0&nbsp;&nbsp;&nbsp;&nbsp; =
NB. name=20
list</FONT></DIV>
<DIV><FONT face=3D"Courier New"></FONT>&nbsp;</DIV>
<DIV><FONT face=3D"Courier New">NB. word representation (nouns binary =
others=20
linear)</FONT></DIV>
<DIV><FONT face=3D"Courier New">wrep_z_ =3D:=20
5!:5@&lt;`(3!:1@:&quot;.)@.(0&amp;=3D@(nc@&lt;))</FONT></DIV>
<DIV><FONT face=3D"Courier New"></FONT>&nbsp;</DIV>
<DIV><FONT face=3D"Courier New">NB. write and read nouns</FONT></DIV>
<DIV><FONT face=3D"Courier New">writenoun_z_ =3D: ([: 3!:1 [) (1!:2=20
]`&lt;@.(32&amp;&gt;@(3!:0))) ]</FONT></DIV>
<DIV><FONT face=3D"Courier New">readnoun_z_ =3D:=20
3!:2@(1!:1&amp;(]`&lt;@.(32&amp;&gt;@(3!:0))))</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT color=3D#000000 face=3D"Courier New">NB. save locale as a =
binary=20
</FONT></DIV>
<DIV><FONT color=3D#000000 face=3D"Courier New"></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 face=3D"Courier New">NB. collect names, =
values and=20
classes of locale objects</FONT></DIV>
<DIV><FONT color=3D#000000 face=3D"Courier New"></FONT><FONT =
face=3D"Courier New">NB.=20
the locale _j_ suffix (use your locale name)</FONT></DIV>
<DIV><FONT face=3D"Courier New">NB. is required to execute in the =
correct=20
place</FONT></DIV>
<DIV><FONT color=3D#000000 face=3D"Courier New">lvalues =3D. =
wrep_j_&amp;.&gt; lnames=20
=3D. nl_j_ ''</FONT></DIV>
<DIV><FONT color=3D#000000 face=3D"Courier New"></FONT><FONT=20
face=3D"Courier New">lclasses&nbsp; =3D. nc_j_ lnames</FONT></DIV>
<DIV><FONT color=3D#000000 face=3D"Courier New"></FONT>&nbsp;</DIV>
<DIV><FONT face=3D"Courier New">NB. store as a single list</FONT></DIV>
<DIV><FONT face=3D"Courier New">blob=3D.=20
(&lt;lnames),(&lt;lvalues),&lt;lclasses</FONT></DIV>
<DIV><FONT face=3D"Courier New"></FONT>&nbsp;</DIV>
<DIV><FONT face=3D"Courier New">NB. write object to file</FONT></DIV>
<DIV><FONT face=3D"Courier New">(wrep 'blob') writenoun=20
'c:\temp\blob.ijn'</FONT></DIV>
<DIV><FONT face=3D"Courier New"></FONT>&nbsp;</DIV>
<DIV><FONT face=3D"Courier New">NB. read object back from =
file</FONT></DIV>
<DIV><FONT face=3D"Courier New">blobcopy =3D. readnoun=20
'c:\temp\blob.ijn'</FONT></DIV>
<DIV><FONT face=3D"Courier New"></FONT>&nbsp;</DIV>
<DIV><FONT face=3D"Courier New">To complete the process you have to =
reassign=20
the</FONT></DIV>
<DIV><FONT face=3D"Courier New">values in the list to their associated=20
names.&nbsp; For</FONT></DIV>
<DIV><FONT face=3D"Courier New">verbs, adverbs and conjunctions in=20
linear</FONT></DIV>
<DIV><FONT face=3D"Courier New">format all you to do is:</FONT></DIV>
<DIV><FONT face=3D"Courier New"></FONT>&nbsp;</DIV>
<DIV><FONT face=3D"Courier New">'names values classes' =3D: =
blobcopy</FONT></DIV>
<DIV><FONT face=3D"Courier New"></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 face=3D"Courier New">(names) =3D: =
values&nbsp; NB. indirect=20
assignment</FONT></DIV>
<DIV><FONT color=3D#000000 face=3D"Courier New"></FONT>&nbsp;</DIV>
<DIV><FONT face=3D"Courier New">NB. put in arbitrary locale</FONT></DIV>
<DIV><FONT color=3D#000000 face=3D"Courier New">(names ,&amp;.&gt;=20
&lt;'_anylocale_') =3D: values</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3D"Courier New">For nouns you have to use the inverse of =

3!:0.</FONT></DIV>
<DIV><FONT face=3D"Courier New"></FONT>&nbsp;</DIV>
<DIV><FONT face=3D"Courier New">(nouns) =3D: (3!:1)&amp;.&gt; =
values</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=3D"Courier New"></FONT>&nbsp;</DIV>
<DIV><FONT face=3D"Courier New">Hope this helps</FONT></DIV>
<DIV><FONT face=3D"Courier New"></FONT>&nbsp;</DIV>
<DIV><FONT face=3D"Courier New">John Baker</FONT></DIV>
<DIV>&nbsp;</DIV>
<BLOCKQUOTE=20
style=3D"BORDER-LEFT: #000000 solid 2px; MARGIN-LEFT: 5px; PADDING-LEFT: =
5px">
    <DIV><FONT face=3DArial size=3D2><B>-----Original =
Message-----</B><BR><B>From:=20
    </B>J Tibollo &lt;<A=20
    =
href=3D"mailto:jtibollo@backassociates.com">jtibollo@backassociates.com</=
A>&gt;<BR><B>To:=20
    </B><A href=3D"mailto:forum@jsoftware.com">forum@jsoftware.com</A> =
&lt;<A=20
    =
href=3D"mailto:forum@jsoftware.com">forum@jsoftware.com</A>&gt;<BR><B>Dat=
e:=20
    </B>Monday, January 25, 1999 6:10 PM<BR><B>Subject: </B>Re: Jforum: =
Saving=20
    Contents of a Locale<BR><BR></DIV></FONT>
    <DIV><FONT color=3D#000000 size=3D2>John:</FONT></DIV>
    <DIV><FONT color=3D#000000 size=3D2></FONT>&nbsp;</DIV>
    <DIV><FONT size=3D2>Can you give me an example. I.E. If I have nouns =
A B and C=20
    and verbs verb1 verb2 and verb3 - how would I build a boxed list of =
their=20
    binary representations?&nbsp; Do I need to keep track of the their =
names as=20
    well?&nbsp; Do the binary representations contain all that is needed =
in=20
    order to re-establish them in the workspace - similar to APL's=20
    []FX?</FONT></DIV>
    <DIV><FONT size=3D2></FONT>&nbsp;</DIV>
    <DIV><FONT size=3D2>Regards,</FONT></DIV>
    <DIV><FONT size=3D2>Joe</FONT></DIV></BLOCKQUOTE></BODY></HTML>

------=_NextPart_000_002D_01BE4915.008E28D0--

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

From owner-jsoftware@lists.interlog.com  Tue Jan 26 11:18:02 1999
From: "J Tibollo" <jtibollo@backassociates.com>
Subject: Re: Jforum: Saving Contents of a Locale
Date: Tue, 26 Jan 1999 11:07:03 -0500
	boundary="----=_NextPart_000_0015_01BE491C.00BC3980"

This is a multi-part message in MIME format.

------=_NextPart_000_0015_01BE491C.00BC3980
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Thanks very much for your note John.  Your response is quite complete =
and easy to follow.  I hope to test this out today.

Best Regards,
Joe

    -----Original Message-----
    From: John D. Baker <bakerjd@kos.net>
    To: forum@jsoftware.com <forum@jsoftware.com>
    Date: Tuesday, January 26, 1999 10:20 AM
    Subject: Re: Jforum: Saving Contents of a Locale
   =20
   =20
    Joe,
    =20
    To do this you need two foreign conjunctions:
   =20
    3!:1    NB. convert to binary representation
    5!:5    NB. linar representation
    =20
    I use the binary representation to convert J nouns
    because it preserves the full precision of numeric
    values.  The linear representation can be used
    for verbs, adverbs and conjunctions.  The following
    illustrates how to do this: define words in z locale
    the magic will become clear below.
    =20
    NB. both nc and nl are loaded by the=20
    NB. standard J setup but if you're like me
    NB. you have a non-standard setup.
    =20
    nc_z_ =3D: 4!:0     NB. name class
    nl_z_ =3D: 3!:0     NB. name list
    =20
    NB. word representation (nouns binary others linear)
    wrep_z_ =3D: 5!:5@<`(3!:1@:".)@.(0&=3D@(nc@<))
    =20
    NB. write and read nouns
    writenoun_z_ =3D: ([: 3!:1 [) (1!:2 ]`<@.(32&>@(3!:0))) ]
    readnoun_z_ =3D: 3!:2@(1!:1&(]`<@.(32&>@(3!:0))))
   =20
    NB. save locale as a binary=20
    =20
    NB. collect names, values and classes of locale objects
    NB. the locale _j_ suffix (use your locale name)
    NB. is required to execute in the correct place
    lvalues =3D. wrep_j_&.> lnames =3D. nl_j_ ''
    lclasses  =3D. nc_j_ lnames
    =20
    NB. store as a single list
    blob=3D. (<lnames),(<lvalues),<lclasses
    =20
    NB. write object to file
    (wrep 'blob') writenoun 'c:\temp\blob.ijn'
    =20
    NB. read object back from file
    blobcopy =3D. readnoun 'c:\temp\blob.ijn'
    =20
    To complete the process you have to reassign the
    values in the list to their associated names.  For
    verbs, adverbs and conjunctions in linear
    format all you to do is:
    =20
    'names values classes' =3D: blobcopy
    =20
    (names) =3D: values  NB. indirect assignment
    =20
    NB. put in arbitrary locale
    (names ,&.> <'_anylocale_') =3D: values
   =20
    For nouns you have to use the inverse of 3!:0.
    =20
    (nouns) =3D: (3!:1)&.> values
   =20
    =20
    Hope this helps
    =20
    John Baker
   =20

------=_NextPart_000_0015_01BE491C.00BC3980
	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><!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 =
HTML//EN"><!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 HTML//EN"><!DOCTYPE HTML =
PUBLIC "-//W3C//DTD W3 HTML//EN"><!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 =
HTML//EN">
<META content=3D'"MSHTML 4.72.3612.1700"' name=3DGENERATOR>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT color=3D#000000 size=3D2>Thanks very much for your note =
John.&nbsp; Your=20
response is quite complete and easy to follow.&nbsp; I hope to test this =
out=20
today.</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>Best Regards,</FONT></DIV>
<DIV><FONT size=3D2>Joe</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<BLOCKQUOTE=20
style=3D"BORDER-LEFT: #000000 solid 2px; MARGIN-LEFT: 5px; PADDING-LEFT: =
5px">
    <DIV><FONT face=3DArial size=3D2><B>-----Original =
Message-----</B><BR><B>From:=20
    </B>John D. Baker &lt;<A=20
    href=3D"mailto:bakerjd@kos.net">bakerjd@kos.net</A>&gt;<BR><B>To: =
</B><A=20
    href=3D"mailto:forum@jsoftware.com">forum@jsoftware.com</A> &lt;<A=20
    =
href=3D"mailto:forum@jsoftware.com">forum@jsoftware.com</A>&gt;<BR><B>Dat=
e:=20
    </B>Tuesday, January 26, 1999 10:20 AM<BR><B>Subject: </B>Re: =
Jforum: Saving=20
    Contents of a Locale<BR><BR></DIV></FONT>
    <DIV><FONT color=3D#000000 face=3D"Courier New">Joe,</FONT></DIV>
    <DIV><FONT color=3D#000000 face=3D"Courier New"></FONT>&nbsp;</DIV>
    <DIV><FONT face=3D"Courier New">To do this you need two foreign=20
    conjunctions:</FONT></DIV>
    <DIV>&nbsp;</DIV>
    <DIV><FONT face=3D"Courier New">3!:1&nbsp;&nbsp;&nbsp; NB. convert =
to binary=20
    representation</FONT></DIV>
    <DIV><FONT face=3D"Courier New">5!:5&nbsp;&nbsp;&nbsp; NB. linar=20
    representation</FONT></DIV>
    <DIV><FONT face=3D"Courier New"></FONT>&nbsp;</DIV>
    <DIV><FONT face=3D"Courier New">I use the binary representation to =
convert J=20
    nouns</FONT></DIV>
    <DIV><FONT face=3D"Courier New">because it preserves the full =
precision of=20
    numeric</FONT></DIV>
    <DIV><FONT face=3D"Courier New">values.&nbsp; The linear =
representation can be=20
    used</FONT></DIV>
    <DIV><FONT face=3D"Courier New">for verbs, adverbs and =
conjunctions.&nbsp; The=20
    following</FONT></DIV>
    <DIV><FONT face=3D"Courier New">illustrates how to do this: define =
words in z=20
    locale</FONT></DIV>
    <DIV><FONT face=3D"Courier New">the magic will become clear=20
below.</FONT></DIV>
    <DIV><FONT face=3D"Courier New"></FONT>&nbsp;</DIV>
    <DIV><FONT color=3D#000000 face=3D"Courier New">NB. both nc and nl =
are loaded by=20
    the </FONT></DIV>
    <DIV><FONT face=3D"Courier New">NB. standard J setup but if you're =
like=20
    me</FONT></DIV>
    <DIV><FONT face=3D"Courier New">NB. you have a non-standard=20
setup.</FONT></DIV>
    <DIV><FONT face=3D"Courier New"></FONT>&nbsp;</DIV>
    <DIV><FONT face=3D"Courier New">nc_z_ =3D: =
4!:0&nbsp;&nbsp;&nbsp;&nbsp; NB. name=20
    class</FONT></DIV>
    <DIV><FONT face=3D"Courier New">nl_z_ =3D: =
3!:0&nbsp;&nbsp;&nbsp;&nbsp; NB. name=20
    list</FONT></DIV>
    <DIV><FONT face=3D"Courier New"></FONT>&nbsp;</DIV>
    <DIV><FONT face=3D"Courier New">NB. word representation (nouns =
binary others=20
    linear)</FONT></DIV>
    <DIV><FONT face=3D"Courier New">wrep_z_ =3D:=20
    5!:5@&lt;`(3!:1@:&quot;.)@.(0&amp;=3D@(nc@&lt;))</FONT></DIV>
    <DIV><FONT face=3D"Courier New"></FONT>&nbsp;</DIV>
    <DIV><FONT face=3D"Courier New">NB. write and read =
nouns</FONT></DIV>
    <DIV><FONT face=3D"Courier New">writenoun_z_ =3D: ([: 3!:1 [) (1!:2=20
    ]`&lt;@.(32&amp;&gt;@(3!:0))) ]</FONT></DIV>
    <DIV><FONT face=3D"Courier New">readnoun_z_ =3D:=20
    3!:2@(1!:1&amp;(]`&lt;@.(32&amp;&gt;@(3!:0))))</FONT></DIV>
    <DIV>&nbsp;</DIV>
    <DIV><FONT color=3D#000000 face=3D"Courier New">NB. save locale as a =
binary=20
    </FONT></DIV>
    <DIV><FONT color=3D#000000 face=3D"Courier New"></FONT>&nbsp;</DIV>
    <DIV><FONT color=3D#000000 face=3D"Courier New">NB. collect names, =
values and=20
    classes of locale objects</FONT></DIV>
    <DIV><FONT color=3D#000000 face=3D"Courier New"></FONT><FONT=20
    face=3D"Courier New">NB. the locale _j_ suffix (use your locale=20
    name)</FONT></DIV>
    <DIV><FONT face=3D"Courier New">NB. is required to execute in the =
correct=20
    place</FONT></DIV>
    <DIV><FONT color=3D#000000 face=3D"Courier New">lvalues =3D. =
wrep_j_&amp;.&gt;=20
    lnames =3D. nl_j_ ''</FONT></DIV>
    <DIV><FONT color=3D#000000 face=3D"Courier New"></FONT><FONT=20
    face=3D"Courier New">lclasses&nbsp; =3D. nc_j_ lnames</FONT></DIV>
    <DIV><FONT color=3D#000000 face=3D"Courier New"></FONT>&nbsp;</DIV>
    <DIV><FONT face=3D"Courier New">NB. store as a single =
list</FONT></DIV>
    <DIV><FONT face=3D"Courier New">blob=3D.=20
    (&lt;lnames),(&lt;lvalues),&lt;lclasses</FONT></DIV>
    <DIV><FONT face=3D"Courier New"></FONT>&nbsp;</DIV>
    <DIV><FONT face=3D"Courier New">NB. write object to =
file</FONT></DIV>
    <DIV><FONT face=3D"Courier New">(wrep 'blob') writenoun=20
    'c:\temp\blob.ijn'</FONT></DIV>
    <DIV><FONT face=3D"Courier New"></FONT>&nbsp;</DIV>
    <DIV><FONT face=3D"Courier New">NB. read object back from =
file</FONT></DIV>
    <DIV><FONT face=3D"Courier New">blobcopy =3D. readnoun=20
    'c:\temp\blob.ijn'</FONT></DIV>
    <DIV><FONT face=3D"Courier New"></FONT>&nbsp;</DIV>
    <DIV><FONT face=3D"Courier New">To complete the process you have to =
reassign=20
    the</FONT></DIV>
    <DIV><FONT face=3D"Courier New">values in the list to their =
associated=20
    names.&nbsp; For</FONT></DIV>
    <DIV><FONT face=3D"Courier New">verbs, adverbs and conjunctions in=20
    linear</FONT></DIV>
    <DIV><FONT face=3D"Courier New">format all you to do =
is:</FONT></DIV>
    <DIV><FONT face=3D"Courier New"></FONT>&nbsp;</DIV>
    <DIV><FONT face=3D"Courier New">'names values classes' =3D:=20
blobcopy</FONT></DIV>
    <DIV><FONT face=3D"Courier New"></FONT>&nbsp;</DIV>
    <DIV><FONT color=3D#000000 face=3D"Courier New">(names) =3D: =
values&nbsp; NB.=20
    indirect assignment</FONT></DIV>
    <DIV><FONT color=3D#000000 face=3D"Courier New"></FONT>&nbsp;</DIV>
    <DIV><FONT face=3D"Courier New">NB. put in arbitrary =
locale</FONT></DIV>
    <DIV><FONT color=3D#000000 face=3D"Courier New">(names ,&amp;.&gt;=20
    &lt;'_anylocale_') =3D: values</FONT></DIV>
    <DIV>&nbsp;</DIV>
    <DIV><FONT face=3D"Courier New">For nouns you have to use the =
inverse of=20
    3!:0.</FONT></DIV>
    <DIV><FONT face=3D"Courier New"></FONT>&nbsp;</DIV>
    <DIV><FONT face=3D"Courier New">(nouns) =3D: (3!:1)&amp;.&gt;=20
values</FONT></DIV>
    <DIV>&nbsp;</DIV>
    <DIV><FONT face=3D"Courier New"></FONT>&nbsp;</DIV>
    <DIV><FONT face=3D"Courier New">Hope this helps</FONT></DIV>
    <DIV><FONT face=3D"Courier New"></FONT>&nbsp;</DIV>
    <DIV><FONT face=3D"Courier New">John Baker</FONT></DIV>
    <DIV>&nbsp;</DIV>
    <BLOCKQUOTE=20
    style=3D"BORDER-LEFT: #000000 solid 2px; MARGIN-LEFT: 5px; =
PADDING-LEFT: 5px">
        <DIV>&nbsp;</DIV></BLOCKQUOTE></BLOCKQUOTE></BODY></HTML>

------=_NextPart_000_0015_01BE491C.00BC3980--

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

From owner-jsoftware@lists.interlog.com  Tue Jan 26 11:20:11 1999
Date: Tue, 26 Jan 1999 11:04:38 -0500
From: Eric Iverson <eiverson@interlog.com>
Organization: Iverson Software Inc.
Subject: Re: Jforum: Saving Contents of a Locale
References: <003101be493f$13376f80$01ffde6f@papabear>

To J Tibollo:

Why do you want a binary representation of a locale? Why not recreate
the locale from source scripts? I think the general experience is that
we are better off without APL like save/load mechanisms. Although they
can be easily built, as John points out, that doesn't mean they are the
best solution to a problem.

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

From owner-jsoftware@lists.interlog.com  Tue Jan 26 11:48:45 1999
From: "J Tibollo" <jtibollo@backassociates.com>
Subject: Re: Jforum: Saving Contents of a Locale
Date: Tue, 26 Jan 1999 11:35:18 -0500
	charset="iso-8859-1"

Eric:

I am interested in a (Dyalog APL like) []OR function.  Here's how I am
presently using this:

The NEED:

Suppose you have an input screen with a dozen or more input fields.  What I
do is assign the values of each of these fields to  variables in a special
locale (namespace).  Then with one statement I can copy all the contents of
the locale to a single component of a file.  To restore, it only takes one
statement to copy the component, back to the locale.  This greatly
simplifies the coding and mangement required to store/restore fields.

Backward Compatibility:

In future if I decide to add a field, I can keep my application backward
compatible simply by restoring the component to the target locale and
testing for the presence of a certain variable.  If it doesn't exist I can
simply copy a default value from a mirror 'default' locale.  Another method
to use to ensure backward compatiblity when new fields are being added, is-
1) copy mirror defaults to production locale 2) copy previous values to
production locale from values saved to disk (if a value doesn't exist, the
default value in the locale will provide the necessary field value).  Also,
by mirroring the values in a 'defaults' locale I don't have to worry about
the new user who hasn't had a chance to save any values as yet.

Discussion:

I agree that using Scripts to populate your application with nouns and verbs
has a number of advantanges.  However, APL has some nice facilities for
dealing with Groups, packages, or entire namespaces (in the case of Dyalog)
so that you don't have to spend all kinds of code everytime you want to move
groups of objects to and from disk.  Scripts are OK if you can decide in
advance what you need.  However, as things change you need some dynamic way
of taking a subset of current values and saving/restoring them to/from disk.
Why come up with a custom format for stuffing values into a component and
then unpacking them later.  Wouldn't it be nice to just have a powerful
method which picks up everything put in a locale, save them, and restore
them later on?  Nice and tidy. I hope to write a J script to give me this
type of functionality.

Regards,
Joe

-----Original Message-----
From: Eric Iverson <eiverson@interlog.com>
Date: Tuesday, January 26, 1999 11:07 AM
Subject: Re: Jforum: Saving Contents of a Locale

>To J Tibollo:
>
>Why do you want a binary representation of a locale? Why not recreate
>the locale from source scripts? I think the general experience is that
>we are better off without APL like save/load mechanisms. Although they
>can be easily built, as John points out, that doesn't mean they are the
>best solution to a problem.
>
>
>---------------------------------------------------------------------------
-----
>J Forum: for information about this list, see
http://www.jsoftware.com/forum.htm
>

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

From owner-jsoftware@lists.interlog.com  Tue Jan 26 11:55:50 1999
From: "J Tibollo" <jtibollo@backassociates.com>
Subject: Jforum: More - on Saving Contents of a locale
Date: Tue, 26 Jan 1999 11:39:56 -0500
	boundary="----=_NextPart_000_003E_01BE4920.98C23C80"

This is a multi-part message in MIME format.

------=_NextPart_000_003E_01BE4920.98C23C80
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Eric:

I forgot to mention, that according to the Dyalog people, using the []OR =
representation of a namespace is a very quick process, - far quicker =
than writing a routine yourself to package the values into some kind of =
formatted structure for reading and writing to disk.  If J locales can =
similarily be converted to binary representations and saved/read to/from =
disk, then this would provide an efficient way of reading and writing =
groups of variables.  Would it be difficult to add such a feature to J?

Regards,
Joe

------=_NextPart_000_003E_01BE4920.98C23C80
	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.3612.1700"' name=3DGENERATOR>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT color=3D#000000 size=3D2>Eric:</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 size=3D2>I forgot to mention, that according =
to the=20
Dyalog people, using the []OR representation of a namespace is a very =
quick=20
process, - far quicker than writing a routine yourself to package the =
values=20
into some kind of formatted structure for reading and writing to =
disk.&nbsp; If=20
J locales can similarily be converted to binary representations and =
saved/read=20
to/from disk, then this would provide an efficient way of reading and =
writing=20
groups of variables.&nbsp; Would it be difficult to add such a feature =
to=20
J?</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT color=3D#000000 size=3D2>Regards,</FONT></DIV>
<DIV><FONT color=3D#000000 size=3D2>Joe</FONT></DIV></BODY></HTML>

------=_NextPart_000_003E_01BE4920.98C23C80--

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

From owner-jsoftware@lists.interlog.com  Tue Jan 26 14:29:06 1999
From: "Chris Burke" <cdburke@interlog.com>
Subject: Re: Jforum: More - on Saving Contents of a locale
Date: Tue, 26 Jan 1999 14:15:40 -0500
	charset="iso-8859-1"

>I forgot to mention, that according to the Dyalog people, using the []OR
representation of a namespace is a very quick process, - far quicker than
>writing a routine yourself to package the values into some kind of
formatted structure for reading and writing to disk.  If J locales can
similarily be >converted to binary representations and saved/read to/from
disk, then this would provide an efficient way of reading and writing groups
of variables.  >Would it be difficult to add such a feature to J?

Joe,

In your original msg you asked about saving all the contents of a locale,
including verbs. Now you are talking about the variables.

Scripts are the right place to store verb (and adverb/conjunction)
definitions. Variables can be stored very efficiently with the 3!:1
representation, as described by John Baker and used by J component files.

Its easy to store all variables in a locale, for example, the following
defines a variable with the representation of all nouns in the j locale:

   load 'pack'
   a=. 3!:1 pack_j_ nl_j_ 0

To unpack in locale abc:

   pdef_abc_ 3!:2 a

Chris

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

From owner-jsoftware@lists.interlog.com  Tue Jan 26 15:59:05 1999
From: "J Tibollo" <jtibollo@backassociates.com>
Subject: Re: Jforum: More - on Saving Contents of a locale
Date: Tue, 26 Jan 1999 15:49:08 -0500
	charset="iso-8859-1"
X-MIMEOLE: Produced By Microsoft MimeOLE V4.72.3155.0

Chris:

Thanks for your example.  I am only concerned with nouns not verbs.  I agree
that verbs are better handled using Scripts.  Sorry for not being more
careful with my explanation in my last note.  I haven't had a chance to work
throught the examples provided by John and yourself.  Thanks for the tips.
It seems that saving and restoring all nouns in a given locale is going to
be a pleasure in J.

Regards,
Joe

-----Original Message-----
From: Chris Burke <cdburke@interlog.com>
Date: Tuesday, January 26, 1999 2:19 PM
Subject: Re: Jforum: More - on Saving Contents of a locale

>>I forgot to mention, that according to the Dyalog people, using the []OR
>representation of a namespace is a very quick process, - far quicker than
>>writing a routine yourself to package the values into some kind of
>formatted structure for reading and writing to disk.  If J locales can
>similarily be >converted to binary representations and saved/read to/from
>disk, then this would provide an efficient way of reading and writing
groups
>of variables.  >Would it be difficult to add such a feature to J?
>
>Joe,
>
>In your original msg you asked about saving all the contents of a locale,
>including verbs. Now you are talking about the variables.
>
>Scripts are the right place to store verb (and adverb/conjunction)
>definitions. Variables can be stored very efficiently with the 3!:1
>representation, as described by John Baker and used by J component files.
>
>Its easy to store all variables in a locale, for example, the following
>defines a variable with the representation of all nouns in the j locale:
>
>   load 'pack'
>   a=. 3!:1 pack_j_ nl_j_ 0
>
>To unpack in locale abc:
>
>   pdef_abc_ 3!:2 a
>
>Chris
>
>
>
>---------------------------------------------------------------------------
-----
>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 Jan 27 05:49:35 1999
Date: Wed, 27 Jan 1999 12:22:53 +0200
From: Anssi  Seppala <anssi.seppala@enease.fi>
Subject: Jforum: OLE between APL & J
In-Reply-To: <003c01be4960$60456040$1c0114d1@xps200>

<html>
<font face="Courier New, Courier">I am working with both Dyalog APL/W and
J. I have a customer who works with VisualBasic and utilises my J and
APL/W applications through OLE. <br>
<br>
Now I tried for testing purposes to call my Dyalog OLE component from J
and did not succeed. Is there anybody who could give a example how a
Dyalog OLE component is called from J? It seems that J talks about some
sort of hierarchy ahd Dyalog talks something that there is no
hierarchy.<br>
<br>
Here comes an example. I have a dyalog OLE server named dyalog.test. In
test there is a niladic function prog and monadic function qrap.<br>
<br>
wd'pc dyaole'&nbsp;&nbsp;&nbsp; NB. Create a parent control<br>
wd 'cc dy oleautomation:dyalog.test'&nbsp; NB. attach dyalog.demo OLE to
dy<br>
wd 'olemethod ...?&nbsp;&nbsp; NB. What should be the syntax?<br>
<br>
Thanks for any help,<br>
Anssi</font></html>

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

From owner-jsoftware@lists.interlog.com  Wed Jan 27 09:11:15 1999
From: bjorn@rvk.is
X-Lotus-FromDomain: RVK
Date: Wed, 27 Jan 1999 13:56:52 +0000
Subject: Jforum: J402 for the iMac
Content-type: text/plain; charset=us-ascii
Content-Disposition: inline

I am waiting for the J402 to become awailable for the iMac so
that I can set up the Pousse to run at the vendors place in order
for them to distribute it with their machines.

Is it possible to get an indication on when I might expect such
an event?

/Gosi

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

From owner-jsoftware@lists.interlog.com  Wed Jan 27 09:34:01 1999
Date: Wed, 27 Jan 1999 15:19:55 +0100
From: David Alis <dalis@balcab.ch>
Subject: Re: Jforum: Saving Contents of a Locale
References: <003101be493f$13376f80$01ffde6f@papabear> <36ADE796.3858@interlog.com>

Eric Iverson wrote:

> To J Tibollo:
>
> Why do you want a binary representation of a locale? Why not recreate
> the locale from source scripts?

If you want to distribute processing from a central server process to delegate
processes running on the same or different machines , being able to pass this type
of copy would be useful. Also, in an application that had its user interface in  MS
Word and was supported by  J-OLE and  MS Access, it would be a simple matter to use
VBA to select an 'appropriate locale-image' from MS Access, pass it to J, invoke the
execution and then return to Word.

But your question raises a more general issue... hasnt the time come to bring
locales into the language proper rather than keep them as  side-effects. One of the
bigger differences between APL and  J  is the domain of the assignment operator. In
APL, with the exception of Dyalog, it is restricted to data whose type is number,
character or boxed.  While in J  it includes verbs, adverbs and conjunctions. Why
not extend it to include locales?

As I remember, in early versions of J, box could be modified with fit so that the
boxed result carried a prototype with it. I think it went like this....
prototype=: 'this is the header';(i.10);'this is the tail'
x=: (<!:prototype) 3  4 5 6
would produce x as box that had the normal value 3 4 5 6. (i.e  100 +>x)-: 103 104
105 106
However, the noun y=: 0$x had the property that >!.y would produce prototype.
Perhaps you could use
local_x=.<!:test_local_
y=: 10$local_x  to produce an array of locales.

If locales were treated as first class objects, then you would have a taken a
another step towards supporting rather than  just enabling object oriented
programming.

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

From owner-jsoftware@lists.interlog.com  Wed Jan 27 13:58:46 1999
Date: Wed, 27 Jan 1999 19:17:15 +0100 (MET)
From: Martin Neitzel <neitzel@gaertner.de>
Subject: Re:  Jforum: J402 for the iMac

Richard Hill:
>
> is there a recommended text for the linux/unix side?

/Gosi:
>
> I am waiting for the J402 to become awailable for the iMac

Just a reminder that http://juggle.gaertner.de/hitlist/ is open to everyone
(Unixers and Windozers alike) to both register such requests and kind of
"vote" for requests by spending a bit of virtual money on them.

Richard Hill may be pleased to know that at this very moment,
he would even be able to push the already filed request "unixman"
from position 5 to the top if he dedicates all his 10 "$" to it.

So, "X"/"jdict"/"pilot"/"labs" lovers, beware!

							Martin

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

From owner-jsoftware@lists.interlog.com  Wed Jan 27 15:00:20 1999
Date: Wed, 27 Jan 1999 21:48:18 +0200 (EET)
From: Oleg Kobchenko <gccinc@usa.net>
Subject: Jforum: Mem allocation with dlls [was: LAPACK on Linux in Juggler]
In-Reply-To: <36AF208B.1E97FBEC@balcab.ch>

\begin{quote}

On Thu, 14 Jan 1999 Martin Neitzel wrote:

[about LAPACK libs]

The access method to such libs (via 15!:0 et.al.) is completely
the same under Windows and Unix systems.  We not just talking
about Linux here but about all other supported Unix systems,
too.  (Remember the 9!:12 logo on the juggle pages.)

On Thu, 14 Jan 1999 Chris Burke wrote:

I dont expect any significant problem running them under Linux
as long as the dll mechanism is in place.

\end{quote}

I've had this question before, but it's more important
condireing portability to Unix.

There are alias verbs in J mema, memf, memr, memw, which
handle binary allocated objects for use with dlls.

On windows there are three ways for working with such
objects:

 1 memory handler, returned by ..Alloc
 2 memory pointer, returned by ..Lock
 3 resource handler, returned by e.g. GreateBitmap, etc.

It is obvious that mem? verbs do not deal with 3, but in what
way they deal with 1 and 2 is not clear. As an example you can
see my clipbrd.ijs, where I had to intermix both the J mem? and
winapi Global.. to achieve the result.

I noticed that mem? verbs work one way (e.g. reading) with both
1 and 2 and the other way (e.g. writing) only with either 1 or
2.

It becomes more interesting on Unix. I think all would be happy
to peep into the chemistry of mem? verbs as to their relevance
to the system memory hadling procedures.

--
olegyk

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

From owner-jsoftware@lists.interlog.com  Wed Jan 27 16:20:27 1999
From: "Nichols, Peter" <pnichols@sprinc.com>
Subject: Jforum: Space of Variables
Date: Wed, 27 Jan 1999 15:01:31 -0600

How do I find the amount of space a variable is using?
Thanks.

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

From owner-jsoftware@lists.interlog.com  Thu Jan 28 01:40:37 1999
From: Ajith Prasad <burap@nus.edu.sg>
Subject: RE: Jforum: Space of Variables
Date: Thu, 28 Jan 1999 14:27:00 +0800
Importance: high
X-Priority: 1
	charset="ISO-8859-1"

The on-line "J Phrases" mentions the following verbs and how they are used:

v0=: time=: 6!:2	Time to execute y (or avg of x executes)
m1=: space=: 7!:2	Space used to execute y
v2=:  ts=: 6!:2, 7!:2@]	Time and space

m1=: 7!:2 is what you need.

-----Original Message-----
From: Nichols, Peter [mailto:pnichols@sprinc.com]
Sent: Thursday, January 28, 1999 5:02 AM
Subject: Jforum: Space of Variables

How do I find the amount of space a variable is using?
Thanks.

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

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

From owner-jsoftware@lists.interlog.com  Thu Jan 28 07:53:01 1999
From: "Bjorn G. Helgason" <gosi@centrum.is>
Subject: RE: Jforum: J402 for the iMac
Date: Wed, 27 Jan 1999 21:38:38 -0000
Content-Type: multipart/mixed; boundary="---- =_NextPart_000_01BE4ABC.3111A6A0"

------ =_NextPart_000_01BE4ABC.3111A6A0

From: Martin Neitzel[SMTP:neitzel@gaertner.de]

> Just a reminder that http://juggle.gaertner.de/hitlist/ is open to everyone

This hitlist is a very good idea.

I did not know it was for J in general.
I thought it was for J Unix only.

I have already spent all my virtual money on it.
Will I get more later ?

/Gosi

------ =_NextPart_000_01BE4ABC.3111A6A0
Content-Type: application/ms-tnef
Content-Transfer-Encoding: base64

eJ8+Ig8MAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAENgAQAAgAAAAIAAgABBJAG
ABwBAAABAAAADAAAAAMAADADAAAACwAPDgAAAAACAf8PAQAAAEUAAAAAAAAAgSsfpL6jEBmdbgDd
AQ9UAgAAAABmb3J1bUBqc29mdHdhcmUuY29tAFNNVFAAZm9ydW1AanNvZnR3YXJlLmNvbQAAAAAe
AAIwAQAAAAUAAABTTVRQAAAAAB4AAzABAAAAFAAAAGZvcnVtQGpzb2Z0d2FyZS5jb20AAwAVDAEA
AAADAP4PBgAAAB4AATABAAAAFgAAACdmb3J1bUBqc29mdHdhcmUuY29tJwAAAAIBCzABAAAAGQAA
AFNNVFA6Rk9SVU1ASlNPRlRXQVJFLkNPTQAAAAADAAA5AAAAAAsAQDoBAAAAAgH2DwEAAAAEAAAA
AAAAAxs0AQiABwAYAAAASVBNLk1pY3Jvc29mdCBNYWlsLk5vdGUAMQgBBIABAB4AAABSRTogSmZv
cnVtOiBKNDAyIGZvciB0aGUgaU1hYwAACQEFgAMADgAAAM8HAQAbABUAJgAmAAMAVgEBIIADAA4A
AADPBwEAGwAVACEABQADADABAQmAAQAhAAAANEVFMDlERTcyRUI2RDIxMThCOUEyQ0ExRkZDMDAw
MDAASAcBA5AGAFQDAAASAAAACwAjAAEAAAADACYAAAAAAAsAKQABAAAAAwA2AAAAAABAADkAIINP
Zj1KvgEeAHAAAQAAAB4AAABSRTogSmZvcnVtOiBKNDAyIGZvciB0aGUgaU1hYwAAAAIBcQABAAAA
FgAAAAG+Sj1mPued4E+2LhHSi5osof/AAAAAAB4AHgwBAAAABQAAAFNNVFAAAAAAHgAfDAEAAAAQ
AAAAZ29zaUBjZW50cnVtLmlzAAMABhAvsUZ0AwAHEPcAAAAeAAgQAQAAAGUAAABGUk9NOk1BUlRJ
Tk5FSVRaRUxTTVRQOk5FSVRaRUxAR0FFUlRORVJERUpVU1RBUkVNSU5ERVJUSEFUSFRUUDovL0pV
R0dMRUdBRVJUTkVSREUvSElUTElTVC9JU09QRU5UT0VWAAAAAAIBCRABAAAA1wEAANMBAAATAwAA
TFpGdSarWrb/AAoBDwIVAqgF6wKDAFAC8gkCAGNoCsBzZXQyNwYABsMCgzIDxQIAcHJCcRHic3Rl
bQKDM/cC5AcTAoM0A0UTNQdtAoP2NRLMFMV9CoAIzwnZAoAHCoENsQtgbmcxMDOyOQr/MTYMIRNQ
bxPQ6mMFQEYDYToK4RxbHUY3DIIF0ArAdAuAB7FpdAB6ZWxbU01UUEQ6biBkQGdhBJB06SEgci4N
sF0KjwuRFWGFC/EgImtsaTM2DfA9Izw+HhcUUQvyHUZKddETwCBhIBnQbQuABIEsIHQRgAVAaAJA
cDoALy9qdWdnbGVyLiGpL2ggcCTgE8AvYiAEACBvcAnwKKBvqCBldgSQeQIgZSJv/SN/VCqgBCAq
pSsiKAAr8jggZ28EcCsgDbBhLiMkBixlSSBkMEAgbjkdYCBrMeAH4CBwIHduYQQgAhAFwEorIAOg
Z38J8ASQB0AwhzGAKLAIYGcrKQAybFUDAHgrUG5svHkuMK4RgCvwJ/BsGdC0YWQv0HMrcSfhbAMg
0m0v0HZpACB1B0A44N8sMS/QAiAyYTZ2VwMQAyDfMYAzcAVABGAZ0CALYBPQxQXAPzCsL0dvAJAs
ZQUY8QA+IAADABAQAAAAAAMAERAAAAAAQAAHMGCOPqA8Sr4BQAAIMGCOPqA8Sr4BHgA9AAEAAAAF
AAAAUkU6IAAAAABo3Q==

------ =_NextPart_000_01BE4ABC.3111A6A0--

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

From owner-jsoftware@lists.interlog.com  Thu Jan 28 08:43:31 1999
Date: Thu, 28 Jan 1999 08:31:21 -0500
From: Cliff Reiter <reiterc@lafvax.lafayette.edu>
Subject: Re: Jforum: Space of Variables
Organization: Lafayette College
Content-type: text/plain; charset=us-ascii
References: <01074BD4EEC4D1118E3200805F6542A7177DA7@SPRDALLAS2.lafayette.edu>

Nichols, Peter wrote:
>
> How do I find the amount of space a variable is using?
> Thanks.
>

I take this to mean the space required for the binary representation
of the variable. Consider:

3!:1 y 	Convert to Binary Representation.  A string of the binary
representa-tion of a noun y.  The result is machine-dependent. I'm
using an NT machine.

   a=.?1000$1000
   $3!:1 a
4020
   a=.?10000$1000
   $3!:1 a
40020

But note this seems to be expensive in execution space in the sense
that it isn't just a look up of a pointer.

   7!:2 '$3!:1 a'    where 7!:2 is space to execute
66688

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

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

From owner-jsoftware@lists.interlog.com  Thu Jan 28 11:17:53 1999
From: "Roger Hui" <RHui@interlog.com>
Subject: Jforum: Re: Space of Variables
Date: Thu, 28 Jan 1999 10:58:21 -0500
	charset="iso-8859-1"

Cliff Reiter writes on Thursday, January 29:

>I take this to mean the space required for the binary representation
>of the variable. Consider:
>
>3!:1 y Convert to Binary Representation.  A string of the binary
>representa-tion of a noun y.  The result is machine-dependent. I'm
>using an NT machine.
>
>   a=.?1000$1000
>   $3!:1 a
>4020
>   a=.?10000$1000
>   $3!:1 a
>40020
>
>But note this seems to be expensive in execution space in the sense
>that it isn't just a look up of a pointer.
>
>   7!:2 '$3!:1 a'    where 7!:2 is space to execute
>66688
>
>Anyone suggest a better way?

The function bb=: #@(3!:1) can be computed more cheaply as follows:

bytes=: bhdr + brav
bhdr =: 4: * 4: + #@]
brav =: bpe@[ * (>.&.(%&4)@>:@(*/@]) ` (*/@])) @. (2&<@[)
bpe  =: (1 2 4 8 16&i.) { 1 1 4 8 16"_

t bytes s  computes the number of bytes for an array of type t and shape s.  This quantity is the number
of bytes for the header plus that for the ravelled values. bhr s  produces the bytes required by the header of
an array with shape s, and  t brav s  is the bytes for the ravelled value for an array of type t and shape s.

Subfunction  bpe t  produces the bytes per element, given a simple type t (1 boolean, 2 literal, 4 integer,
8 floating point, 16 complex). The bytes per element for other types is not computable.

(There are extra bytes not accounted for in 3!:1, used by the J memory management code and the OS
memory management code, but it would not be very productive to worry about that.)

   4 bytes 1000
4020
   bb 1000$1234
4020

   4 bytes 10000
40020
   bb 10000$1234
40020

   8 bytes 2 3 4
220
   bb o. i.2 3 4
220

   2 bytes $x=. 'deipnosophist'
36
   bb x
36

   2 bytes 2 3 4
56
   bb 2 3 4$x
56

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

From owner-jsoftware@lists.interlog.com  Fri Jan 29 10:40:45 1999
Date: Fri, 29 Jan 1999 17:05:39 +0200
From: Anssi  Seppala <anssi.seppala@enease.fi>
Subject: Jforum: JDLLServer  registry entries ?
In-Reply-To: <4.1.19990127120154.00a97510@pop.kolumbus.fi>
References: <003c01be4960$60456040$1c0114d1@xps200>
Content-Transfer-Encoding: 8bit

Hi everybody,

JREG.EXE does the registration well, but it pops up a dialog "Do you want
to register...?". I have two questions:

Is there a way to run JREG silent and without pop-up query?

What are the registry entries if I would prefer to run regedit by myself
during the installation?

Thanks for any help,
Anssi

-------------------------------------------------------------------
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  Fri Jan 29 11:27:55 1999
References: <010901be4ad7$3f3c67e0$360b14d1@f3nbp>
Organization: Voxel
From: "Andrew Nikitin" <nsg@voxel.kharkov.ua>
Date: Fri, 29 Jan 1999 17:07:41 +0200 (EET)
Subject: Jforum: error messages

Some errors in J are being marked by the circumflex:

   +/#'fsdfsdfsd
|open quote
|      +/#'fsdfsdfsd
|         ^

Some of them, in contrary to previous case, are being marked by additional
space before them:

   +/#(1 2+
|syntax error
|   +/#(    1 2+

Does this mean something special, or not?

nsg

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

From owner-jsoftware@lists.interlog.com  Fri Jan 29 11:36:54 1999
From: "Roger Hui" <RHui@interlog.com>
Subject: Jforum: Re: error messages
Date: Fri, 29 Jan 1999 11:19:25 -0500
	charset="iso-8859-1"

Andrew Nikitin  writes on Friday, January 29:

>Some errors in J are being marked by the circumflex:
>
>   +/#'fsdfsdfsd
>|open quote
>|      +/#'fsdfsdfsd
>|         ^
>
>Some of them, in contrary to previous case, are being marked by additional
>space before them:
>
>   +/#(1 2+
>|syntax error
>|   +/#(    1 2+
>
>Does this mean something special, or not?

Not.

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

From owner-jsoftware@lists.interlog.com  Fri Jan 29 12:27:11 1999
Date: Fri, 29 Jan 1999 12:08:45 -0500
From: Eric Iverson <eiverson@interlog.com>
Organization: Iverson Software Inc.
Subject: Re: Jforum: JDLLServer  registry entries ?
References: <003c01be4960$60456040$1c0114d1@xps200> <4.1.19990129165233.009fd950@pop.kolumbus.fi>

Anssi Seppala wrote:
> JREG.EXE does the registration well, but it pops up a dialog "Do you want
> to register...?". I have two questions:
>
> Is there a way to run JREG silent and without pop-up query?

jreg.exe can register both the JDLLServer and the JEXEServer. Both j.exe
and j.dll are 'self registering'. If you call j.exe with a /register
parameter it will register itself and close. The j.dll is a little more
complicated as you must load the dll and then call its DllSelfRegister
method. There is an MS utilility called regsvr32.exe that can be used to
register dlls. Do regsvr32.exe /? for documentation.

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