Re: [Jprogramming] Bug in new vocabulary &: page

2020-04-01 Thread 'Jim Russell' via Programming
Sorry, how should I convert that into a viewable diagram.  
Thanks!

> On Apr 1, 2020, at 11:17 PM, Hauke Rehr  wrote:
> 
> Actually, I’m a little bit confused as well:
> I thought I understood it but obviously didn’t
> so I tried redoing the diagram but with one
> set of arrows altered.
> Am I right these should be different or do I
> misinterprete the way atop is meant to work?
> 
> thanks
> 
> Am 29.03.20 um 03:36 schrieb ethiejiesa via Programming:
>> Raul Miller  wrote:
>>> Another possible way to emphasize what's going on here might be to
>>> split 'v' up into multiple instances (one for each cell) in the &
>>> case. (Though, there, drawing a box around the 'v' part, to show the
>>> scope of the verb and distinguish the definition from the application
>>> -- possibly even backed up by another sentence or something? -- might
>>> be even more important.)
>>> 
>>> Thanks,
>> Perhaps the disagreement stems from difference in experience.
>> I sympathize with Sergey's confusion. When first coming to J a few months 
>> ago, I was confused by the exact same diagram. It only started making sense 
>> for me once the ideas of rank/splitting/reassembly and & vs @ composition 
>> had already clicked.
>> So I feel like the diagram is a great illustration of the concepts but there 
>> is perhaps a need for some pedagogy that demonstrates the initial problem: 
>> What mechanical questions come up when trying to combine verbs? Which 
>> naturally leads to wanting the four composition primitives.
>> Is there a wiki page that already addresses this kind of thing? I might try 
>> writing one up and sharing it on Jgeneral anyway, in the off chance it fills 
>> a need.
>> --
>> For information about J forums see http://www.jsoftware.com/forums.htm
> 
> -- 
> --
> mail written using NEO
> neo-layout.org
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] stock data programming how-to #4

2020-03-31 Thread 'Jim Russell' via Programming
If I may, and having heard no reply to my defense of component files, I'd 
suggest jfiles as a potential solution. Each record can take whatever size you 
are comfortable with: a month, year, or decade. Or am I missing something (as 
usual)?

> On Mar 31, 2020, at 8:05 PM, Raul Miller  wrote:
> 
> If you have enough memory for the intermediate results, you would have
> no problems with a file that large. You need an order of magnitude
> more memory for intermediate results than the raw data, though.
> 
> Me, if I was working with something that big, I'd probably break it
> into pieces first, textually, before trying to process it numerically.
> Like, maybe use the first column as a file name (discarding that
> column from the intermediate files -- or, better, replacing each
> acronym an index value, and also removing the '-' characters from the
> date column perhaps using a big string replace based on the month and
> year... something like ,2017-01- becomes ,201701 and so on...).
> Basically: putting each intermediate file in some target directory.
> 
> If you didn't have even a gigabyte of memory on your machine, you
> could use index reads. For example, 1!:11 -- see
> https://www.jsoftware.com/help/dictionary/dx001.htm -- with a starting
> offset of 0 and a length of 1e7, then find how many you'd have to drop
> to get to the last line feed ((#txt) - 1+ txt i: LF), and drop those
> extra, and make the next offset be that many bytes further into the
> file. Then iterate...
> 
> That said, ec2 instances go up to 3904 gigabytes of ram, which would
> be more than adequate to plow through that much data, if you wanted to
> throw money at Amazon. A 64MB machine should be big enough, though, I
> expect.
> 
> Thanks,
> 
> -- 
> Raul
> 
>> On Tue, Mar 31, 2020 at 12:58 AM HH PackRat  wrote:
>> 
>> Finishing up with function #4..
>> 
>> I have a very large file consisting of multiple sets of historical
>> stock prices that I would like to split into individual files for each
>> stock.  (I'll probably first have to write out all the files to a USB
>> flash drive [I have limited hard drive space, but it might work as a
>> very tight fit] and then, when finished, burn them to a DVD-ROM for
>> more permanent storage.)  Since I thought that J was capable of
>> handling very large files, I figured that this might be a challenge to
>> try.
>> 
>> Unfortunately, I don't know how to handle file reading where you might
>> only be able to read a part of the file at a time.  (I don't know how
>> large a file J can read--maybe it can read the whole file.)  This file
>> has 14,937,606 lines and is 1.63 GB (1,759,801,721 bytes) in size.
>> 
>> Additionally (and probably most importantly), I don't know how to
>> collect a subset of the contents of a file to output to a file, and
>> then resume where J left off and collect the next subset of data to
>> output, and so on.
>> 
>> I'm going to need a LOT of help with this J programming!
>> 
>> Below is a sample of the data--5 days' worth of data for 5 different
>> stocks.  The master file is a csv file, and the individual outputs (5
>> in this case) should also be csv files.  (Obviously, row 0 needs to be
>> ignored.)  The output files should use the ticker symbol as the name
>> for each file (e.g., AA.csv).  The ticker symbol (column 0) should be
>> stripped off of each line of data, with only the remainder of each row
>> (date onward being retained) being cumulated for output.
>> 
>> Please correct me if I'm wrong, but my assumption is that if code
>> works for these 25 lines of data, the code ought to work as well for
>> 14,937,606 lines!
>> 
>> DATA SET D:
>> __
>> 
>> ticker,date,open,high,low,close,volume
>> AA,2017-06-27,31.6,32.5,31.49,31.63,5463485.0
>> AA,2017-06-28,32.1,33.0,31.93,32.95,3764296.0
>> AA,2017-06-29,33.11,33.34,32.61,33.18,3730077.0
>> AA,2017-06-30,33.16,33.45,32.535,32.65,3014777.0
>> AA,2017-07-03,32.94,34.3,32.915,34.02,3112086.0
>> AAPL,2017-06-28,144.49,146.11,143.1601,145.83,21915939.0
>> AAPL,2017-06-29,144.71,145.13,142.28,143.68,31116980.0
>> AAPL,2017-06-30,144.45,144.96,143.78,144.02,22328979.0
>> AAPL,2017-07-03,144.88,145.3001,143.1,143.5,14276812.0
>> AAPL,2017-07-05,143.69,144.79,142.7237,144.09,20758795.0
>> GE,2017-06-28,27.26,27.4,27.05,27.08,30759065.0
>> GE,2017-06-29,27.16,27.41,26.79,27.02,36443559.0
>> GE,2017-06-30,27.09,27.19,26.91,27.01,25849199.0
>> GE,2017-07-03,27.16,27.59,27.06,27.45,20664966.0
>> GE,2017-07-05,27.54,27.56,27.23,27.35,21082332.0
>> IBM,2017-06-28,155.15,155.55,154.78,155.32,2203062.0
>> IBM,2017-06-29,155.35,155.74,153.62,154.13,3245649.0
>> IBM,2017-06-30,154.28,154.5,153.14,153.83,3501395.0
>> IBM,2017-07-03,153.58,156.025,153.52,155.58,2822499.0
>> IBM,2017-07-05,155.77,155.89,153.63,153.67,3558639.0
>> T,2017-06-28,37.88,38.065,37.78,37.94,20312146.0
>> T,2017-06-29,37.87,37.98,37.62,37.62,23508452.0
>> T,2017-06-30,37.73,37.87,37.54,37.73,22303282.0
>> 

Re: [Jprogramming] Generating "music" in J (or otherwise)

2020-03-28 Thread 'Jim Russell' via Programming
Thanks, I forward your message in to Devon, who had asked in the j forms. 

> On Mar 28, 2020, at 10:02 PM, Skip Cave  wrote:
> 
> More J music info:
> https://code.jsoftware.com/wiki/Addons/media/wav
> 
> Skip Cave
> Cave Consulting LLC
> 
> 
>> On Sat, Mar 28, 2020 at 8:47 PM Skip Cave  wrote:
>> 
>> Jim,
>> 
>> Here's the new URL for Yoshitaka Nakajima's research pages. A cursory
>> search didn't find any J code.
>> http://www.design.kyushu-u.ac.jp/~ynhome/
>> 
>> Might want to email him and see if he still has the code:
>> *nakaj...@design.kyushu-u.ac.jp*
>> <https://mail.google.com/mail/?view=cm=1=1=nakaj...@design.kyushu-u.ac.jp>
>> 
>> Skip Cave
>> Cave Consulting LLC
>> 
>> 
>> On Sat, Mar 28, 2020 at 8:35 PM 'Jim Russell' via Programming <
>> programm...@jsoftware.com> wrote:
>> 
>>> I also stumbled across YoshitakaNakajima <
>>> https://code.jsoftware.com/wiki/Stories/YoshitakaNakajima>. Alas, the
>>> link therein no longer works.
>>> 
>>>> On Mar 28, 2020, at 5:27 PM, Devon McCormick 
>>> wrote:
>>>> 
>>>> has anyone done work with generating music or musical phrases in J?
>>> 
>>> --
>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>> 
>> 
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Bug in new vocabulary &: page

2020-03-28 Thread 'Jim Russell' via Programming
I’m still at the point where my eyes glaze over whenever I see that diagram. 
So, yes, even though it may be too soon for me to understand it, I would 
appreciate your effort to shed more light on the topic.

> On Mar 28, 2020, at 9:36 PM, ethiejiesa via Programming 
>  wrote:
> 
>  I might try writing one up and sharing it on Jgeneral anyway, in the off 
> chance it fills a need.
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Generating "music" in J (or otherwise)

2020-03-28 Thread 'Jim Russell' via Programming
I also stumbled across YoshitakaNakajima 
. Alas, the link 
therein no longer works.

> On Mar 28, 2020, at 5:27 PM, Devon McCormick  wrote:
> 
> has anyone done work with generating music or musical phrases in J? 

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Iteration

2020-03-23 Thread 'Jim Russell' via Programming
Who do I thank tor this? It is a particularly clear and helpful exclamation.  
Thank you!

> On Mar 13, 2020, at 3:56 AM, ethiejiesa via Programming 
>  wrote:
> 
> I'll contribute a little prose. Hopefully, it's helpful.
> 
> In this particular case, notice that > transforms your list of boxes into a 
> 5x6
> table:
> 
>> (6?55);(6?55);(6?55);(6?55);(6?55)
>13 4 19 43 3 52
>10 1 4 46 52 11
>38 12 48 50 54 45
>36 54 39 35 53 50
>44 1 7 54 11 41
> 
> So, we should be able to easily "reverse" the above, meaning that dealing with
> a 5x6 array is pretty much the same as dealing with 5 boxes of 6-arrays. Let's
> just keep this in mind for now, and first try to generate this 6x5 table.
> 
> The key point of ? is that it's monadic and dyadic ranks are all 0, meaning
> that it transforms an array of integers into a corresponding array of random
> numbers:
> 
>? 50 6 $ 55
>...
> 
> produces a random 50x6 array of integers each in the range i.55. This is not
> quite what we want, but we first note that it can be more idiomatically
> written:
> 
>50 6 ?@$ 55
> 
> The utility of @ (and @:) become a lot more apparent when writing tacit
> expressions. In general, x u@v y is equivalent to u (x v y), applying u "atop"
> x v y, hence the mnemonic. (NB. The difference between u@v and u@:v is that
> they produce verbs of different rank.)
> 
> The dyad n?m produces n random numbers without replacement. Your posed problem
> is to generate 50 such lists, so conceptually we want to *reshape* the
> arguments of ? into 50-lists:
> 
>(50$6) ? (50$55)
> 
> but, better yet, as lots of verbs to ? will automatically reshape an atomic
> argument to the shape of the other argument, so we can abbreviate the above in
> one of two ways:
> 
>6 ? (50$55) NB. or
>(50$6) ? 55
> 
> In the first case, the parentheses are not necessary due to J parsing rules, 
> so
> its more compact and idomatic to elide them
> 
>6 ? 50$55
> 
> These three previous options should produce the desired random tables. Now,
> putting things together, we just want to "redo" the boxing we did in the
> beginning example:
> 
><"1 (6 ? 50$55)
> 
> Which should give the desired result. We need the
> parenthesis to separate the 1 from the 6, otherwise J would interpret this as
> <"1 6. Another way to break up the list lexing is like this:
> 
><"1 [ 6 ? 50 $ 55
> 
> Anyway, Hui's use of &. is even nicer. The key ideas is that u&.v first runs v
>> on u's aguments and then *undoes* v on the result. The really neat thing is
>> that > is a no-op on non-boxed atoms:
>> 
>>> 42
>>42
>> 
>> So the idea is to let > be a no-op on our input array of integers, then let ?
>> do it's thing, and finally *undo* > on *each* result. And since undoing > is
>> simply doing <, we get what we want.
>> 
>>6 ?&.> 50 $ 55
>> 
>> The "each result" part above is exactly why this form is slick. ?&.> has the
>> rank of >, i.e. 0 0 0. This means that it will box each list produced by ? as
>> the integers are fed to it, which is exactly what we want in this case.
>> 
>> Very cool stuff. Rank!
>> 
>> 
>> Skip Cave  wrote:
>> Wow! Two completely different ways to generate multiple sets of random
>> integers. Roger used &. which I haven't really ever used or understood. I
>> will definitely need to understand &. for the future. Devon used @, which I
>> also haven't used very much. I need to find some practice and  training
>> examples to work on both concepts.
>> 
>> Skip Cave
>> Cave Consulting LLC
>> 
>> 
>>> On Fri, Mar 13, 2020 at 12:04 AM Devon McCormick  wrote:
>>> 
>>>   6 5?@$55
>>> Will give you a 6x5 table that is 6 independent rows of 5?55.
>>> 
>>> 
>>> On Fri, Mar 13, 2020 at 12:52 AM Roger Hui 
>>> wrote:
>>> 
   6 ?&.> 5 $ 55
 
 
>>> ┌┬─┬───┬─┬───┐
 │47 28 45 25 8 36│22 40 23 20 11 49│15 16 42 38 4 5│50 45 38 37 13 28│42
>>> 4
 36 7 23 49│
 
 
>>> └┴─┴───┴─┴───┘
 
   6 ?&.> 50 $ 55
 ...
 
 
 On Thu, Mar 12, 2020 at 9:49 PM Skip Cave 
>>> wrote:
 
> How can I generate the following result extended 50 times, without
 explicit
> looping?
> 
> (6?55);(6?55);(6?55);(6?55);(6?55)
> 
> 
> 
 
>>> ┌───┬───┬─┬─┬───┐
> 
> │13 4 19 43 3 52│10 1 4 46 52 11│38 12 48 50 54 45│36 54 39 35 53 50│44
 1 7
> 54 11 41│
> 
> 
> 
 
>>> └───┴───┴─┴─┴───┘
> 
> 
> 
> Skip Cave
> Cave Consulting LLC
> --
> For information about J forums see http://www.jsoftware.com/forums.htm
> 
 

Re: [Jprogramming] OpenGL

2020-02-28 Thread 'Jim Russell' via Programming
I got the short .txt file as an attachment, which opened when asked. 

> On Feb 28, 2020, at 1:16 PM, Raul Miller  wrote:
> 
> Here's the same file with a .txt extension.
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] J equivalent of "exec"?

2020-02-18 Thread 'Jim Russell' via Programming
Does the "do" approach involve risks like SQL injection risks? How does one 
ensure that a user response doesn't include malicious J code?

> On Feb 18, 2020, at 1:34 PM, PMA  wrote:
> 
> Bob, Jimmy, Pascal --
> Just plain old Do fercrisake.
> Omg, I feel like an idiot!
> (Happy, o'course)
> 
> See, I'll be using the quotes in one string
> as the var NAME that this function's output
> will be assigned to.  A little cumbersome,
> but hey...
> 
> Thanks again!
> Cheers back!!!
> Pete
> 
>> On 02/18/2020 12:27 PM, 'robert therriault' via Programming wrote:
>> Hi Pete,
>> 
>> Are you looking for ". (Do) 
>> https://code.jsoftware.com/wiki/Vocabulary/quotedot
>> 
>> ".'1 + 1'
>> 2
>>FUNCTION=: 4 : 0
>> smoutput x  NB. output x string
>> smoutput y  NB. output y string
>> x +&". yNB. Using + as the dyadic verb placeholder, equivalent to (". x) 
>> + ". y
>> )
>>'1+1' FUNCTION '2+2'
>> 1+1
>> 2+2
>> 6
>> 
>> Cheers, bob
>> 
 On Feb 18, 2020, at 09:10, PMA  wrote:
>>> 
>>> This question must be too clueless to ask,
>>> but two hours with NuVoc leaves me still
>>> wondering --
>>> 
>>> I need to write a function invocation with
>>> its numeric x and y each in quotes as TEXT:
>>> 
>>>  '1+1' FUNCTION '2+2'
>>> 
>>> I want the function then, after displaying
>>> x and y, to remove their quotes and execute
>>> their innards.
>>> 
>>> What (a primitive, I assume!) will convert
>>> each quote to an executable expression?
>>> 
>>> Thanks in advance.
>>> Sorry to test your patience!
>>> Pete
>>> --
>>> For information about J forums see http://www.jsoftware.com/forums.htm
>> 
>> --
>> For information about J forums see http://www.jsoftware.com/forums.htm
>> 
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Whatever happened to foreach. ?

2020-02-15 Thread 'Jim Russell' via Programming
Thank you, Devon, for bringing gerunds into this discussion. 
An exchange here a while back reminded me of an inept COBOL programmer who 
created several pages of IF statements where a single "go to depending on" 
would have been much more efficient.  After I  made an (admittedly unsolicited) 
comment on the topic, I was reminded that J doesn't have a computed goto. 

I briefly looked into the J "case." documentation and feared (perhaps 
incorrectly; I'll look closer) the inefficient approach was being 
institutionalized. 

When long ago I first read (Rogers?) excellent article on case statements:
 https://www.jsoftware.com/help/phrases/case_statements.htm
I was focused only on primitive verbs, and wasn't sufficiently imaginative to 
think of many applications. 
That is probably because I come from a compiled language world where executing 
a source language statement, if even possible, was frowned upon as kludgey and 
inefficient (and dangerous, ala SQL.) 
But in a J interpreted world, my guess is that the gerund approach should be 
much preferred.

> On Feb 14, 2020, at 8:47 PM, Devon McCormick  wrote:
> 
> f0=. 3 : 'echo ''this''[y'"0
> f1=. 3 : 'echo ''that''[y'"0
> f2=. 3 : 'echo ''etc''[y'"0
> 
>   f0`f1`f2 @.]"0]i.3
> this
> that
> etc
> 
>> On Fri, Feb 14, 2020 at 4:58 PM PMA  wrote:
>> 
>> Ah, beautiful, thank you!!!
>> 
>>> On 02/14/2020 04:33 PM, Julian Fondren wrote:
>>>   TEST =: 3 : 0
>>> for_NAME. y do.
>>>   select. NAME
>>>   case. 0 do. echo 'this'
>>>   case. 1 do. echo 'that'
>>>   case. do. echo 'etc'
>>>   end.
>>> end.
>>>   )
>>> 
>>> as used:
>>> 
>>>  TEST i.3
>>>   this
>>>   that
>>>   etc
>>> 
>>> That's the second 'for' at
>>> https://code.jsoftware.com/wiki/Vocabulary/fordot
>>> 
>>> On 2020-02-14 15:25, PMA wrote:
 Hi J Gurus,
 
 Please forgive an awfully naive question.
 Here it is in sorta-J context --
 
 TEST =: 3 : 0
  For each item (an integer) in y
  do.
How can I NAME the item, in order to
select. NAME and then run
  case. 0 do. this
  case. 1 do. that, etc., against it?
end.
  end.
 )
 
 Thanks in advance,
 Pete
 --
 For information about J forums see http://www.jsoftware.com/forums.htm
>>> --
>>> For information about J forums see http://www.jsoftware.com/forums.htm
>> --
>> For information about J forums see http://www.jsoftware.com/forums.htm
>> 
> 
> 
> -- 
> 
> Devon McCormick, CFA
> 
> Quantitative Consultant
> --
> For information about J forums see http://www.jsoftware.com/forums.htm
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] Blush

2020-02-11 Thread 'Jim Russell' via Programming
And sincere apologies for forgetting to remove the original messages from my 
reply. 
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Derivatives

2020-02-11 Thread 'Jim Russell' via Programming

Many thanks to both Raul and Roger for Falkoff's paper. Fascinating!
> On Feb 11, 2020, at 11:49 AM, Roger Hui  wrote:
> 
> I am skeptical of this particular use of "indeterminant" in Falkoff's 
> *APL\360
> History*.  I typed in the web page
> http://www.jsoftware.com/papers/apl360history.htm contents from a printed
> Proceedings, and as noted in the web page,
> 
> The Proceedings state that “Mr. Falkoff’s [address] … has been transcribed
> from the taped recording and was not submitted as hard copy”.
> 
> 
> I just checked the Proceedings, and the word there is "indeterminent" [*sic*].
> I will change the web page forthwith.
> 
> 
> 
>> On Tue, Feb 11, 2020 at 4:54 AM Raul Miller  wrote:
>> 
>>> On Mon, Feb 10, 2020 at 10:12 PM Don Kelly  wrote:
>>> I also should have written "indeterminate"
>> 
>> This seems to be another example where one choice being valid does not
>> mean that a different choice is invalid. (A common issue when using
>> the english language -- or, more generally, any human language.)
>> 
>> http://definition.org/define/indeterminant/
>> http://definition.org/define/indeterminate/
>> 
>> That said, looking at the jsoftware.com content, the latter does seem
>> to be used far more frequently. The only use of "indeterminant" I
>> could find was Adin Falkoff:
>> 
>> https://www.jsoftware.com/papers/apl360history.htm
>> 
>> Thanks,
>> 
>> --
>> Raul
>> --
>> For information about J forums see http://www.jsoftware.com/forums.htm
>> 
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Derivatives

2020-02-10 Thread 'Jim Russell' via Programming


> On Feb 10, 2020, at 10:31 PM, Don Kelly  wrote:
> 
> Thank you and

good night??  Jeeze, even the shortest message in this thread goes over my head!



--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] J701 for iPad

2020-02-02 Thread 'Jim Russell' via Programming


> On Feb 2, 2020, at 2:41 PM, Ian Clark  wrote:
> 
> Very interesting, Jim.
> 
> I too have been having difficulties with the keyboard when using j701 on my
> iPad. I'd like to know more.
> 
> I take it you are referring to: Settings: General > Keyboards. Are you
> saying that ScanPro altered settings without your knowledge, let alone
> consent? That's not a user-friendly thing for an App Store product to do.

I probably blamed ScanPro prematurely. The problem reappeared after I posted, 
but all is well again.

I do have a Bluetooth keyboard, a Logitech slim. When I later reattached that 
keyboard, the small keyboard reappeared, but the the large (workable) one was 
restored when I disconnected it.  

Looking some more, I also had the Microsoft "swipe" keyboard installed. (MS 
bought out "Swipe", and renamed it [something which i remembered a minute ago: 
WordFlow, thank you Safari History] and later discontinued it. When I first saw 
it in settings i could enable/disable full access to the developer, but was 
initially unable to remove it. Somehow, after looking it up in the App Store 
and doing a web search or two, it went away.  (My memory has a half life of 
about 30 seconds, sorry i can't be more specific.)

> Do you have a record of the "before" and "after" settings (after deleting
> ScanPro) – or can you try to remember what changed? Can you please pm me a
> screen shot of your present settings? (…will doubtless need 2 screen shots).
> 
Nope, sorry. I can take some screen shots of my settings and send then via 
email if you like.
> Have you played some more with those settings? What I mean to say is: are
> you confident your present settings yield the most satisfactory keyboard
> behaviour?
> 
Again yes and no, but for the nonce it seems to be again working.
> Do you own a hardware bluetooth keyboard?
Yes, a Logitech slim.
> When it's linked and working,
> does the on-screen keyboard disappear (as it should do)? It doesn't for me,
> at least not for j701.
> 
Usually yes, but the special J701 keyboard still shows, which is good for me, 
cause it makes entering special characters easier.  It seems I can use either, 
except that only the blue special J return key gets lines moved to the input 
area; the Bluetooth keyboard return does not. I cannot swipe on the special J 
keyboard, nor can I pinch it to the smaller size - but that is good! 

In the past I have seen (with j701) weirdness like left to right text input, 
random input characters, etc., which so far has stayed away now.

I also use my ipad (optionally with the keyboard) to remotely access my Mac 
Mini via the internet using  SplashTop. Frankly, I am amazed that anything 
keyboard related works at all!! For example, I can sit in McDonnalds, and 
restart the MacMini and watch it reboot from my ipad!
> Ian Clark
> 
>> On Sun, 2 Feb 2020 at 18:56, 'Jim Russell' via Programming <
>> programm...@jsoftware.com> wrote:
>> 
>> At some point in the various iOS 13 releases I feared I had lost j701 on
>> my iPad, although the iPhone version remained ok. On the iPad, the app

>> [snip]

>> What really hurts is that is in spite of a perfect 5 review rating, the
>> app has only 1 published review and only 6 reviews. And if you look in the
>> iPhone App Store, it is not even shown as having an iPad version.
>> 
>> If only prospective j programmers were smart enough to install the app and
>> use it enough to see the amazing power which the language offers...

>> 
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] J701 for iPad

2020-02-02 Thread 'Jim Russell' via Programming
At some point in the various iOS 13 releases I feared I had lost j701 on my 
iPad, although the iPhone version remained ok. On the iPad, the app opened, but 
the special j keyboard opened in the reduced ("swipe" or quick path) size 
displaying only half of the full sized keys. 

To trouble shoot, I checked the keyboard settings and noted that a number of 
them were related to an (unused) ScanPro app. On a whim, I deleted that app, 
and the full sized j keyboard was restored. All now seems well!

What really hurts is that is in spite of a perfect 5 review rating, the app has 
only 1 published review and only 6 reviews. And if you look in the iPhone App 
Store, it is not even shown as having an iPad version. 

If only prospective j programmers were smart enough to install the app and use 
it enough to see the amazing power which the language offers...
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] J icons

2020-01-30 Thread 'Jim Russell' via Programming
I managed to delete my Jjhs desktop icon from my Mac mini, and failed to 
recreate it. I finally had to do a complete reinstall of J to recover. Any 
ideas what MacOS magic I was missing?
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] j901-release-e

2020-01-29 Thread 'Jim Russell' via Programming
I got release-d yesterday when I updated (after realizing I was running from my 
download directory. ) Should I hold it till it becomes rare and valuable to 
collectors?

> On Jan 29, 2020, at 1:07 PM, Eric Iverson  wrote:
> 
> j901-release-e is available for windows/linux/macos
> 
> It has minor bug fixes to the previous release. In case you were curious,
> release-d got lost in the shuffle.
> 
> Please upgrade your j901 install when convenient with:
> 
> start J
>   load 'pacman'
>   'upgrade' jpkg 'jengine'
> 
> ***
> raspberry and android release-e will be announced when available.
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] IOS/IPadIOS 13.3 problems

2019-12-31 Thread 'Jim Russell' via Programming
Thanks for checking. For the time being I'll just stick with Opera. 

> On Dec 31, 2019, at 6:05 PM, 'robert therriault' via Programming 
>  wrote:
> 
> Hi Jim,
> 
> I checked out J 701 on my iPad before updating to 13.3 and everything worked 
> as expected. I haven't run JHS through the iPad or iPhone and my iPhone is 
> old enough that it won't update to 13.3.
> 
> After updating and when working on its own, things seemed the same in either 
> portrait or landscape mode, but J701 does have a couple of issues when 
> sharing with other apps. With portrait mode shared, J loses access to the 
> return key to process j sentences that have been entered. In landscape mode, 
> if the portion of the screen for J is less than 2/3rds then the return key 
> disappears. Making the J area larger by dragging the partition across 
> restores the return key. When the keyboard comes up it covers the lower half 
> of both sides, but this is the same way for 12.5 or whatever the previous iOS 
> I had running was. 
> 
> Hope this helps,
> 
> Cheers, bob 
> 
>> On Dec 31, 2019, at 12:58 PM, 'Jim Russell' via Programming 
>>  wrote:
>> 
>> Can any apple fan confirm or refute my recent problems with IOS 13.3?
>> 
>> 1. J701, on an IPad, no longer behaves as it should, particularly when 
>> trying to run sharing the screen with other apps. 
>> 2. J701, on an iPhone, continues to work correctly. 
>> 3. Neither iPhones nor iPads at 13.3, when connected to a Mac host running 
>> JHS via lanip:65002/jijx, can open new Safari tabs via the ijix tab menus. 
>> 4. The Mac host, when connected via the same lanip:65002/jijx performs 
>> normally. 
>> 5. Other browsers, from non IOS devices, (Edge, old versions of safari) seem 
>> to reach JHS and operate Ok. Even the Opera browser when installed on the 
>> iPhone corrected the problem!
>> --
>> For information about J forums see http://www.jsoftware.com/forums.htm
> 
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] IOS/IPadIOS 13.3 problems

2019-12-31 Thread 'Jim Russell' via Programming
Can any apple fan confirm or refute my recent problems with IOS 13.3?

1. J701, on an IPad, no longer behaves as it should, particularly when trying 
to run sharing the screen with other apps. 
2. J701, on an iPhone, continues to work correctly. 
3. Neither iPhones nor iPads at 13.3, when connected to a Mac host running JHS 
via lanip:65002/jijx, can open new Safari tabs via the ijix tab menus. 
4. The Mac host, when connected via the same lanip:65002/jijx performs 
normally. 
5. Other browsers, from non IOS devices, (Edge, old versions of safari) seem to 
reach JHS and operate Ok. Even the Opera browser when installed on the iPhone 
corrected the problem!
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Jhs on iPad via lan to Mac

2019-12-28 Thread 'Jim Russell' via Programming
For some reason (which I do not understand) mine wound up under 
/Users/jamesrussell/j901-users/config/65002.cfg. Probably due to jhs not having 
an "edit" command, which I had to go to Jqt to find, and the finder working 
overtime to protect me from myself. Is that why I have to rerun it under jc 
whenever I restart jhs?

> On Dec 28, 2019, at 3:18 PM, Eric Iverson  wrote:
> 
> Your 65002.cfg file would have been a trivial edit to the base JHS config
> file which is at:
> ~addons/ide/jhs/config/jhs.cfg
> 
>> On Sat, Dec 28, 2019 at 12:51 PM 'Jim Russell' via Programming <
>> programm...@jsoftware.com> wrote:
>> 
>> I think I somehow lost my 65002.cfg file
>> on the upgrade to the j901 release. Likely something dumb I did.
>> 
>>> On Dec 28, 2019, at 12:30 PM, Eric Iverson 
>> wrote:
>>> 
>>> I doubt very much that the level of JE would affect things as you
>> describe.
>>> But a new iOS certainly could.
>>> 
>>>> On Sat, Dec 28, 2019 at 12:15 PM 'Jim Russell' via Programming <
>>>> programm...@jsoftware.com> wrote:
>>>> 
>>>> FWIW: I had iOS to jhs working over the lan for the last j beta. I
>> _think_
>>>> I would have noticed a failure to open other web pages. I lost the
>> ability
>>>> to connect after I upgraded to the j901 release, and, perhaps, when I
>>>> upgraded to iOS 13.3 on both by iPhone/iPad.
>>>> 
>>>>> On Dec 28, 2019, at 10:55 AM, 'Jim Russell' via Programming <
>>>> programm...@jsoftware.com> wrote:
>>>>> 
>>>>> Seems the fault lies with iOS/iPadOS safari. (It may still be a
>>>> setting. )
>>>>> 
>>>>> I have reached jhs on my Mac mini via the local lan from safari on an
>>>> old (2007) MacBook and from a win 10 (Edge?) system, and both behave as
>>>> expected.
>>>>> 
>>>>>> On Dec 27, 2019, at 7:54 PM, 'Jim Russell' via Programming <
>>>> programm...@jsoftware.com> wrote:
>>>>>> 
>>>>>> Interesting. Still unable to new tabs on the iPad.
>>>>>> On the Mac the jijx window shows:acman
>>>>>> ...
>>>>>> |value error: jev_get__...
>>>>>> |   jev_get__''
>>>>>> *** response not sent for
>>>>>> *** html409 Conflict
>>>>>> 66
>>>>>> 66
>>>>>> (The 66 is my lazy I.5 to check j still lives);
>>>>>> 
>>>>>> On the iPad the jijx window shows:,
>>>>>> ...
>>>>>> |value error: jev_get__
>>>>>> |   jev_get__''
>>>>>> *** response not sent for
>>>>>> *** html409 Conflict
>>>>>> 66
>>>>>> 66
>>>>>> Updating server catalog...
>>>>>> Updating server catalog...
>>>>>> Updating server catalog...
>>>>>> (From Pacman? Perhaps I tried it here, though not, I did run it on the
>>>> Mac.)
>>>>>> 
>>>>>>>> On Dec 27, 2019, at 7:34 PM, 'Jim Russell' via Programming <
>>>> programm...@jsoftware.com> wrote:
>>>>>>> Think I am ok now on the host, I connected via the lanip. I was not
>>>> asked for user/pass, I assume since i had jijx running via the
>> localhost ip
>>>> when I connected (helped by not misspelling jijx as ijix!)
>>>>>>> All menus seem to work, including HELP and Pacman.
>>>>>>> 
>>>>>>> I’ll try connecting an IOS device without leaving this session, but
>>>> i’m not too hopefull.
>>>>>>>>> On Dec 27, 2019, at 7:12 PM, 'robert therriault' via Programming <
>>>> programm...@jsoftware.com> wrote:
>>>>>>>> 
>>>>>>>> Hi Jim,
>>>>>>>> 
>>>>>>>> Although I don't work in the terminal much, I did have a look at the
>>>> 'kill' command using 'man kill' on the command line (sounds sinister,
>> but
>>>> in the terminal it provides the manual on the kill command) and it looks
>>>> like that is what you would use to kill processes. And when I get the
>>>> EADRRINUSE error that is what I usually do if I don't have access to the
>>>> actual terminal window, in which case I can just exit '' to close the
>>>> session.
>>>>>>>> 
&

Re: [Jprogramming] Jhs on iPad via lan to Mac

2019-12-28 Thread 'Jim Russell' via Programming
I think I somehow lost my 65002.cfg file
on the upgrade to the j901 release. Likely something dumb I did. 

> On Dec 28, 2019, at 12:30 PM, Eric Iverson  wrote:
> 
> I doubt very much that the level of JE would affect things as you describe.
> But a new iOS certainly could.
> 
>> On Sat, Dec 28, 2019 at 12:15 PM 'Jim Russell' via Programming <
>> programm...@jsoftware.com> wrote:
>> 
>> FWIW: I had iOS to jhs working over the lan for the last j beta. I _think_
>> I would have noticed a failure to open other web pages. I lost the ability
>> to connect after I upgraded to the j901 release, and, perhaps, when I
>> upgraded to iOS 13.3 on both by iPhone/iPad.
>> 
>>> On Dec 28, 2019, at 10:55 AM, 'Jim Russell' via Programming <
>> programm...@jsoftware.com> wrote:
>>> 
>>> Seems the fault lies with iOS/iPadOS safari. (It may still be a
>> setting. )
>>> 
>>> I have reached jhs on my Mac mini via the local lan from safari on an
>> old (2007) MacBook and from a win 10 (Edge?) system, and both behave as
>> expected.
>>> 
>>>> On Dec 27, 2019, at 7:54 PM, 'Jim Russell' via Programming <
>> programm...@jsoftware.com> wrote:
>>>> 
>>>> Interesting. Still unable to new tabs on the iPad.
>>>> On the Mac the jijx window shows:acman
>>>> ...
>>>> |value error: jev_get__...
>>>> |   jev_get__''
>>>> *** response not sent for
>>>> *** html409 Conflict
>>>> 66
>>>> 66
>>>> (The 66 is my lazy I.5 to check j still lives);
>>>> 
>>>> On the iPad the jijx window shows:,
>>>> ...
>>>> |value error: jev_get__
>>>> |   jev_get__''
>>>> *** response not sent for
>>>> *** html409 Conflict
>>>> 66
>>>> 66
>>>> Updating server catalog...
>>>> Updating server catalog...
>>>> Updating server catalog...
>>>> (From Pacman? Perhaps I tried it here, though not, I did run it on the
>> Mac.)
>>>> 
>>>>>> On Dec 27, 2019, at 7:34 PM, 'Jim Russell' via Programming <
>> programm...@jsoftware.com> wrote:
>>>>> Think I am ok now on the host, I connected via the lanip. I was not
>> asked for user/pass, I assume since i had jijx running via the localhost ip
>> when I connected (helped by not misspelling jijx as ijix!)
>>>>> All menus seem to work, including HELP and Pacman.
>>>>> 
>>>>> I’ll try connecting an IOS device without leaving this session, but
>> i’m not too hopefull.
>>>>>>> On Dec 27, 2019, at 7:12 PM, 'robert therriault' via Programming <
>> programm...@jsoftware.com> wrote:
>>>>>> 
>>>>>> Hi Jim,
>>>>>> 
>>>>>> Although I don't work in the terminal much, I did have a look at the
>> 'kill' command using 'man kill' on the command line (sounds sinister, but
>> in the terminal it provides the manual on the kill command) and it looks
>> like that is what you would use to kill processes. And when I get the
>> EADRRINUSE error that is what I usually do if I don't have access to the
>> actual terminal window, in which case I can just exit '' to close the
>> session.
>>>>>> 
>>>>>> Cheers, bob
>>>>>> 
>>>>>>>> On Dec 27, 2019, at 3:59 PM, 'Jim Russell' via Programming <
>> programm...@jsoftware.com> wrote:
>>>>>>> 
>>>>>>> 
>>>>>>> I started to say: "All works as it should on the Mac mini, even when
>> signed in with the Getlanip address and providing a USER and PASSWORD."
>> BUT, 'taint so.
>>>>>>> Instead, After closing  jhs and trying to restart jhs, I get:
>>>>>>> 
>>>>>>> Last login: Thu Dec 26 21:16:00 on ttys005
>>>>>>> jamesrussell@Jamess-Mac-mini ~ %
>> /Users/jamesrussell/j901-user/temp/launch.command ; exit;
>>>>>>> |EADDRINUSE: sdcheck_jsocket_
>>>>>>> |   sdcheck_jsocket_ r
>>>>>>> |[-12] /applications/j901/addons/ide/jhs/config/jhs.cfg
>>>>>>> 
>>>>>>> And, From both iOS devices I get "Safari cannot open the page
>> because it could not connect to the server."
>>>>>>> 
>>>>>>> Ps -a yields:
>>>>>>> 
>>>>>>> UID   PID  PPIDF C

Re: [Jprogramming] Jhs on iPad via lan to Mac

2019-12-28 Thread 'Jim Russell' via Programming
FWIW: I had iOS to jhs working over the lan for the last j beta. I _think_ I 
would have noticed a failure to open other web pages. I lost the ability to 
connect after I upgraded to the j901 release, and, perhaps, when I upgraded to 
iOS 13.3 on both by iPhone/iPad. 

> On Dec 28, 2019, at 10:55 AM, 'Jim Russell' via Programming 
>  wrote:
> 
> Seems the fault lies with iOS/iPadOS safari. (It may still be a setting. )
> 
> I have reached jhs on my Mac mini via the local lan from safari on an old 
> (2007) MacBook and from a win 10 (Edge?) system, and both behave as expected. 
> 
>> On Dec 27, 2019, at 7:54 PM, 'Jim Russell' via Programming 
>>  wrote:
>> 
>> Interesting. Still unable to new tabs on the iPad.
>> On the Mac the jijx window shows:acman
>> ...
>> |value error: jev_get__...
>> |   jev_get__'' 
>> *** response not sent for 
>> *** html409 Conflict
>>  66
>> 66
>> (The 66 is my lazy I.5 to check j still lives);
>> 
>> On the iPad the jijx window shows:,
>> ...
>> |value error: jev_get__
>> |   jev_get__''
>> *** response not sent for 
>> *** html409 Conflict
>>  66
>> 66
>> Updating server catalog...
>> Updating server catalog...
>> Updating server catalog...
>> (From Pacman? Perhaps I tried it here, though not, I did run it on the Mac.)
>> 
>>>> On Dec 27, 2019, at 7:34 PM, 'Jim Russell' via Programming 
>>>>  wrote:
>>> Think I am ok now on the host, I connected via the lanip. I was not asked 
>>> for user/pass, I assume since i had jijx running via the localhost ip when 
>>> I connected (helped by not misspelling jijx as ijix!) 
>>> All menus seem to work, including HELP and Pacman.  
>>> 
>>> I’ll try connecting an IOS device without leaving this session, but i’m not 
>>> too hopefull. 
>>>>> On Dec 27, 2019, at 7:12 PM, 'robert therriault' via Programming 
>>>>>  wrote:
>>>> 
>>>> Hi Jim,
>>>> 
>>>> Although I don't work in the terminal much, I did have a look at the 
>>>> 'kill' command using 'man kill' on the command line (sounds sinister, but 
>>>> in the terminal it provides the manual on the kill command) and it looks 
>>>> like that is what you would use to kill processes. And when I get the 
>>>> EADRRINUSE error that is what I usually do if I don't have access to the 
>>>> actual terminal window, in which case I can just exit '' to close the 
>>>> session. 
>>>> 
>>>> Cheers, bob
>>>> 
>>>>>> On Dec 27, 2019, at 3:59 PM, 'Jim Russell' via Programming 
>>>>>>  wrote:
>>>>> 
>>>>> 
>>>>> I started to say: "All works as it should on the Mac mini, even when 
>>>>> signed in with the Getlanip address and providing a USER and PASSWORD." 
>>>>> BUT, 'taint so. 
>>>>> Instead, After closing  jhs and trying to restart jhs, I get:
>>>>> 
>>>>> Last login: Thu Dec 26 21:16:00 on ttys005
>>>>> jamesrussell@Jamess-Mac-mini ~ % 
>>>>> /Users/jamesrussell/j901-user/temp/launch.command ; exit;
>>>>> |EADDRINUSE: sdcheck_jsocket_
>>>>> |   sdcheck_jsocket_ r
>>>>> |[-12] /applications/j901/addons/ide/jhs/config/jhs.cfg
>>>>> 
>>>>> And, From both iOS devices I get "Safari cannot open the page because it 
>>>>> could not connect to the server."  
>>>>> 
>>>>> Ps -a yields:
>>>>> 
>>>>> UID   PID  PPIDF CPU PRI NI   SZRSS WCHAN S   
>>>>>   ADDR TTY   TIME CMD
>>>>> 0  3942  1123 4106   0  31  0  4327424   4516 -  Ss   
>>>>>0 ttys0000:00.02 login -pf jamesr
>>>>> 501  3943  3942 4006   0  31  0  4297224   1896 -  S  
>>>>>  0 ttys0000:00.01 -zsh
>>>>> 501  3946  3943 4006   0  31  0  4288580   1064 -  S+ 
>>>>>  0 ttys0000:00.00 /bin/sh /Users/j
>>>>> 501  3947  3946 4006   0  31  0  4329500  14736 -  S+ 
>>>>>  0 ttys0000:00.09 /applications/j9
>>>>> 0  6371  1123 4106   0  31  0  4318208   4512 -  Ss   
>>>>>0 ttys0010:00.02 login -pf jamesr
>>>>> 501  6372  6371 4006   0  31  0  4288008   1876 -  S  
>>>

Re: [Jprogramming] Jhs on iPad via lan to Mac

2019-12-28 Thread 'Jim Russell' via Programming
Seems the fault lies with iOS/iPadOS safari. (It may still be a setting. )

I have reached jhs on my Mac mini via the local lan from safari on an old 
(2007) MacBook and from a win 10 (Edge?) system, and both behave as expected. 

> On Dec 27, 2019, at 7:54 PM, 'Jim Russell' via Programming 
>  wrote:
> 
> Interesting. Still unable to new tabs on the iPad.
> On the Mac the jijx window shows:acman
> ...
> |value error: jev_get__...
> |   jev_get__'' 
> *** response not sent for 
> *** html409 Conflict
>   66
> 66
> (The 66 is my lazy I.5 to check j still lives);
> 
> On the iPad the jijx window shows:,
> ...
> |value error: jev_get__
> |   jev_get__''
> *** response not sent for 
> *** html409 Conflict
>   66
> 66
> Updating server catalog...
> Updating server catalog...
> Updating server catalog...
> (From Pacman? Perhaps I tried it here, though not, I did run it on the Mac.)
> 
>> On Dec 27, 2019, at 7:34 PM, 'Jim Russell' via Programming 
>>  wrote:
>> Think I am ok now on the host, I connected via the lanip. I was not asked 
>> for user/pass, I assume since i had jijx running via the localhost ip when I 
>> connected (helped by not misspelling jijx as ijix!) 
>> All menus seem to work, including HELP and Pacman.  
>> 
>> I’ll try connecting an IOS device without leaving this session, but i’m not 
>> too hopefull. 
>>>> On Dec 27, 2019, at 7:12 PM, 'robert therriault' via Programming 
>>>>  wrote:
>>> 
>>> Hi Jim,
>>> 
>>> Although I don't work in the terminal much, I did have a look at the 'kill' 
>>> command using 'man kill' on the command line (sounds sinister, but in the 
>>> terminal it provides the manual on the kill command) and it looks like that 
>>> is what you would use to kill processes. And when I get the EADRRINUSE 
>>> error that is what I usually do if I don't have access to the actual 
>>> terminal window, in which case I can just exit '' to close the session. 
>>> 
>>> Cheers, bob
>>> 
>>>>> On Dec 27, 2019, at 3:59 PM, 'Jim Russell' via Programming 
>>>>>  wrote:
>>>> 
>>>> 
>>>> I started to say: "All works as it should on the Mac mini, even when 
>>>> signed in with the Getlanip address and providing a USER and PASSWORD." 
>>>> BUT, 'taint so. 
>>>> Instead, After closing  jhs and trying to restart jhs, I get:
>>>> 
>>>> Last login: Thu Dec 26 21:16:00 on ttys005
>>>> jamesrussell@Jamess-Mac-mini ~ % 
>>>> /Users/jamesrussell/j901-user/temp/launch.command ; exit;
>>>> |EADDRINUSE: sdcheck_jsocket_
>>>> |   sdcheck_jsocket_ r
>>>> |[-12] /applications/j901/addons/ide/jhs/config/jhs.cfg
>>>> 
>>>> And, From both iOS devices I get "Safari cannot open the page because it 
>>>> could not connect to the server."  
>>>> 
>>>> Ps -a yields:
>>>> 
>>>> UID   PID  PPIDF CPU PRI NI   SZRSS WCHAN S
>>>>  ADDR TTY   TIME CMD
>>>> 0  3942  1123 4106   0  31  0  4327424   4516 -  Ss
>>>>   0 ttys0000:00.02 login -pf jamesr
>>>> 501  3943  3942 4006   0  31  0  4297224   1896 -  S   
>>>> 0 ttys0000:00.01 -zsh
>>>> 501  3946  3943 4006   0  31  0  4288580   1064 -  S+  
>>>> 0 ttys0000:00.00 /bin/sh /Users/j
>>>> 501  3947  3946 4006   0  31  0  4329500  14736 -  S+  
>>>> 0 ttys0000:00.09 /applications/j9
>>>> 0  6371  1123 4106   0  31  0  4318208   4512 -  Ss
>>>>   0 ttys0010:00.02 login -pf jamesr
>>>> 501  6372  6371 4006   0  31  0  4288008   1876 -  S   
>>>> 0 ttys0010:00.01 -zsh
>>>> 501  6375  6372 4006   0  31  0  4268864956 -  S+  
>>>> 0 ttys0010:00.00 /bin/sh /Users/j
>>>> 501  6376  6375 4006   0  31  0  4303048   5212 -  S+  
>>>> 0 ttys0010:00.01 /applications/j9
>>>> 0  7938  1123 4106   0  31  0  4319232   4576 -  Ss
>>>>   0 ttys0020:00.14 login -pf jamesr
>>>> 501  7939  7938 4006   0  31  0  4315656   2020 -  S   
>>>> 0 ttys0020:00.02 -zsh
>>>> 0  9136  7939 4106   0  31  0  4268756932 -  R+
>>>>   

Re: [Jprogramming] Jhs on iPad via lan to Mac

2019-12-27 Thread 'Jim Russell' via Programming
Interesting. Still unable to new tabs on the iPad.
On the Mac the jijx window shows:acman
...
|value error: jev_get__...
|   jev_get__'' 
*** response not sent for 
*** html409 Conflict
   66
66
(The 66 is my lazy I.5 to check j still lives);

On the iPad the jijx window shows:,
...
|value error: jev_get__
|   jev_get__''
*** response not sent for 
*** html409 Conflict
   66
66
Updating server catalog...
Updating server catalog...
Updating server catalog...
(From Pacman? Perhaps I tried it here, though not, I did run it on the Mac.)

> On Dec 27, 2019, at 7:34 PM, 'Jim Russell' via Programming 
>  wrote:
> Think I am ok now on the host, I connected via the lanip. I was not asked 
> for user/pass, I assume since i had jijx running via the localhost ip when I 
> connected (helped by not misspelling jijx as ijix!) 
> All menus seem to work, including HELP and Pacman.  
> 
> I’ll try connecting an IOS device without leaving this session, but i’m not 
> too hopefull. 
>> On Dec 27, 2019, at 7:12 PM, 'robert therriault' via Programming 
>>  wrote:
>> 
>> Hi Jim,
>> 
>> Although I don't work in the terminal much, I did have a look at the 'kill' 
>> command using 'man kill' on the command line (sounds sinister, but in the 
>> terminal it provides the manual on the kill command) and it looks like that 
>> is what you would use to kill processes. And when I get the EADRRINUSE error 
>> that is what I usually do if I don't have access to the actual terminal 
>> window, in which case I can just exit '' to close the session. 
>> 
>> Cheers, bob
>> 
>>>> On Dec 27, 2019, at 3:59 PM, 'Jim Russell' via Programming 
>>>>  wrote:
>>> 
>>> 
>>> I started to say: "All works as it should on the Mac mini, even when signed 
>>> in with the Getlanip address and providing a USER and PASSWORD." BUT, 
>>> 'taint so. 
>>> Instead, After closing  jhs and trying to restart jhs, I get:
>>> 
>>> Last login: Thu Dec 26 21:16:00 on ttys005
>>> jamesrussell@Jamess-Mac-mini ~ % 
>>> /Users/jamesrussell/j901-user/temp/launch.command ; exit;
>>> |EADDRINUSE: sdcheck_jsocket_
>>> |   sdcheck_jsocket_ r
>>> |[-12] /applications/j901/addons/ide/jhs/config/jhs.cfg
>>> 
>>> And, From both iOS devices I get "Safari cannot open the page because it 
>>> could not connect to the server."  
>>> 
>>> Ps -a yields:
>>> 
>>> UID   PID  PPIDF CPU PRI NI   SZRSS WCHAN S 
>>> ADDR TTY   TIME CMD
>>>  0  3942  1123 4106   0  31  0  4327424   4516 -  Ss
>>>   0 ttys0000:00.02 login -pf jamesr
>>> 501  3943  3942 4006   0  31  0  4297224   1896 -  S
>>>0 ttys0000:00.01 -zsh
>>> 501  3946  3943 4006   0  31  0  4288580   1064 -  S+   
>>>0 ttys0000:00.00 /bin/sh /Users/j
>>> 501  3947  3946 4006   0  31  0  4329500  14736 -  S+   
>>>0 ttys0000:00.09 /applications/j9
>>>  0  6371  1123 4106   0  31  0  4318208   4512 -  Ss
>>>   0 ttys0010:00.02 login -pf jamesr
>>> 501  6372  6371 4006   0  31  0  4288008   1876 -  S
>>>0 ttys0010:00.01 -zsh
>>> 501  6375  6372 4006   0  31  0  4268864956 -  S+   
>>>0 ttys0010:00.00 /bin/sh /Users/j
>>> 501  6376  6375 4006   0  31  0  4303048   5212 -  S+   
>>>0 ttys0010:00.01 /applications/j9
>>>  0  7938  1123 4106   0  31  0  4319232   4576 -  Ss
>>>   0 ttys0020:00.14 login -pf jamesr
>>> 501  7939  7938 4006   0  31  0  4315656   2020 -  S
>>>0 ttys0020:00.02 -zsh
>>>  0  9136  7939 4106   0  31  0  4268756932 -  R+
>>>   0 ttys0020:00.00 ps -all
>>>  0  1167  1123 4106   0  31  0  4327424   3620 -  Ss
>>>   0 ttys0040:00.02 login -pf jamesr
>>> 501  1169  1167 4006   0  31  0  4315656   1548 -  S+   
>>>0 ttys004    0:00.02 -zsh
>>> 
>>> How do I kill the couple of copies of j that seem to be running? Will that 
>>> free up the socket? Will I have to again run my 65002.cfg under Jc901 to 
>>> reestablish the locale?
>>> 
>>>>> On Dec 27, 2019, at 6:14 PM, Eric Iverson :
>>>> Jim,
>>>> How does JHS behave when used directly on your Mac? Do a

Re: [Jprogramming] Jhs on iPad via lan to Mac

2019-12-27 Thread 'Jim Russell' via Programming
Think I am ok now on the host, I connected via the lanip. I was not asked for 
user/pass, I assume since i had jijx running via the localhost ip when I 
connected (helped by not misspelling jijx as ijix!) 
All menus seem to work, including HELP and Pacman.  

I’ll try connecting an IOS device without leaving this session, but i’m not too 
hopefull.

> On Dec 27, 2019, at 7:12 PM, 'robert therriault' via Programming 
>  wrote:
> 
> Hi Jim,
> 
> Although I don't work in the terminal much, I did have a look at the 'kill' 
> command using 'man kill' on the command line (sounds sinister, but in the 
> terminal it provides the manual on the kill command) and it looks like that 
> is what you would use to kill processes. And when I get the EADRRINUSE error 
> that is what I usually do if I don't have access to the actual terminal 
> window, in which case I can just exit '' to close the session. 
> 
> Cheers, bob
> 
>> On Dec 27, 2019, at 3:59 PM, 'Jim Russell' via Programming 
>>  wrote:
>> 
>> 
>> I started to say: "All works as it should on the Mac mini, even when signed 
>> in with the Getlanip address and providing a USER and PASSWORD." BUT, 'taint 
>> so. 
>> Instead, After closing  jhs and trying to restart jhs, I get:
>> 
>> Last login: Thu Dec 26 21:16:00 on ttys005
>> jamesrussell@Jamess-Mac-mini ~ % 
>> /Users/jamesrussell/j901-user/temp/launch.command ; exit;
>> |EADDRINUSE: sdcheck_jsocket_
>> |   sdcheck_jsocket_ r
>> |[-12] /applications/j901/addons/ide/jhs/config/jhs.cfg
>> 
>> And, From both iOS devices I get "Safari cannot open the page because it 
>> could not connect to the server."  
>> 
>> Ps -a yields:
>> 
>> UID   PID  PPIDF CPU PRI NI   SZRSS WCHAN S 
>> ADDR TTY   TIME CMD
>>   0  3942  1123 4106   0  31  0  4327424   4516 -  Ss
>>   0 ttys0000:00.02 login -pf jamesr
>> 501  3943  3942 4006   0  31  0  4297224   1896 -  S 
>>   0 ttys0000:00.01 -zsh
>> 501  3946  3943 4006   0  31  0  4288580   1064 -  S+
>>   0 ttys0000:00.00 /bin/sh /Users/j
>> 501  3947  3946 4006   0  31  0  4329500  14736 -  S+
>>   0 ttys0000:00.09 /applications/j9
>>   0  6371  1123 4106   0  31  0  4318208   4512 -  Ss
>>   0 ttys0010:00.02 login -pf jamesr
>> 501  6372  6371 4006   0  31  0  4288008   1876 -  S 
>>   0 ttys0010:00.01 -zsh
>> 501  6375  6372 4006   0  31  0  4268864956 -  S+
>>   0 ttys0010:00.00 /bin/sh /Users/j
>> 501  6376  6375 4006   0  31  0  4303048   5212 -  S+
>>   0 ttys0010:00.01 /applications/j9
>>   0  7938  1123 4106   0  31  0  4319232   4576 -  Ss
>>   0 ttys0020:00.14 login -pf jamesr
>> 501  7939  7938 4006   0  31  0  4315656   2020 -  S 
>>   0 ttys0020:00.02 -zsh
>>   0  9136  7939 4106   0  31  0  4268756932 -  R+
>>   0 ttys0020:00.00 ps -all
>>   0  1167  1123 4106   0  31  0  4327424   3620 -  Ss
>>   0 ttys0040:00.02 login -pf jamesr
>> 501  1169  1167 4006   0  31  0  4315656   1548 -  S+
>>   0 ttys0040:00.02 -zsh
>> 
>> How do I kill the couple of copies of j that seem to be running? Will that 
>> free up the socket? Will I have to again run my 65002.cfg under Jc901 to 
>> reestablish the locale?
>> 
>>>> On Dec 27, 2019, at 6:14 PM, Eric Iverson :
>>> Jim,
>>> How does JHS behave when used directly on your Mac? Do all the menu items
>>> work then? Easier to sort this out directly on the MAC without the extra
>>> complication of net access from your iPad.
>>> 
>>> Which menu items work and which ones fail?
>>> 
>>>> On Fri, Dec 27, 2019 at 12:55 PM 'Jim Russell' via Programming < jhs
>>>> programm...@jsoftware.com> wrote:
>>>> 
>>>> I have _FINALY_ (don't ask) restored my ability to access jhs from my iPad
>>>> via my local lan to my Mac. But, none of the jijx menus which open other
>>>> web pages work. (Although links from other apps do open  new tabs.) I have
>>>> enabled popups, which didn't help. Are other safari setting
>>>> For information about J forums see http://www.jsoftware.com/forupassword
>>> --
>>> For information about J forums see http://www.jsoftware.com/forums.htm
>> --
>> For information about J forums see http://www.jsoftware.com/forums.htm
> 
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Jhs on iPad via lan to Mac

2019-12-27 Thread 'Jim Russell' via Programming
I took the easy way out and just restarted my mac.

JHS did open from the localhost ip, and i did have to reload my 65002.cfg file.
So far, I am unable to run from the lanip 65002/jijx, and am still working on 
that...

> On Dec 27, 2019, at 6:13 PM, Eric Iverson  wrote:
> 
> Jim,
> How does JHS behave when used directly on your Mac? Do all the menu items
> work then? Easier to sort this out directly on the MAC without the extra
> complication of net access from your iPad.
> 
> Which menu items work and which ones fail?
> 
> On Fri, Dec 27, 2019 at 12:55 PM 'Jim Russell' via Programming <
> programm...@jsoftware.com> wrote:
> 
>> I have _FINALY_ (don't ask) restored my ability to access jhs from my iPad
>> via my local lan to my Mac. But, none of the jijx menus which open other
>> web pages work. (Although links from other apps do open  new tabs.) I have
>> enabled popups, which didn't help. Are other safari settings required?
>> --
>> For information about J forums see http://www.jsoftware.com/forums.htm
>> 
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Jhs on iPad via lan to Mac

2019-12-27 Thread 'Jim Russell' via Programming

I started to say: "All works as it should on the Mac mini, even when signed in 
with the Getlanip address and providing a USER and PASSWORD." BUT, 'taint so. 
Instead, After closing  jhs and trying to restart jhs, I get:

Last login: Thu Dec 26 21:16:00 on ttys005
jamesrussell@Jamess-Mac-mini ~ % 
/Users/jamesrussell/j901-user/temp/launch.command ; exit;
|EADDRINUSE: sdcheck_jsocket_
|   sdcheck_jsocket_ r
|[-12] /applications/j901/addons/ide/jhs/config/jhs.cfg
   
And, From both iOS devices I get "Safari cannot open the page because it could 
not connect to the server."  

Ps -a yields:

  UID   PID  PPIDF CPU PRI NI   SZRSS WCHAN S 
ADDR TTY   TIME CMD
0  3942  1123 4106   0  31  0  4327424   4516 -  Ss 
 0 ttys0000:00.02 login -pf jamesr
  501  3943  3942 4006   0  31  0  4297224   1896 -  S  
 0 ttys0000:00.01 -zsh
  501  3946  3943 4006   0  31  0  4288580   1064 -  S+ 
 0 ttys0000:00.00 /bin/sh /Users/j
  501  3947  3946 4006   0  31  0  4329500  14736 -  S+ 
 0 ttys0000:00.09 /applications/j9
0  6371  1123 4106   0  31  0  4318208   4512 -  Ss 
 0 ttys0010:00.02 login -pf jamesr
  501  6372  6371 4006   0  31  0  4288008   1876 -  S  
 0 ttys0010:00.01 -zsh
  501  6375  6372 4006   0  31  0  4268864956 -  S+ 
 0 ttys0010:00.00 /bin/sh /Users/j
  501  6376  6375 4006   0  31  0  4303048   5212 -  S+ 
 0 ttys0010:00.01 /applications/j9
0  7938  1123 4106   0  31  0  4319232   4576 -  Ss 
 0 ttys0020:00.14 login -pf jamesr
  501  7939  7938 4006   0  31  0  4315656   2020 -  S  
 0 ttys0020:00.02 -zsh
0  9136  7939 4106   0  31  0  4268756932 -  R+ 
 0 ttys0020:00.00 ps -all
0  1167  1123 4106   0  31  0  4327424   3620 -  Ss 
 0 ttys0040:00.02 login -pf jamesr
  501  1169  1167 4006   0  31  0  4315656   1548 -  S+ 
 0 ttys0040:00.02 -zsh

How do I kill the couple of copies of j that seem to be running? Will that free 
up the socket? Will I have to again run my 65002.cfg under Jc901 to reestablish 
the locale?

>> On Dec 27, 2019, at 6:14 PM, Eric Iverson :
> Jim,
> How does JHS behave when used directly on your Mac? Do all the menu items
> work then? Easier to sort this out directly on the MAC without the extra
> complication of net access from your iPad.
> 
> Which menu items work and which ones fail?
> 
>> On Fri, Dec 27, 2019 at 12:55 PM 'Jim Russell' via Programming < jhs
>> programm...@jsoftware.com> wrote:
>> 
>> I have _FINALY_ (don't ask) restored my ability to access jhs from my iPad
>> via my local lan to my Mac. But, none of the jijx menus which open other
>> web pages work. (Although links from other apps do open  new tabs.) I have
>> enabled popups, which didn't help. Are other safari setting
>> For information about J forums see http://www.jsoftware.com/forupassword
> --
> For information about J forums see http://www.jsoftware.com/forums.htm
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] Jhs on iPad via lan to Mac

2019-12-27 Thread 'Jim Russell' via Programming
I have _FINALY_ (don't ask) restored my ability to access jhs from my iPad via 
my local lan to my Mac. But, none of the jijx menus which open other web pages 
work. (Although links from other apps do open  new tabs.) I have enabled 
popups, which didn't help. Are other safari settings required?
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] JHS - D3

2019-12-19 Thread 'Jim Russell' via Programming


> On Dec 16, 2019, at 2:54 PM, Eric Iverson  wrote:
> 
> When using a gui like Jqt or JHS it is perhaps best to just work within
> that environment.
> 

Speaking of that…
I finally (after at least a couple of days of grief, when I was sure my old 
friend (the Mac Finder, used since my first pre-ordered 128K Mac) was haunted 
by evil spirits), I realized that the text from here (Server 
) was generated in jqt, or 
at least not in jhs, which has no open command:
==
Custom Config
Perhaps best to leave the default config as the config that is run by the JHS 
icon. That is, leave it at port 65001 with empty USER/PASS.
A custom config can have a different port and provide USER/PASS for login.
Follow these steps to create a new config file:
   f=: '~config/65002.cfg'
   f fcopynew '~addons/ide/jhs/config/jhs.cfg'
   open f  

Re: [Jprogramming] JHS - D3

2019-12-16 Thread 'Jim Russell' via Programming
FWIW: Noticied a hidden error message, when I reloaded jijx:
get file does not exist: ~root/applications/j901/addons/graphics/d3/d3.v2.min.js
*** response not sent for 
~root/applications/j901/addons/graphics/d3/d3.v2.min.js
*** html409 Conflict
   
Should that explain my problem?



> On Dec 16, 2019, at 2:06 PM, 'Jim Russell' via Programming 
>  wrote:
> 
> Attempted to run (noticed that the terminology change from JAL to Pacman 
> causes some confusion, as does being able to follow the newcomers advice by 
> nuvoc to try:1.3.3 Help|Studio|Labs|Plot Package 
> <https://code.jsoftware.com/wiki/Guides/StudioForExplorers#Help.7CStudio.7CLabs.7CPlot_Package>,
>  if your using JHS) the command:
> labrun_jijx_ 'D3 - how to use with JHS’
> the three windoes/buttons all yield:
> ev_showbox_click_ajax(d) failed: ReferenceError: Can't find variable: d3
> 
> I tried updating everything via pacman, with no luck.
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] JHS - D3

2019-12-16 Thread 'Jim Russell' via Programming
Attempted to run (noticed that the terminology change from JAL to Pacman causes 
some confusion, as does being able to follow the newcomers advice by nuvoc to 
try:1.3.3 Help|Studio|Labs|Plot Package 
,
 if your using JHS) the command:
labrun_jijx_ 'D3 - how to use with JHS’
the three windoes/buttons all yield:
ev_showbox_click_ajax(d) failed: ReferenceError: Can't find variable: d3

I tried updating everything via pacman, with no luck.
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] J701 v. iPadOS

2019-12-16 Thread 'Jim Russell' via Programming
   (];$;$,"0;$,"1;$,"2)i. 2 3 4
Trying to better understand the conjunction " better, I put that expression 
into j701 on my ipad. 
(Not even split screen, just the app by itself. In earlier IOS versions, all 
was well. But with the current IOS, at random times In the process:
1. The soft keyboard displayed as a 4x4 grid; it was corrected only when i hit 
a key on my hard keyboard accessory.
2. Using return to copy history to the execution line, copied it instead to the 
"ijx' window.
3, The line pasted into the execution line failed to execute when the return 
icon was pressed.
4. After a line was pasted into the execution line, the cursor "magically" 
backspaced to the start of the text,
(In other sessions, data typed was entered "right to left"; typing "abcdef" 
yielded "fedcba".
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] if. do. elseif. else. end.

2019-12-11 Thread 'Jim Russell' via Programming
Thanks, and of course. 
Mine was a knee jerk reaction to some COBOL code long ago from a young 
programmer who, having not yet mastered the intricacies of a "go to depending 
on" clause, instead had several pages of "if x = 1..." through "if x = 77..." 
statements. 

> On Dec 11, 2019, at 11:09 AM, Raul Miller  wrote:
> 
> https://www.jsoftware.com/help/dictionary/csel.htm
> 
> But, also, https://www.jsoftware.com/help/dictionary/d520.htm and
> https://www.jsoftware.com/help/dictionary/d621.htm
> 
> But it's usually not wise to make efficiency claims which are not
> supported by benchmarks.
> 
> And, benchmarks tend to be specific to workloads and implementation
> versions (with a plausible exception when the timing differences
> exceed a factor of 2).
> 
> Thanks,
> 
> -- 
> Raul
> 
>> On Wed, Dec 11, 2019 at 11:05 AM 'Jim Russell' via Programming
>>  wrote:
>> 
>> Yes but...
>> I'd contend that a string of tests is usually less efficient than (perhaps 
>> calculating) some numeric value that is amenable to a case statement. ( I 
>> should have checked first; J does have a case statement, does it not?)
>> 
>>>> On Dec 11, 2019, at 10:32 AM, Henry Rich  wrote:
>>> 
>>> Yes.
>>> 
>>> Henry Rich
>>> 
>>>> On 12/11/2019 5:46 AM, 'Mike Day' via Programming wrote:
>>>> So is it still ok in J9 - and will it be ok - to continue using the 
>>>> following paradigm?
>>>> 
>>>> if. T  do. B
>>>> elseif. T1 do. B1
>>>> elseif. T2 do. B2
>>>> end.
>>>> 
>>>> Thanks,
>>>> 
>>>> Mike
>>>> 
>>>> 
>>>>> On 11/12/2019 10:23, Henry Rich wrote:
>>>>> else. after elseif. is new in 9.01, and you found a bug in it.
>>>>> 
>>>>> JfC is for J6.02.
>>>>> 
>>>>> Henry Rich
>>>>> 
>>>>> On 12/10/2019 8:23 PM, Ben Gorte wrote:
>>>>>> Hi,
>>>>>> 
>>>>>> Despite repeated warnings in JforC I stepped into the trap of using 
>>>>>> elseif.
>>>>>> and else. in the same if.-statement. It took some effort to find that
>>>>>> error, because the behaviour is kind of weird:
>>>>>> 
>>>>>>  iftest =: 3 : 0
>>>>>> if. y=1 do.
>>>>>>   echo 'one'
>>>>>> elseif. y=2 do.
>>>>>>   echo 'two'
>>>>>> elseif. y=3 do.
>>>>>>   echo 'three'
>>>>>> else. NB. should be elseif. do.
>>>>>>   echo 'other'
>>>>>> end.
>>>>>> )
>>>>>> 
>>>>>>iftest 1
>>>>>> one
>>>>>> other
>>>>>>iftest 2
>>>>>> two
>>>>>> other
>>>>>>iftest 3
>>>>>> three
>>>>>>iftest 4
>>>>>> other
>>>>>> 
>>>>>> Wouldn't it be possible to have that working like expected? Or elseif do
>>>>>> flag an error?
>>>>>> 
>>>>>> Greetings,
>>>>>> Ben
>>>>>> --
>>>>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>>>> 
>>>>> --
>>>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>>> 
>>>> --
>>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>> 
>>> --
>>> For information about J forums see http://www.jsoftware.com/forums.htm
>> 
>> --
>> For information about J forums see http://www.jsoftware.com/forums.htm
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] if. do. elseif. else. end.

2019-12-11 Thread 'Jim Russell' via Programming
Yes but...
I'd contend that a string of tests is usually less efficient than (perhaps 
calculating) some numeric value that is amenable to a case statement. ( I 
should have checked first; J does have a case statement, does it not?) 

> On Dec 11, 2019, at 10:32 AM, Henry Rich  wrote:
> 
> Yes.
> 
> Henry Rich
> 
>> On 12/11/2019 5:46 AM, 'Mike Day' via Programming wrote:
>> So is it still ok in J9 - and will it be ok - to continue using the 
>> following paradigm?
>> 
>> if. T  do. B
>> elseif. T1 do. B1
>> elseif. T2 do. B2
>> end.
>> 
>> Thanks,
>> 
>> Mike
>> 
>> 
>>> On 11/12/2019 10:23, Henry Rich wrote:
>>> else. after elseif. is new in 9.01, and you found a bug in it.
>>> 
>>> JfC is for J6.02.
>>> 
>>> Henry Rich
>>> 
>>> On 12/10/2019 8:23 PM, Ben Gorte wrote:
 Hi,
 
 Despite repeated warnings in JforC I stepped into the trap of using elseif.
 and else. in the same if.-statement. It took some effort to find that
 error, because the behaviour is kind of weird:
 
   iftest =: 3 : 0
 if. y=1 do.
echo 'one'
 elseif. y=2 do.
echo 'two'
 elseif. y=3 do.
echo 'three'
 else. NB. should be elseif. do.
echo 'other'
 end.
 )
 
 iftest 1
 one
 other
 iftest 2
 two
 other
 iftest 3
 three
 iftest 4
 other
 
 Wouldn't it be possible to have that working like expected? Or elseif do
 flag an error?
 
 Greetings,
 Ben
 --
 For information about J forums see http://www.jsoftware.com/forums.htm
>>> 
>>> --
>>> For information about J forums see http://www.jsoftware.com/forums.htm
>> 
>> --
>> For information about J forums see http://www.jsoftware.com/forums.htm
> 
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Explicit vs tacit with assignment

2019-12-10 Thread 'Jim Russell' via Programming


> On Dec 10, 2019, at 6:59 PM, Jose Mario Quintana 
>  wrote:
> 
> Gilman and Rose's APL: An Interactive Approach
> (If my memory is not betraying me.)
> 

One of the nicest complements I ever received (important to me, not to him) was 
when Al Rose told me once that I should write a book!
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Expositional tacit

2019-12-09 Thread 'Jim Russell' via Programming
Perfect!
"Junctions" they are. 
Thank you, Roger. 

> On Dec 9, 2019, at 1:41 AM, Roger Hui  wrote:
> 
> "Tacit definition", "tacit programming", etc. originated with Ken Iverson,
> and first appeared in the 1991 paper *Tacit Definition*
> <http://www.jsoftware.com/papers/TacitDefn.htm>.  Before that, phrases
> like +/, +@*/ were called "operator expressions" and were commonly used at
> IPSA in the 1980s.  The final piece that made tacit definition work was
> forks.  This is described in more detail in the 1991 paper.
> 
> A particular form of forks is (f0 , f1 , ... , fn) or (f0 ; f1 ; ... ; fn),
> where the odd-positioned verbs is , or ; or ,. or ...  See *J Introduction
> and Dictionary*, Sample topic 15
> <http://www.jsoftware.com/help/dictionary/samp15.htm>.
> 
> 
> 
>> On Sun, Dec 8, 2019 at 8:24 AM 'Jim Russell' via Programming <
>> programm...@jsoftware.com> wrote:
>> 
>> Never having seen a name for Ken and Roger's official dictionary's
>> expression format:
>> X (exp1;...;expn) y
>> I am going to use the subject phrase, at least until someone corrects me.
>> 
>> Thanks to Jimmy Gauvin (and Brian), I now understand that this cryptic
>> format used throughout the dictionary is a (series) of tridents with a
>> middle ";" verb; hence each verb fork seeing the x and y arguments as a
>> result of the "normal" (as yet to be fully understood by me) evaluation of
>> verb trains. (Close enough?)
>> 
>> This was a real epiphany to me. (Ok, I'm slow!)
>> Now I wonder which came first?
>> 
>> My first recall of 'tacit expressions' was while at STSC; it was mentioned
>> as something the folks at IPSharp were doing. (Don't know if it was
>> implemented or not in their commercial APL System.)
>> 
>> Haven't seen it addressed in any of Roger's excellent history of J
>> articles; is any one willing to describe, or do a (perhaps Reflexive-ish)
>> article re the history of "expositional tacit?
>> 
>> 
>> --
>> For information about J forums see http://www.jsoftware.com/forums.htm
>> 
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] Expositional tacit

2019-12-08 Thread 'Jim Russell' via Programming
Never having seen a name for Ken and Roger's official dictionary's expression 
format:
X (exp1;...;expn) y
I am going to use the subject phrase, at least until someone corrects me. 

Thanks to Jimmy Gauvin (and Brian), I now understand that this cryptic format 
used throughout the dictionary is a (series) of tridents with a middle ";" 
verb; hence each verb fork seeing the x and y arguments as a result of the 
"normal" (as yet to be fully understood by me) evaluation of verb trains. 
(Close enough?)

This was a real epiphany to me. (Ok, I'm slow!) 
Now I wonder which came first?

My first recall of 'tacit expressions' was while at STSC; it was mentioned as 
something the folks at IPSharp were doing. (Don't know if it was implemented or 
not in their commercial APL System.)

Haven't seen it addressed in any of Roger's excellent history of J articles; is 
any one willing to describe, or do a (perhaps Reflexive-ish) article re the 
history of "expositional tacit?


--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Selecting trains with m@.v

2019-12-07 Thread 'Jim Russell' via Programming
As always Brian, I am impressed; and probably will be even more so after the 
time it will take me to understand the documents you and Jimmy referenced. 

Long ago I concluded that 
x (exp1;exp2;...;expn) y
was just a way for smart j'ers to let beginners like me to compare the results 
of related expressions; and I was pleased to understand that and content to not 
bother to look for other insights. 

I'm now curious to see how the NUVOC folks have avoided that confusion for 
beginning j'ers. 

> On Dec 7, 2019, at 8:42 PM, Brian Schott  wrote:
> 
> The expression X exp1;exp2;exp3 Y needs ()'s to be properly constructed as a 
> 5 element "train": X (exp1;exp2;exp3) Y. As near as I can tell it is 
> referenced in the following link.
> 
> https://www.jsoftware.com/help/dictionary/dicte.htm
> 
> On that page the reference is to the following page:
> https://www.jsoftware.com/help/dictionary/dictF.htm
> (Notice that 'F' replaces 'e' ).
> 
> ---
> (B=)
> 
>>> On Dec 7, 2019, at 12:39 PM, 'Jim Russell' via Programming 
>>>  wrote:
>> Another rabbit hole…
>> ——
>> [snip]
>> Now the thing that got me into that rabbit hole: where is this format:
>> X exp1;exp2;exp3 Y
>> first introduced and explained??
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Selecting trains with m@.v

2019-12-07 Thread 'Jim Russell' via Programming
Thank you.

I may reply more in a year ot two when I have fully grokked Roger’s note in 
your reply!

Wanting to be snippy in a complaint I was making to my local bank, I wanted to 
compare how many prime numbers my iPhone (using J) could calculate in the 15 
seconds their cash machine took to read and recognize my cash card.
Rodger's note may have held the answer to that;  but I never found the answer I 
was seeking.

> On Dec 7, 2019, at 1:43 PM, Jimmy Gauvin  wrote:
> 
> Hi,
> 
> The first vocabulary is full of information. So much so that it is easy to
> overlook lots of "tasty tidbits".
> The answer your question " where is that first explained to the J Beginner
> ? " , it is not so much explained but rather demonstrated.
> I had to change my reading style from "passive assimilation of information"
> to "active comprehension of the text and its implications".
> 
> Some tidbits are never repeated (due to Roger's preference for conciseness
> [this being pure speculation]).
> 
> For example, one day I was looking for the equivalent of APL's expand
> function:
>  1 0 1 0 1 0 0 1\1 2 3 4
>  1 0 2 0 3 0 0 4
> 
> This is tucked away as a note in :
> https://www.jsoftware.com/help/dictionary/d202n.htm
> 
> 6.  The following cases merit special mention:
>   p:^:_1 n gives the number of primes less than n, denoted by π(n) in math
>   q:^:_1 is */
> 
>   

Re: [Jprogramming] Selecting trains with m@.v

2019-12-07 Thread 'Jim Russell' via Programming
As shown throughout the Vocabulary.  
But where is that first explained to the J Beginner?

> On Dec 7, 2019, at 1:08 PM, Jimmy Gauvin  wrote:
> 
> Hi,
> 
> note also that the shape of the results can vary considerably :
> 
> 1 2 3 (+ ; * ; - ; +/ ; ,&4 5) 6 7 8
> ┌──┬───┬┬───┬─┐
> │7 9 11│6 14 24│_5 _5 _5│7  8  9│6 7 8 4 5 0 0 0 0│
> │  │   ││8  9 10│6 7 8 4 5 4 5 0 0│
> │  │   ││9 10 11│6 7 8 4 5 4 5 4 5│
> └──┴───┴┴───┴─┘
> 
> 
> 
> On Sat, Dec 7, 2019 at 10:23 AM 'Jim Russell' via Programming <
> programm...@jsoftware.com> wrote:
> 
>> Lovely! Not at all obvious (to me)until you do it with simple verbs.
>> 
>>> On Dec 7, 2019, at 9:30 AM, Jimmy Gauvin  wrote:
>>> 
>>> Hi,
>>> 
>>> is the following what you want ?
>>> 
>>>  1 2 3 (+ ; * ; -) 6 7 8
>>> ┌──┬───┬┐
>>> │7 9 11│6 14 24│_5 _5 _5│
>>> └──┴───┴┘
>>> 
>> 
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Selecting trains with m@.v

2019-12-07 Thread 'Jim Russell' via Programming
Does this shed any light on the mystery??
 J Http Server
|ill-formed name: null_
*** response not sent for ~addons/docs/help/dictionary/null
*** html409 Conflict
I had not seen any of the Safari/Reader errors included in my original message 
until just now, when I replied to it


> On Dec 7, 2019, at 12:39 PM, 'Jim Russell' via Programming 
>  wrote:
> 
> Another rabbit hole…
> 
> This expression format is used throught the original Iverson/Hui Vocabulary, 
> and I had always been bothered that I had to figure  out what was going on 
> before I could get much value from the Vocabulary examples.  
> To investigate what I had missed long ago, I was in  JHS, and used 
> Help/Dictionary start going through the first pages, using “>>”. 
> 
> At Intro 2:
> -
> 2. Ambivalence
> 
> Cover the comments on the right and provide your own.
>   7-5The function in the sentence 7-5 applies to two 
> 2 arguments to perform subtraction, but in the
> …
> ——
> I selected >> and was susprised to see:
> -
> Intro 3. Verbs and Adverbs
>>>   
>>> << 
>>>   
>>> Usr   
>>> Pri  
>>>  JfC  
>>>  LJ 
>>>   
>>> Phr 
>>>   
>>> Dic 
>>>  
>>>  Voc 
>>>   
>>> !:  
>>>  Help   
>>> Dictionary
> 
> 3. Verbs and Adverbs
> 
> In the sentence %a of Section 2, the % “acts upon” a to produce a result, 
> …
> ——
> 
> 
> including, but not shown here, wide margins and different formatting. 
> 
> It should have been obvious, but the difference was thet intro3 was was in 
> Safari reader view, while the earlier pages were not.  I have no idea why the 
> selection changed; perhaps because there was something in my Safari browsing 
> history that remembered that I had been there before? This caused my earlier 
> confusion where I reported getting (what I thought was) an activity log of an 
> earlier ijx session when I tried to restart from history; instead I had 
> simply restarted in a Safari reader view,
> 
> Now the thing that got me into that rabbit hole: where is this format:
> X exp1;exp2;exp3 Y
> first introduced and explained??
> 
> 
>> On Dec 7, 2019, at 10:23 AM, 'Jim Russell' via Programming 
>>  wrote:
>> 
>> Lovely! Not at all obvious (to me)until you do it with simple verbs. 
>> 
>>> On Dec 7, 2019, at 9:30 AM, Jimmy Gauvin  wrote:
>>> 
>>> Hi,
>>> 
>>> is the following what you want ?
>>> 
>>> 1 2 3 (+ ; * ; -) 6 7 8
>>> ┌──┬───┬┐
>>> │7 9 11│6 14 24│_5 _5 _5│
>>> └──┴───┴┘
>>> 
> 
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Selecting trains with m@.v

2019-12-07 Thread 'Jim Russell' via Programming
Another rabbit hole…

This expression format is used throught the original Iverson/Hui Vocabulary, 
and I had always been bothered that I had to figure  out what was going on 
before I could get much value from the Vocabulary examples.  
To investigate what I had missed long ago, I was in  JHS, and used 
Help/Dictionary start going through the first pages, using “>>”. 

At Intro 2:
-
2. Ambivalence

Cover the comments on the right and provide your own.
   7-5The function in the sentence 7-5 applies to two 
2 arguments to perform subtraction, but in the
…
——
I selected >> and was susprised to see:
-
Intro 3. Verbs and Adverbs
>>   
>> << 
>>   
>> Usr   
>> Pri   
>> JfC   
>> LJ  
>>  Phr 
>>   
>> Dic 
>>   
>> Voc 
>>   
>> !:   
>> Help   
>> Dictionary

3. Verbs and Adverbs

In the sentence %a of Section 2, the % “acts upon” a to produce a result, 
…
——


including, but not shown here, wide margins and different formatting. 

It should have been obvious, but the difference was thet intro3 was was in 
Safari reader view, while the earlier pages were not.  I have no idea why the 
selection changed; perhaps because there was something in my Safari browsing 
history that remembered that I had been there before? This caused my earlier 
confusion where I reported getting (what I thought was) an activity log of an 
earlier ijx session when I tried to restart from history; instead I had simply 
restarted in a Safari reader view,

Now the thing that got me into that rabbit hole: where is this format:
X exp1;exp2;exp3 Y
first introduced and explained??


> On Dec 7, 2019, at 10:23 AM, 'Jim Russell' via Programming 
>  wrote:
> 
> Lovely! Not at all obvious (to me)until you do it with simple verbs. 
> 
>> On Dec 7, 2019, at 9:30 AM, Jimmy Gauvin  wrote:
>> 
>> Hi,
>> 
>> is the following what you want ?
>> 
>>  1 2 3 (+ ; * ; -) 6 7 8
>> ┌──┬───┬┐
>> │7 9 11│6 14 24│_5 _5 _5│
>> └──┴───┴┘
>> 

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Selecting trains with m@.v

2019-12-07 Thread 'Jim Russell' via Programming
Lovely! Not at all obvious (to me)until you do it with simple verbs. 

> On Dec 7, 2019, at 9:30 AM, Jimmy Gauvin  wrote:
> 
> Hi,
> 
> is the following what you want ?
> 
>   1 2 3 (+ ; * ; -) 6 7 8
> ┌──┬───┬┐
> │7 9 11│6 14 24│_5 _5 _5│
> └──┴───┴┘
> 
> 
> 
>> On Fri, Dec 6, 2019 at 9:54 PM ethiejiesa via Programming <
>> programm...@jsoftware.com> wrote:
>> 
>> Am I just doing something silly? Or does @. really not support building
>> trains
>> when the right operand is a verb? Here is an overly minimal example of
>> what I
>> want:
>> 
>>   (1:)`+`(1:)@.(0 1 2) 0
>>2
>>   (1:)`+`(1:)@.(0 1 2"_) 0
>>|rank error
>>|   (1:)`+`(1:)@.(0 1 2"_)0
>> 
>> This is an obvious enough feature, that I feel I must be missing some
>> obvious
>> construction.
>> 
>> For context, I was futzing around with this year's Advent of Code[0], day
>> 2,
>> and found myself wanting a fork-like that behaves as
>> 
>>x (u v w) y <-> (x u y) (x v y) (x w y).
>> 
>> After sufficient floundering, I decided to just read NuVoc for all
>> modifiers
>> and discovered that I had somehow not noticed the usefulness of @.
>> However, the
>> above restriction really surprised me.
>> 
>> Anyway, happy holidays, J birds.
>> 
>> [0]:https://adventofcode.com/2019/
>> --
>> For information about J forums see http://www.jsoftware.com/forums.htm
>> 
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Adding constants to intervals

2019-11-21 Thread 'Jim Russell' via Programming
Ahah! Thanks!

> On Nov 21, 2019, at 3:34 PM, Henry Rich  wrote:
> 
> > on unboxed is like ]"0, but when you use &.> then you have the inverse of 
> > which is <, not like ]"0 at all. In your test you should have written (]"0) 
> instead of ]"0 .
> 
> I meant dyadic ];.0 as in
> 
>(,.1 4) ];.0 'abcdefgh'
> bcde
> 
> as an alternative to (1+i. 4) { 'abcdefgh'
> 
> Henry Rich
> 
>> On 11/21/2019 3:29 PM, 'Jim Russell' via Programming wrote:
>> Nice. But trying to understand, (thanks to dissect):
>>  dissect '10 20 30 (+ i.)&.> 3 2 4'
>> cannot be replaced by
>>  dissect '10 20 30 (+ i.)&. ]"0 (3 2 4)'  .
>> And (again thanks to dissect) , did everyone else understand what dissect 
>> '];.0(3 2 4)'
>> did?
>> (I still have no clue what that has to do with “selectors for an array”, but 
>> I’m learning anyway!)
>> 
>> 
>>>> On Nov 20, 2019, at 7:38 PM, Henry Rich  wrote:
>>> 
>>> Use (+ i.)&.>
>>> 
>>>> on unboxed values is like ]"0
>>> If you are trying to create selectors for an array use ];.0
>>> 
>>> Henry Rich
>>> 
>>> On 11/20/2019 7:35 PM, Jimmy Gauvin wrote:
>>>> Hi,
>>>> 
>>>> I have intervals of varying length and I want to add a different constant
>>>> to each of them.
>>>> 
>>>> Is there a better way than the following to achieve this :
>>>> 
>>>>(<"0 , 10 20 30) +&.> <@i."0 (3 2 4)
>>>> ┌┬─┬───┐
>>>> │10 11 12│20 21│30 31 32 33│
>>>> └┴─┴───┘
>>>> 
>>>> 
>>>> Thanks
>>>> --
>>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>> --
>>> For information about J forums see http://www.jsoftware.com/forums.htm
>> --
>> For information about J forums see http://www.jsoftware.com/forums.htm
> 
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Adding constants to intervals

2019-11-21 Thread 'Jim Russell' via Programming
Nice. But trying to understand, (thanks to dissect):
 dissect '10 20 30 (+ i.)&.> 3 2 4'
cannot be replaced by 
 dissect '10 20 30 (+ i.)&. ]"0 (3 2 4)'  .
And (again thanks to dissect) , did everyone else understand what dissect 
'];.0(3 2 4)'
did?
(I still have no clue what that has to do with “selectors for an array”, but 
I’m learning anyway!)


> On Nov 20, 2019, at 7:38 PM, Henry Rich  wrote:
> 
> Use (+ i.)&.>
> 
> > on unboxed values is like ]"0
> 
> If you are trying to create selectors for an array use ];.0
> 
> Henry Rich
> 
> On 11/20/2019 7:35 PM, Jimmy Gauvin wrote:
>> Hi,
>> 
>> I have intervals of varying length and I want to add a different constant
>> to each of them.
>> 
>> Is there a better way than the following to achieve this :
>> 
>>(<"0 , 10 20 30) +&.> <@i."0 (3 2 4)
>> ┌┬─┬───┐
>> │10 11 12│20 21│30 31 32 33│
>> └┴─┴───┘
>> 
>> 
>> Thanks
>> --
>> For information about J forums see http://www.jsoftware.com/forums.htm
> 
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] SPX (in JHS)

2019-11-19 Thread 'Jim Russell' via Programming
Never mind, now I've got it; spxhtml and spxlatex are undocumented since they 
are jhs only, and they are executed from within the NB. statements in the .ijs 
script being executed, but not the copy displayed by the script in the edit 
statement.  

Thanks Kenneth and Erick. Sorry Raul, I was unable to get back to my Mac mini 
remotely On my phone, I guess because I had put it to sleep by hand when I left 
home. 

> On Nov 19, 2019, at 5:37 PM, 'Jim Russell' via Programming 
>  wrote:
> 
> That's the lab that confused me. Spxhtml and spxlatex are in NB. comments, 
> and changing the arguments (in those comment lines, in the script display) 
> does nothing to change the outputs. Perhaps there is another copy of the 
> script that is running. Are the NB. Lines being run/interpreted?
> 
>> On Nov 19, 2019, at 4:08 PM, 'Kenneth Lettow' via Programming 
>>  wrote:
>> 
>> It explains spxhtml and spxlatex in the
>> lab.
> 
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] SPX (in JHS)

2019-11-19 Thread 'Jim Russell' via Programming
That's the lab that confused me. Spxhtml and spxlatex are in NB. comments, and 
changing the arguments (in those comment lines, in the script display) does 
nothing to change the outputs. Perhaps there is another copy of the script that 
is running. Are the NB. Lines being run/interpreted?

> On Nov 19, 2019, at 4:08 PM, 'Kenneth Lettow' via Programming 
>  wrote:
> 
> It explains spxhtml and spxlatex in the
> lab.

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] SPX (in JHS)

2019-11-19 Thread 'Jim Russell' via Programming
As I recall, you need to add one more directory level to /spx.ijs for the help 
script. I'll check if I can reach my Mac mini at home. 

> On Nov 19, 2019, at 4:42 PM, Raul Miller  wrote:
> 
> http://www.jsoftware.com/pipermail/general/2017-May/037187.html says:
> 
> "Note that spx, although develped orginally in JHS, can be used the same way
> in Jqt (ctrl+j advance) and in jconsole."
> 
> But it's not clear to me how to load spx under jqt.
> 
> For example:
> 
>   load '~addons/ide/jhs/spx'
> |interface error: script
> 
> Any ideas?
> 
> Thanks,
> 
> -- 
> Raul
> 
>> On Tue, Nov 19, 2019 at 4:33 PM 'Kenneth Lettow' via Programming
>>  wrote:
>> 
>> Also see, http://www.jsoftware.com/pipermail/general/2017-May/037187.html
>> 
>> 
>> On Tue, Nov 19, 2019 at 3:48 PM 'Jim Russell' via Programming <
>> programm...@jsoftware.com> wrote:
>> 
>>> Any users? (It's neat!) Any hints what's happening under the covers where
>>> comments in spx.ijs refer to spxhtml and spxlatex (lines 48-57)?
>>> --
>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>> 
>> 
>> 
>> --
>> *Kenneth Lettow*
>> Director Market Intelligence | Thomas™
>> Thomasnet.com <https://www.thomasnet.com> | #ThomasForIndustry
>> <https://www.thomasnet.com> <https://www.thomasnet.com>[image: Thomas For
>> Industry] <https://www.thomasnet.com>
>> --
>> For information about J forums see http://www.jsoftware.com/forums.htm
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] SPX (in JHS)

2019-11-19 Thread 'Jim Russell' via Programming
Any users? (It's neat!) Any hints what's happening under the covers where 
comments in spx.ijs refer to spxhtml and spxlatex (lines 48-57)?
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] 901-beta-q

2019-11-19 Thread 'Jim Russell' via Programming
Perhaps not for betas, but the standard way updates are done for iOS/Mac App 
Store updates? (I guess add ons would remain a special case?)

> On Nov 19, 2019, at 11:39 AM, Raul Miller  wrote:
> 
> I keep hoping that this will become something like an entry in j's
> package manager.

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] J and data structures

2019-11-19 Thread 'Jim Russell' via Programming
I used dictionary objects in Visual Basic (Access) to report similarity in text 
strings based on trigram usage. The keys were the distinct 3-letter 
combinations; the values were the incremented hit counts. It was both efficient 
and effective. But I think there is a better array approach in J. 

> On Nov 18, 2019, at 1:15 PM, Devon McCormick  wrote:
> 
> I would like to see examples of where a dictionary would be the preferred
> way of dealing with some data.  Does anyone know of any, not necessarily in
> J, that are short and to the point?
> 
> 
>> On Mon, Nov 18, 2019 at 1:02 PM Danil Osipchuk 
>> wrote:
>> 
>> I quickly put together a minimal implementation along those lines, to have
>> a subject for a discussion regarding performance and general usage
>> An object 'Map has a hash list mapping hash value to other 2 lists -- boxed
>> lists of boxed keys (per hash value) and boxed  lists of boxed values.
>> 
>> It is not thoroughly tested and not well thought through about argument
>> boxing and ranks, but should be pretty close to what would be a
>> straightforward implementation of the thing.
>> 'get_Map key'   should give a boxed value for a key or raise a error if key
>> is absent
>> 'somevalue get_Map key' should give a stored value or save and return
>> somevalue if key is not there (but I can not catch an exception raised in a
>> monad called from a dyad - something silly, but have to go home)
>> 'key put__Map value' stores a value
>> 'delkey__Map key' removes a key if there
>> 
>> M=: 0 conew'map'
>> 
>> 123 put__M 1230
>> 
>> 1230
>> 
>> 'strkey' put__M 'strval'
>> 
>> strval
>> 
>> (<'boxkey') put__M <'boxval'
>> 
>> ┌──┐
>> 
>> │boxval│
>> 
>> └──┘
>> 
>> keys__M
>> 
>> ┌─┬┬──┐
>> 
>> │┌───┐│┌──┐│┌┐│
>> 
>> ││123│││strkey│││┌──┐││
>> 
>> │└───┘│└──┘│││boxkey│││
>> 
>> │ │ ││└──┘││
>> 
>> │ │ │└┘│
>> 
>> └─┴┴──┘
>> 
>> hashes__M
>> 
>> _1845511330 2120780259 _71755953
>> 
>> values__M
>> 
>> ┌──┬┬──┐
>> 
>> │┌┐│┌──┐│┌┐│
>> 
>> ││1230│││strval│││┌──┐││
>> 
>> │└┘│└──┘│││boxval│││
>> 
>> │ │ ││└──┘││
>> 
>> │ │ │└┘│
>> 
>> └──┴┴──┘
>> 
>> get__M 123
>> 
>> ┌┐
>> 
>> │1230│
>> 
>> └┘
>> 
>> get__M 'not there'
>> 
>> |uncaught throw.: get__M
>> 
>> | get__M'not there'
>> 
>> 'to set to something' get__M 'not there'
>> 
>> |uncaught throw.: get
>> 
>> | get y
>> 
>> delkey__M 123
>> 
>> 1
>> 
>> get__M 123
>> 
>> |uncaught throw.: get__M
>> 
>> | get__M 123
>> 
>> values__M
>> 
>> ┌┬──┐
>> 
>> │┌──┐│┌┐│
>> 
>> ││strval│││┌──┐││
>> 
>> │└──┘│││boxval│││
>> 
>> │ ││└──┘││
>> 
>> │ │└┘│
>> 
>> └┴──┘
>> 
>> keys__M
>> 
>> ┌┬──┐
>> 
>> │┌──┐│┌┐│
>> 
>> ││strkey│││┌──┐││
>> 
>> │└──┘│││boxkey│││
>> 
>> │ ││└──┘││
>> 
>> │ │└┘│
>> 
>> └┴──┘
>> 
>> пн, 18 нояб. 2019 г. в 16:10, Henry Rich :
>> 
>>> Right now I am thinking that the need for dictionaries could be met by a
>>> class whose instances are associative memories.  Key, values,
>>> hashtables, chains if needed would be stored inside the instance.  The
>>> interface would be simply x Put y and Get y.  I reckon this would be
>>> fast enough without any special support from the interpreter beyond the
>>> hash calculation that is there now.
>>> 
>>> Henry Rich
>>> 
>>> On 11/18/2019 6:10 AM, Danil Osipchuk wrote:
 symbols are essentially names optimized for lookup and comparison, as
>>> such
 they are useful to implement locales efficiently, if one to build an
>> map
 using those as keys, indeed one gets something resembling K
>> dictionaries
 http://www.math.bas.bg/bantchev/place/k.html :
 
 "Another distinguishing feature of K is the use of dictionaries:
 associative tables whose keys are symbols, i.e., internalized strings.
>> In
 turn, dictionaries are the building material of a hierarchically
>>> organized
 global data space called the K-tree"
 
 https://github.com/kevinlawler/kona/wiki/Dictionaries
 
 This is important case of course, but still a restriction. Tables in
>> Lua
 are more fundamental:
 
 "The table type implements associative arrays. An associative array is
>> an
 array that can be indexed not only with numbers, but also with strings
>> or
 any other value of the language, except *nil*. Moreover, tables have no
 fixed size; you can add as many elements as you want to a table
 dynamically. Tables are the main (in fact, the only) data structuring
 mechanism in Lua, and a powerful one. We use tables to represent
>> ordinary
 arrays, symbol tables, sets, records, queues, and other data
>> structures,
>>> in
 a simple, uniform, and efficient way. Lua uses tables to represent
>>> packages
 as well. When we write io.read, we mean "the read entry from the 

Re: [Jprogramming] J and data structures

2019-11-17 Thread 'Jim Russell' via Programming
AFAIR, wasn't that a feature built into the (lib 1) component files addon? I 
don't recall using a separate dictionary function. 

> On Nov 17, 2019, at 9:49 PM, Henry Rich  wrote:
> 
> The datatype I really want is a directory object that acts as an efficient 
> and easy-to-use associative memory.  You put key/values in and then retrieve 
> a value by presenting its key.  Has anyone written an addon for that?

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Writing array to file

2019-11-04 Thread 'Jim Russell' via Programming
As I recall, the component files add in's (I think a carry over from Sharp and 
STSC APL) are ideal.

> On Nov 4, 2019, at 8:57 AM, Adam Antonik  wrote:
> 
> I have a number of arrays of boxes of arrays of ... of ints, doubles and
> strings.  How can I efficiently save and load these from disk?
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Calling all J Nubes, Lurkers, Beginners, and Non-experts

2019-11-01 Thread 'Jim Russell' via Programming


> On Oct 31, 2019, at 10:15 PM, Ian Clark  wrote:
> 
> Instead I waste hours trying to read manuals.
Me too (read manuals). Probably a left over of my early years as a tech writer. 
(A long ago lost ability to write clearly; a skill which you have obviously 
preserved.)
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Calling all J Nubes, Lurkers, Beginners, and Non-experts

2019-11-01 Thread 'Jim Russell' via Programming


> On Oct 31, 2019, at 10:15 PM, Ian Clark  wrote:
> 
> Include me out, Jim. I'm not smart or cool, I'm just a J junkie.
Sorry, but I remain unconvinced. 

But I was very impressed by dissect, the tool Itself, and the topics picked for 
it's labs. Henry has not gotten the credit he deserves for that effort. 
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] Calling all J Nubes, Lurkers, Beginners, and Non-experts

2019-10-30 Thread 'Jim Russell' via Programming
(In other words, pretty much everybody except perhaps for Roger, Henry, Eric, 
Ian, Chris, and the rest of you really smart cool kids.)

One of the topics in my vast storehouse of J ignorance was 
http://code.jsoftware.com/wiki/Vocabulary/Dissect#Labs 
. Truth is, I still 
haven’t spent much time there — instead I eased into it by updating everything 
using Package Manager (in particular Debug, Dissect, and the Labs) and running 
the Dissect Labs.  

Not only did I learn about the Dissect tool (really outstanding!), I learned a 
great deal more about the J Language.  OK, I had a lot to learn, but I am now 
in a much better position to understand, experiment and try different things. 

If I didn’t already know how smart everyone here is, I would challenge you all 
to do these labs without learning something new.  This tool is amazing!
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Consecutive substrings (was Quora problem)

2019-10-27 Thread 'Jim Russell' via Programming
Damn, how long have you been working that? Quite a tour de force. 
Pitty it takes studying a few Lab lessons to add to the long list of J topcs I 
still don't understand! 
I did encounter a couple of snags; I'll report them when I have a better idea 
of what is expected. 

Thanks much, this should help my J education!!


> On Oct 26, 2019, at 10:52 AM, Henry Rich  wrote:
> 
> You might find dissect helpful for questions like this.
> 
> dissect '2 4 6 <@(]\) ''abcdefg'''
> 
> Click around to see what comes from what.
> 
> I would have suggested this earlier but dissect had a bug running it.  Make 
> sure you upgrade dissect using Package Manager.
> 
> Henry Rich
> 
> 
> 
>> On 10/25/2019 11:51 AM, 'Jim Russell' via Programming wrote:
>> Thank you!
>> 
>>>> On Oct 25, 2019, at 11:43 AM, Henry Rich  wrote:
>>> 
>>> You have
>>> 
>>> 2 4 6 <@(]\) 'abcdefg'
>>> 
>>> As RE says, the whole verb is a dyad, rank 0 _ .  So you are executing
>>> 
>>> 2 <@(]\) 'abcdefg'
>>> 4 <@(]\) 'abcdefg'
>>> 6 <@(]\) 'abcdefg'
>>> 
>>> For each of those executions, it's u@v: (]\) is a dyad but < is a monad.  
>>> So no left argument to < .  Monads don't have a left argument.
>>> 
>>> Henry Rich
>>> 
>>> 
>>> 
>>> 
>>>> On 10/25/2019 11:26 AM, R.E. Boss wrote:
>>>> In https://code.jsoftware.com/wiki/Vocabulary/bslash#dyadic you learn that 
>>>> rank of x u\ y is 0 _
>>>> And the same holds for <@([\), since
>>>> 
>>>><@([\)  b.0
>>>> _ 0 _
>>>> 
>>>> 
>>>> R.E. Boss
>>>>  
>>>>> -Oorspronkelijk bericht-
>>>>> Van: Programming 
>>>>> Namens 'Jim Russell' via Programming
>>>>> Verzonden: vrijdag 25 oktober 2019 15:42
>>>>> Aan: programm...@jsoftware.com
>>>>> Onderwerp: Re: [Jprogramming] Consecutive substrings (was Quora
>>>>> problem)
>>>>> 
>>>>> 
>>>>> 
>>>>>> On Oct 25, 2019, at 6:49 AM, R.E. Boss  wrote:
>>>>>> 
>>>>>> I would prefer
>>>>>> 
>>>>>>   2 4 6 <@(]\) 'abcdefg'
>>>>>> 
>>>>> What's going on here?? Dyadic box??
>>>>> --
>>>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>>> --
>>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>> 
>>> -- 
>>> This email has been checked for viruses by AVG.
>>> https://www.avg.com
>>> 
>>> --
>>> For information about J forums see http://www.jsoftware.com/forums.htm
>> --
>> For information about J forums see http://www.jsoftware.com/forums.htm
> 
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Consecutive substrings (was Quora problem)

2019-10-26 Thread 'Jim Russell' via Programming
Wow! I'm having breakfast at Bob Evan's and, with help from SplashTop on my 
iPhone, I updated dissect on my Mac mini at home and saw dissect work for the 
first time. My iPhone screen is a bit small, but I can't wait to get home and 
learn from this. I have high hopes--thanks very much. 

> On Oct 26, 2019, at 10:52 AM, Henry Rich  wrote:
> 
> dissect '2 4 6 <@(]\) ''abcdefg'''

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Consecutive substrings (was Quora problem)

2019-10-25 Thread 'Jim Russell' via Programming
Nice. I hadn't seen that reference list before. Thank you. 

> On Oct 25, 2019, at 11:57 AM, R.E. Boss  wrote:
> 
> In https://code.jsoftware.com/wiki/Books#Brief_Reference  you can see
> 
> x F@G y
> 
>  F
>  |
>  G
> / \
> x   y
> 
> This booklet was a great help for me.
> 
> 
> R.E Boss
> 
> 
>> -Oorspronkelijk bericht-
>> Van: Programming 
>> Namens 'Jim Russell' via Programming
>> Verzonden: vrijdag 25 oktober 2019 17:52
>> Aan: programm...@jsoftware.com
>> Onderwerp: Re: [Jprogramming] Consecutive substrings (was Quora
>> problem)
>> 
>> Thank you!
>> 
>>>> On Oct 25, 2019, at 11:43 AM, Henry Rich  wrote:
>>> 
>>> You have
>>> 
>>> 2 4 6 <@(]\) 'abcdefg'
>>> 
>>> As RE says, the whole verb is a dyad, rank 0 _ .  So you are executing
>>> 
>>> 2 <@(]\) 'abcdefg'
>>> 4 <@(]\) 'abcdefg'
>>> 6 <@(]\) 'abcdefg'
>>> 
>>> For each of those executions, it's u@v: (]\) is a dyad but < is a monad.  So
>> no left argument to < .  Monads don't have a left argument.
>>> 
>>> Henry Rich
>>> 
>>> 
>>> 
>>> 
>>>> On 10/25/2019 11:26 AM, R.E. Boss wrote:
>>>> In https://code.jsoftware.com/wiki/Vocabulary/bslash#dyadic you learn
>>>> that rank of x u\ y is 0 _ And the same holds for <@([\), since
>>>> 
>>>>   <@([\)  b.0
>>>> _ 0 _
>>>> 
>>>> 
>>>> R.E. Boss
>>>> 
>>>>> -Oorspronkelijk bericht-
>>>>> Van: Programming 
>>>>> Namens 'Jim Russell' via Programming
>>>>> Verzonden: vrijdag 25 oktober 2019 15:42
>>>>> Aan: programm...@jsoftware.com
>>>>> Onderwerp: Re: [Jprogramming] Consecutive substrings (was Quora
>>>>> problem)
>>>>> 
>>>>> 
>>>>> 
>>>>>> On Oct 25, 2019, at 6:49 AM, R.E. Boss  wrote:
>>>>>> 
>>>>>> I would prefer
>>>>>> 
>>>>>>  2 4 6 <@(]\) 'abcdefg'
>>>>>> 
>>>>> What's going on here?? Dyadic box??
>>>>> 
>>>>> -- For information about J forums see
>>>>> http://www.jsoftware.com/forums.htm
>>>> -
>>>> - For information about J forums see
>>>> http://www.jsoftware.com/forums.htm
>>> 
>>> 
>>> --
>>> This email has been checked for viruses by AVG.
>>> https://www.avg.com
>>> 
>>> --
>>> For information about J forums see
>> http://www.jsoftware.com/forums.htm
>> 
>> --
>> For information about J forums see http://www.jsoftware.com/forums.htm
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Consecutive substrings (was Quora problem)

2019-10-25 Thread 'Jim Russell' via Programming
Thank you!

> On Oct 25, 2019, at 11:43 AM, Henry Rich  wrote:
> 
> You have
> 
> 2 4 6 <@(]\) 'abcdefg'
> 
> As RE says, the whole verb is a dyad, rank 0 _ .  So you are executing
> 
> 2 <@(]\) 'abcdefg'
> 4 <@(]\) 'abcdefg'
> 6 <@(]\) 'abcdefg'
> 
> For each of those executions, it's u@v: (]\) is a dyad but < is a monad.  So 
> no left argument to < .  Monads don't have a left argument.
> 
> Henry Rich
> 
> 
> 
> 
>> On 10/25/2019 11:26 AM, R.E. Boss wrote:
>> In https://code.jsoftware.com/wiki/Vocabulary/bslash#dyadic you learn that 
>> rank of x u\ y is 0 _
>> And the same holds for <@([\), since
>> 
>><@([\)  b.0
>> _ 0 _
>> 
>> 
>> R.E. Boss
>>  
>>> -Oorspronkelijk bericht-
>>> Van: Programming 
>>> Namens 'Jim Russell' via Programming
>>> Verzonden: vrijdag 25 oktober 2019 15:42
>>> Aan: programm...@jsoftware.com
>>> Onderwerp: Re: [Jprogramming] Consecutive substrings (was Quora
>>> problem)
>>> 
>>> 
>>> 
>>>> On Oct 25, 2019, at 6:49 AM, R.E. Boss  wrote:
>>>> 
>>>> I would prefer
>>>> 
>>>>   2 4 6 <@(]\) 'abcdefg'
>>>> 
>>> What's going on here?? Dyadic box??
>>> --
>>> For information about J forums see http://www.jsoftware.com/forums.htm
>> --
>> For information about J forums see http://www.jsoftware.com/forums.htm
> 
> 
> -- 
> This email has been checked for viruses by AVG.
> https://www.avg.com
> 
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Consecutive substrings (was Quora problem)

2019-10-25 Thread 'Jim Russell' via Programming
Thanks. I will study that!

> On Oct 25, 2019, at 11:26 AM, R.E. Boss  wrote:
> 
> In https://code.jsoftware.com/wiki/Vocabulary/bslash#dyadic you learn that 
> rank of x u\ y is 0 _
> And the same holds for <@([\), since 
> 
>   <@([\)  b.0
> _ 0 _
> 
> 
> R.E. Boss
> 
> 
>> -Oorspronkelijk bericht-
>> Van: Programming 
>> Namens 'Jim Russell' via Programming
>> Verzonden: vrijdag 25 oktober 2019 15:42
>> Aan: programm...@jsoftware.com
>> Onderwerp: Re: [Jprogramming] Consecutive substrings (was Quora
>> problem)
>> 
>> 
>> 
>>>> On Oct 25, 2019, at 6:49 AM, R.E. Boss  wrote:
>>> 
>>> I would prefer
>>> 
>>>  2 4 6 <@(]\) 'abcdefg'
>>> 
>> What's going on here?? Dyadic box??
>> --
>> For information about J forums see http://www.jsoftware.com/forums.htm
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Consecutive substrings (was Quora problem)

2019-10-25 Thread 'Jim Russell' via Programming
I feel even stupider than usual; where should I research the left argument of 
nomadic verbs. Has that got a chapter in j4c? (It probably won't help, I missed 
the humor in:

>:@i.@#

is the same as

#\
!)
Thanks!

> On Oct 25, 2019, at 9:46 AM, Raul Miller  wrote:
> 
> Monadic box, invoked once for each left argument.
> 
> Thanks,
> 
> -- 
> Raul
> 
>> On Fri, Oct 25, 2019 at 9:42 AM 'Jim Russell' via Programming
>>  wrote:
>>>>> On Oct 25, 2019, at 6:49 AM, R.E. Boss  wrote:
>>>> I would prefer
>>>> 2 4 6 <@(]\) 'abcdefg'
>> What's going on here?? Dyadic box??
>> --
>> For information about J forums see http://www.jsoftware.com/forums.htm
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Consecutive substrings (was Quora problem)

2019-10-25 Thread 'Jim Russell' via Programming


> On Oct 25, 2019, at 6:49 AM, R.E. Boss  wrote:
> 
> I would prefer
> 
>   2 4 6 <@(]\) 'abcdefg'
> 
What's going on here?? Dyadic box??
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Creating a distance matrix.

2019-10-22 Thread 'Jim Russell' via Programming
Wow!


> On Oct 22, 2019, at 4:00 PM, Raul Miller  wrote:
> 
> Probably worth noting also that I could have instead said:
> 
>   D=: (+|:)>0;1.5;2 1.5;2.5 2 1.5 0
> 
> This is actually one character shorter than my previous expression...
> 
> Thanks,
> 
> -- 
> Raul
> 
>> On Tue, Oct 22, 2019 at 2:29 PM  wrote:
>> 
>> From:   Raul Miller 
>> Date:   Tue, 22 Oct 2019 13:29:19 -0400
>>> What do you mean by "more efficient"? (What resource is constrained?)
>> 
>> I listed all 16 elements of the matrix.  It being symmetrical with 0s
>> on the diagonal, only 6 elements should be needed.  Rather than "more
>> efficient", better wording might have been "without redundant
>> information".  I might say "more efficient in use of information".
>> 
>>> That said, if it's code golf, you could do something like this:
>> 
>> I didn't know the term "code golf" but it seems appropriate.
>> 
>>> If you are working on problems where that's not enough to
>>> work on your dataset, ...
>> 
>> At present I'm interested only in expressing concepts.  Computational
>> cost is not a concern at all.
>> 
>>>   D=: (+|:)>'';1.5;2 1.5;2.5 2 1.5 0
>>> 
>>> This relies on the use of two placeholders to help represent the full
>>> extent of the array, J's fill mechanism, and addition...
>> 
>> Thanks.  Definitely helpful.  I could create the matrix in a
>> commonplace compiled language without help.  Thinking about the
>> calculation in J is worthwhile.
>> 
>> Thanks again, ... P.
>> 
>> 
>> --
>> https://en.wikibooks.org/wiki/Medical_Machines
>> Tel: +1 604 670 0140Bcc: peter at easthope. ca
>> 
>> --
>> For information about J forums see http://www.jsoftware.com/forums.htm
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Multiple Takes

2019-10-21 Thread 'Jim Russell' via Programming
Very nice! I'm glad I took the time to try to understand this one. 

> On Oct 21, 2019, at 11:16 AM, Raul Miller  wrote:
> 
>   ".>,{4#<'0126'
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] #/. (Was also Sorry for the previous messages I neglected to remove from my reply)

2019-10-19 Thread 'Jim Russell' via Programming
(Sigh, I spent a couple of days trying to send this to chat, before I realized 
that I wasn't a member of chat. )

This discussion (#/.) has been extremely insightful and educational, at least 
for me. Thanks to all the very smart J'ers who took a lot of time to try to 
educate me. 

As has happened often before, when trying to answer questions raised in that 
discussion, I opened my copy of Henry's "J for C Programmers" (I keep in iBooks 
on my iPhone) to  reread some of the parts my eyes glazed over at first 
encounter due to my own laziness/ignorance. 

I would not have been offended at all if one of the replies to my first 
question has been "read chapter 23 of JforC, stupid!"

So, thank you too, Henry, as well as Rick, Raul, Roger,Jose, Louis, and all!
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] error in: plot_gs_paint

2019-10-16 Thread 'Jim Russell' via Programming
"Users" and "temp" are the names of the folders. On my Mac, under Finders menu 
Go, the Users menu is under the Macintosh HD. Under that (Users) is my Home 
folder (jamesrussell), and under that is j901-user/temp. (The different J 
versions all used unique names, like j601, j701, j64807,etc.)

I also find, under Jame's Mac mini/Applications/j901; which perhaps, is an 
earlier install.

(I hate the way the finder (or MacOS) hides the structure of the file 
directory, I assume to protect us from ourselves.)

> On Oct 16, 2019, at 2:48 PM, 'Bo Jacoby' via Programming 
>  wrote:
> 
>  Thanks again Mike.
> j32-807-user is not found anywhere.
> 
> What are the names of the user and temp folders?
> How do I check where they reside?
> Bo
> 
> 
> 
>Den onsdag den 16. oktober 2019 20.18.03 CEST skrev 'Mike Day' via 
> Programming :  
> 
> I see that David Mitchell suggested, on 23/5/19,  that you _might_ be 
> having problems
> (eg with file permissions) because your installation was and remains in 
> the "program files"
> folder.
> 
> It might be worth checking where your user and temp folders reside.
> They're probably elsewhere,
> perhaps in "j32-807-user" which should be ok if that's under documents 
> or something like
> c:\Users\Bo\
> 
> Over to Chris B,
> 
> Mike
> 
> 
>> On 16/10/2019 17:20, 'Bo Jacoby' via Programming wrote:
>>   Thanks Mike!
>> 
>>  JVERSION
>> 
>> Engine: j807/j32/windows
>> 
>> Release-a: commercial/2019-01-11T11:15:29
>> 
>> Library: 8.07.26
>> 
>> Qt IDE: 1.7.9s/5.9.7
>> 
>> Platform: Win 32
>> 
>> Installer: J807 install
>> 
>> InstallPath: c:/program files/j807
>> 
>> Contact: www.jsoftware.com
>> 
>>   load'plot'
>>   plot
>> 3 : 0
>> 
>> caller_jwplot_=. coname''
>> 
>> '' plot_jwplot_ y
>> 
>> :
>> 
>> caller_jwplot_=. coname''
>> 
>> x plot_jwplot_ y
>> 
>> )
>> 
>>   plot 1 2 1 2 1 2
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>>   Den onsdag den 16. oktober 2019 11.17.41 CEST skrev 'Mike Day' via 
>> Programming :
>>   
>>   Bo,  I won't know the answer,  but those who are likely to know it will
>> surely ask
>> you what plot command/s you were using.
>> 
>> Or,  a link back to a previous relevant thread would help.
>> 
>> Cheers,
>> 
>> Mike
>> 
>> 
>>> On 16/10/2019 01:05, 'Bo Jacoby' via Programming wrote:
>>> Anyone: I still get the following error message when using plot, and then I 
>>> must Ctrl-Alt-Del and kill the J job. What does it mean? and what else can 
>>> be done? Thank you! Bo.
>>> 
>>> error in: plot_gs_paint
>>> domain error: cd
>>>   rc=.  glcmds`glcmds_jglc_@.(Poutput=iQTC)buf
>>> 
>>> 
>>> 
>>> 
>>> --
>>> For information about J forums see http://www.jsoftware.com/forums.htm
>> 
> 
> 
> 
> -- 
> This email has been checked for viruses by Avast antivirus software.
> https://www.avast.com/antivirus
> --
> For information about J forums see http://www.jsoftware.com/forums.htm
> 
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Sorry for the previous messages I neglected to remove from my reply

2019-10-15 Thread 'Jim Russell' via Programming
Wow! That suggests new insights. When is sc invoked? Do the two ranks apply to 
each verb?

> On Oct 14, 2019, at 5:35 PM, Louis de Forcrand  wrote:
> 
> If this makes it any clearer, here is an implementation of /. key:
> 
> key=: 1 : 0
> =@[ u@# ]
> )
> 
> where = self-classify can itself be defined as
> 
> sc=: ~. -:"_ _1"_1 _ ]
> 
> Cheers,
> Louis
> 
>> On 14 Oct 2019, at 21:26, Raul Miller  wrote:
>> 
>> I'm not sure what you mean, but consider:
>> 
>>  'abcba' > +--+--+-+
>> |ae|bd|c|
>> +--+--+-+
>> 
>> Basically, any monadic verb that can handle lists of items from the
>> right argument will work with /. (but keep in mind that if the results
>> have differing lengths, the short results will be padded when
>> assembling the result).
>> 
>> Thanks,
>> 
>> -- 
>> Raul
>> 
>>> On Mon, Oct 14, 2019 at 3:18 PM 'Jim Russell' via Programming
>>>  wrote:
>>> 
>>> Yes, much. That seems not the case for a character array left argument, 
>>> thus my confusion. Thank you!
>>> What other arguments/verbs play nice with /,  ?
>>> 
>>>>> On Oct 14, 2019, at 3:05 PM, Raul Miller  wrote:
>>>> 
>>>> Ok, try this:
>>>> 
>>>> 1 2 3 2 1 >>> +--+--+-+
>>>> |ae|bd|c|
>>>> +--+--+-+
>>>> 
>>>> The nub of the left argument determines the number of items in the
>>>> result, but it's not sufficient to determine what's in each box.
>>>> 
>>>> Is this clearer?
>>>> 
>>>> Thanks,
>>>> 
>>>> --
>>>> Raul
>>>> 
>>>> 
>>>>> On Mon, Oct 14, 2019 at 1:24 PM 'Jim Russell' via Programming
>>>>>  wrote:
>>>>> 
>>>>> Sorry, I'm still stuck on u=#. (Or "," or "<" or "[" ). I'll try to 
>>>>> understand some harder working verbs, perhaps + or ! or I. or e?
>>>>> 
>>>>>>> On Oct 14, 2019, at 12:18 PM, Raul Miller  wrote:
>>>>>> 
>>>>>> On Mon, Oct 14, 2019 at 12:06 PM 'Jim Russell' via Programming
>>>>>>  wrote:
>>>>>>> Thank you Raul! I thought I was agreeing, until I got to the following:
>>>>>>> 
>>>>>>>>>> On Oct 14, 2019, at 11:40 AM, Raul Miller  
>>>>>>>>>> wrote:
>>>>>>>>> 
>>>>>>>>> So ... it's the "only the nub" which is relevant here, if you do not
>>>>>>>>> care about the calculation which produces the result.
>>>>>>>> 
>>>>>>>> What calculation? What would be different if (I was allowed to) just 
>>>>>>>> supply (~.x) as a left argument? (Assuming I didn't care to waste the 
>>>>>>>> cycles calculating the nub when it, at least its size,  is going fall 
>>>>>>>> out as a result of looking up each of the eight argument rows).
>>>>>>>> 
>>>>>>>> But I'll accept that I'm missing something; the alternate that Roger 
>>>>>>>> suggested looks like it should do exactly what I was looking for.
>>>>>>> 
>>>>>>> The X U/.Y calculation.
>>>>>>> 
>>>>>>> The order and values of X matter for that calculation, since they 
>>>>>>> control it.
>>>>>>> 
>>>>>>> Thanks,
>>>>>>> 
>>>>>>> --
>>>>>>> Raul
>>>>>>> --
>>>>>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>>>>> 
>>>>>> --
>>>>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>>>> --
>>>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>> 
>>> --
>>> For information about J forums see http://www.jsoftware.com/forums.htm
>> --
>> For information about J forums see http://www.jsoftware.com/forums.htm
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Sorry for the previous messages I neglected to remove from my reply

2019-10-14 Thread 'Jim Russell' via Programming
Yes, much. That seems not the case for a character array left argument, thus my 
confusion. Thank you!
What other arguments/verbs play nice with /,  ?

> On Oct 14, 2019, at 3:05 PM, Raul Miller  wrote:
> 
> Ok, try this:
> 
>   1 2 3 2 1  +--+--+-+
> |ae|bd|c|
> +--+--+-+
> 
> The nub of the left argument determines the number of items in the
> result, but it's not sufficient to determine what's in each box.
> 
> Is this clearer?
> 
> Thanks,
> 
> -- 
> Raul
> 
> 
>> On Mon, Oct 14, 2019 at 1:24 PM 'Jim Russell' via Programming
>>  wrote:
>> 
>> Sorry, I'm still stuck on u=#. (Or "," or "<" or "[" ). I'll try to 
>> understand some harder working verbs, perhaps + or ! or I. or e?
>> 
>>>> On Oct 14, 2019, at 12:18 PM, Raul Miller  wrote:
>>> 
>>> On Mon, Oct 14, 2019 at 12:06 PM 'Jim Russell' via Programming
>>>  wrote:
>>>> Thank you Raul! I thought I was agreeing, until I got to the following:
>>>> 
>>>>>> On Oct 14, 2019, at 11:40 AM, Raul Miller  wrote:
>>>>> 
>>>>> So ... it's the "only the nub" which is relevant here, if you do not
>>>>> care about the calculation which produces the result.
>>>> 
>>>> What calculation? What would be different if (I was allowed to) just 
>>>> supply (~.x) as a left argument? (Assuming I didn't care to waste the 
>>>> cycles calculating the nub when it, at least its size,  is going fall out 
>>>> as a result of looking up each of the eight argument rows).
>>>> 
>>>> But I'll accept that I'm missing something; the alternate that Roger 
>>>> suggested looks like it should do exactly what I was looking for.
>>> 
>>> The X U/.Y calculation.
>>> 
>>> The order and values of X matter for that calculation, since they control 
>>> it.
>>> 
>>> Thanks,
>>> 
>>> --
>>> Raul
>>> --
>>> For information about J forums see http://www.jsoftware.com/forums.htm
>> 
>> --
>> For information about J forums see http://www.jsoftware.com/forums.htm
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Sorry for the previous messages I neglected to remove from my reply

2019-10-14 Thread 'Jim Russell' via Programming
Sorry, I'm still stuck on u=#. (Or "," or "<" or "[" ). I'll try to understand 
some harder working verbs, perhaps + or ! or I. or e?

> On Oct 14, 2019, at 12:18 PM, Raul Miller  wrote:
> 
> On Mon, Oct 14, 2019 at 12:06 PM 'Jim Russell' via Programming
>  wrote:
>> Thank you Raul! I thought I was agreeing, until I got to the following:
>> 
>>>> On Oct 14, 2019, at 11:40 AM, Raul Miller  wrote:
>>> 
>>> So ... it's the "only the nub" which is relevant here, if you do not
>>> care about the calculation which produces the result.
>> 
>> What calculation? What would be different if (I was allowed to) just supply 
>> (~.x) as a left argument? (Assuming I didn't care to waste the cycles 
>> calculating the nub when it, at least its size,  is going fall out as a 
>> result of looking up each of the eight argument rows).
>> 
>> But I'll accept that I'm missing something; the alternate that Roger 
>> suggested looks like it should do exactly what I was looking for.
> 
> The X U/.Y calculation.
> 
> The order and values of X matter for that calculation, since they control it.
> 
> Thanks,
> 
> -- 
> Raul
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Sorry for the previous messages I neglected to remove from my reply

2019-10-14 Thread 'Jim Russell' via Programming
Thank you Raul! I thought I was agreeing, until I got to the following:

> On Oct 14, 2019, at 11:40 AM, Raul Miller  wrote:
> 
> So ... it's the "only the nub" which is relevant here, if you do not
> care about the calculation which produces the result.

What calculation? What would be different if (I was allowed to) just supply 
(~.x) as a left argument? (Assuming I didn't care to waste the cycles 
calculating the nub when it, at least its size,  is going fall out as a result 
of looking up each of the eight argument rows).

But I'll accept that I'm missing something; the alternate that Roger suggested 
looks like it should do exactly what I was looking for. 

Thanks for your input!
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] x u/. y Key

2019-10-13 Thread 'Jim Russell' via Programming
My wife has surgery tomorrow, so I won't be quick I'm afraid. I wouldn't have 
guessed that k2 was even a primitive, but I thought that about &.: too. 

I like the none-of-the-above result; I'm not sure my 64^3 universe of possible 
values would be a good fit. 

But I'm eager to learn from it. Thanks! 

> On Oct 14, 2019, at 12:52 AM, Roger Hui  wrote:
> 
> What you described is a different adverb K2 where
> 
>  x u K2 y  ←→  ((~.x)i.y) u/. y
> 
> (If x has no duplicates, then it's just  (x i.y) u/. y .)  Please try it
> and tell us whether it does what you want.
> 
> This is an interesting computation where the left argument x does not
> specify keys for the right argument (that's what x u/. y does).  Instead,
> the left argument specify the entire universe of possible values for y
> together with a final "none-of-the-above" category.
> 
> 
>> On Sun, Oct 13, 2019 at 9:20 PM 'Jim Russell' via Programming <
>> programm...@jsoftware.com> wrote:
>> 
>> Just to explain my confusion, and with apologies for my terminology...
>> 
>> Since iota (and i.) return an "off the scale" index to mean "not found", I
>> assumed that a "not found", or "none of the above" category would return a
>> count (in the case of #) in the final (1+$nub) item of the result. My
>> uneducated guess, looking at the results of u="<" or" ,"   on the same
>> trigrams I was applying to #/.  was that instead of the 3's I would have
>> expected, it seemed each was being used in an iota search of the left
>> argument rows to add to the tally of each unique (first encountered) member
>> of the x argument. The result is the length of the nub of the left
>> argument, so the rest of the left argument seems, for a u of #, to be
>> ignored and not needed, at least if x has duplicate entries.
>> And if that is the case, it seemed that a final "none of the above"
>> element (indexed by the "not found" result of my probably mythical i.
>> search) for each y argument row ought would just fall out.
>> 
>> But I did give absolutely no thought to other verbs as u. (Other than
>> wonder which might help be understand the behavior of /.  .)
>> 
>> Don't take the time to point out my stupidity--I'm happy to wait until I'm
>> smart enough to understand it better.
>> 
>> And thanks for checking in to the discussion, Roger.
>>> On Oct 13, 2019, at 10:21 PM, Roger Hui 
>> wrote:
>>> 
>>> Oh no, it's not because I said so.  As I said, it's because this
>> particular
>>> definition, the current definition, says so.  If you think the definition
>>> should be / could be something else, we can discuss it.  Truth be told, I
>>> don't understand how you can have keys that don't have corresponding
>> data,
>>> or data that don't have corresponding keys.  Sounds like a completely
>>> different computation than _key_.
>>> 
>>> _Key_ (the current definition) is cognate with the GROUP-BY statement in
>>> SQL, the monadic = function in k, the generalized beta in the Connection
>>> Machine.
>>> 
>>> 
>>> 
>>>> On Sun, Oct 13, 2019 at 6:36 PM 'Jim Russell' via Programming <
>>>> programm...@jsoftware.com> wrote:
>>>> 
>>>> And only you, Roger, well deserve the right to answer "Because I said
>> so!"
>>>> I was only considering the case of u=#, and remembering that #/. was
>>>> described as in the i. family, and seeing that...
>>>> 
>>>> Well never mind. Sorry.
>>>> 
>>>> 
>>>>> On Oct 13, 2019, at 7:50 PM, Roger Hui 
>>>> wrote:
>>>>> 
>>>>> 
>>>>>> 
>>>>>> why do the sizes of the x and y argument to Key need to match?
>>>>> 
>>>>> Because the x u/. y key adverb is _defined_ so that
>>>>> 
>>>>> - items of x specify keys for _corresponding_ items of y and
>>>>> - u is applied to each collection of y having identical keys.
>>>>> 
>>>>> You can argue that the definition should be something else, but it is
>> not
>>>>> debatable that if you are going to use u/. then items of x must have
>>>>> corresponding items in y, that is, x and y must have the same number of
>>>>> items, that is, {.$x must be the same as {.$y .  x and y need not have
>>>> the
>>>>> same shape, but the leading element of their shapes must be the sam

[Jprogramming] Sorry for the previous messages I neglected to remove from my reply

2019-10-13 Thread 'Jim Russell' via Programming
One more comment re group by:
Don't know k or the connection machine (and struggle with take always, and 
goezinta's) but "group by" maybe helps me understand something. Implicit in a 
"group by" is that the grouping isn't by the referenced columns, it is by the 
unique, or distinct values in those columns. So it's neat that you can use ~ to 
throw the complete "column" at #/. , but it is only the unique values, the nub, 
that is defining the categories. 

Or an I misunderstanding that too?
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] x u/. y Key

2019-10-13 Thread 'Jim Russell' via Programming
Just to explain my confusion, and with apologies for my terminology...

Since iota (and i.) return an "off the scale" index to mean "not found", I 
assumed that a "not found", or "none of the above" category would return a 
count (in the case of #) in the final (1+$nub) item of the result. My 
uneducated guess, looking at the results of u="<" or" ,"   on the same trigrams 
I was applying to #/.  was that instead of the 3's I would have expected, it 
seemed each was being used in an iota search of the left argument rows to add 
to the tally of each unique (first encountered) member of the x argument. The 
result is the length of the nub of the left argument, so the rest of the left 
argument seems, for a u of #, to be ignored and not needed, at least if x has 
duplicate entries. 
And if that is the case, it seemed that a final "none of the above" element 
(indexed by the "not found" result of my probably mythical i. search) for each 
y argument row ought would just fall out.

But I did give absolutely no thought to other verbs as u. (Other than wonder 
which might help be understand the behavior of /.  .)

Don't take the time to point out my stupidity--I'm happy to wait until I'm 
smart enough to understand it better. 

And thanks for checking in to the discussion, Roger. 
> On Oct 13, 2019, at 10:21 PM, Roger Hui  wrote:
> 
> Oh no, it's not because I said so.  As I said, it's because this particular
> definition, the current definition, says so.  If you think the definition
> should be / could be something else, we can discuss it.  Truth be told, I
> don't understand how you can have keys that don't have corresponding data,
> or data that don't have corresponding keys.  Sounds like a completely
> different computation than _key_.
> 
> _Key_ (the current definition) is cognate with the GROUP-BY statement in
> SQL, the monadic = function in k, the generalized beta in the Connection
> Machine.
> 
> 
> 
>> On Sun, Oct 13, 2019 at 6:36 PM 'Jim Russell' via Programming <
>> programm...@jsoftware.com> wrote:
>> 
>> And only you, Roger, well deserve the right to answer "Because I said so!"
>> I was only considering the case of u=#, and remembering that #/. was
>> described as in the i. family, and seeing that...
>> 
>> Well never mind. Sorry.
>> 
>> 
>>> On Oct 13, 2019, at 7:50 PM, Roger Hui 
>> wrote:
>>> 
>>> 
>>>> 
>>>> why do the sizes of the x and y argument to Key need to match?
>>> 
>>> Because the x u/. y key adverb is _defined_ so that
>>> 
>>>  - items of x specify keys for _corresponding_ items of y and
>>>  - u is applied to each collection of y having identical keys.
>>> 
>>> You can argue that the definition should be something else, but it is not
>>> debatable that if you are going to use u/. then items of x must have
>>> corresponding items in y, that is, x and y must have the same number of
>>> items, that is, {.$x must be the same as {.$y .  x and y need not have
>> the
>>> same shape, but the leading element of their shapes must be the same.
>>> 
>>> 
>>> 
>>>> On Sun, Oct 13, 2019 at 3:58 PM 'Jim Russell' via Programming <
>>>> programm...@jsoftware.com> wrote:
>>>> 
>>>> Rick: My ability to read tacit expressions is so poor that I overlooked
>>>> the fact that the your quoted output did not come directly from the Key
>>>> expression; silly me, I thought there was some form of the
>>>> modifiers/arguments to Key that yielded the results of two inputs.
>>>> 
>>>> (In contrast to your skill, it took be about a half a day to come up
>> with
>>>> the tacit dyad(?) mmjnn=:(; ,.) to glue together my trigram table and
>> one
>>>> result vector.)
>>>> 
>>>> So I wonder if I dare ask again:
>>>>   why do the sizes of the x and y argument to Key need to
>>>> match?
>>>> 
>>>> (Thanks again for all the help!)
>>>> 
>>>>>> On Oct 12, 2019, at 5:16 AM, Ric Sherlock  wrote:
>>>>> 
>>>>>>> Or to summarise by trigram:
>>>>>>> 
>>>>>>> (~.@; trig);|: <: #/.~&> supertrig
>>>>>>> 
>>>>>>> +---+---+
>>>>>>> 
>>>>>>> |ggt|1 2|
>>>>>>> 
>>>>>>> |gta|2 0|
>>>>>>> 
>>>>>>> |taa|1 1|
>>>>>>> 
>>>>>>> |aaa|2 0|
>>>> 
>>>> --
>>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>>> 
>>> --
>>> For information about J forums see http://www.jsoftware.com/forums.htm
>> 
>> --
>> For information about J forums see http://www.jsoftware.com/forums.htm
>> 
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] x u/. y Key

2019-10-13 Thread 'Jim Russell' via Programming
And only you, Roger, well deserve the right to answer "Because I said so!" 
I was only considering the case of u=#, and remembering that #/. was described 
as in the i. family, and seeing that...

Well never mind. Sorry. 


> On Oct 13, 2019, at 7:50 PM, Roger Hui  wrote:
> 
> 
>> 
>> why do the sizes of the x and y argument to Key need to match?
> 
> Because the x u/. y key adverb is _defined_ so that
> 
>   - items of x specify keys for _corresponding_ items of y and
>   - u is applied to each collection of y having identical keys.
> 
> You can argue that the definition should be something else, but it is not
> debatable that if you are going to use u/. then items of x must have
> corresponding items in y, that is, x and y must have the same number of
> items, that is, {.$x must be the same as {.$y .  x and y need not have the
> same shape, but the leading element of their shapes must be the same.
> 
> 
> 
>> On Sun, Oct 13, 2019 at 3:58 PM 'Jim Russell' via Programming <
>> programm...@jsoftware.com> wrote:
>> 
>> Rick: My ability to read tacit expressions is so poor that I overlooked
>> the fact that the your quoted output did not come directly from the Key
>> expression; silly me, I thought there was some form of the
>> modifiers/arguments to Key that yielded the results of two inputs.
>> 
>> (In contrast to your skill, it took be about a half a day to come up with
>> the tacit dyad(?) mmjnn=:(; ,.) to glue together my trigram table and one
>> result vector.)
>> 
>> So I wonder if I dare ask again:
>>why do the sizes of the x and y argument to Key need to
>> match?
>> 
>> (Thanks again for all the help!)
>> 
>>>> On Oct 12, 2019, at 5:16 AM, Ric Sherlock  wrote:
>>> 
>>>>> Or to summarise by trigram:
>>>>> 
>>>>> (~.@; trig);|: <: #/.~&> supertrig
>>>>> 
>>>>> +---+---+
>>>>> 
>>>>> |ggt|1 2|
>>>>> 
>>>>> |gta|2 0|
>>>>> 
>>>>> |taa|1 1|
>>>>> 
>>>>> |aaa|2 0|
>> 
>> --
>> For information about J forums see http://www.jsoftware.com/forums.htm
>> 
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] x u/. y Key

2019-10-13 Thread 'Jim Russell' via Programming
Rick: My ability to read tacit expressions is so poor that I overlooked the 
fact that the your quoted output did not come directly from the Key expression; 
silly me, I thought there was some form of the modifiers/arguments to Key that 
yielded the results of two inputs. 

(In contrast to your skill, it took be about a half a day to come up with the 
tacit dyad(?) mmjnn=:(; ,.) to glue together my trigram table and one result 
vector.) 

So I wonder if I dare ask again: 
why do the sizes of the x and y argument to Key need to match?

(Thanks again for all the help!)

> On Oct 12, 2019, at 5:16 AM, Ric Sherlock  wrote:
> 
>>> Or to summarise by trigram:
>>> 
>>> (~.@; trig);|: <: #/.~&> supertrig
>>> 
>>> +---+---+
>>> 
>>> |ggt|1 2|
>>> 
>>> |gta|2 0|
>>> 
>>> |taa|1 1|
>>> 
>>> |aaa|2 0|

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] x u/. y Key

2019-10-13 Thread 'Jim Russell' via Programming
Ok, have you determined?

> On Oct 13, 2019, at 11:03 AM, 'Mike Day' via Programming 
>  wrote:

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] x u/. y Key

2019-10-13 Thread 'Jim Russell' via Programming
So, have you concluded:
• A pre-filter is worthwhile?
• Why eliminating spaces had such an effect?
• Bacon was the author after all?
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] x u/. y Key

2019-10-13 Thread 'Jim Russell' via Programming
Wasn't doubting Mike, just expressing how much diversity arises from only 4 
letters. Imagine if God had used the whole alphabet. (Guess the other 22 
letters hasn't been invented yet. )

> On Oct 13, 2019, at 3:09 AM, Ric Sherlock  wrote:
> 
> Confirming Mike's assertion...
> 
>   load 'stats'
>   $'acgt' {~ 3 permrep 4
> 64 3

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] x u/. y Key

2019-10-12 Thread 'Jim Russell' via Programming
Only 64?  So worst case ascii text summaries would be 64^ 3 rows?

> On Oct 12, 2019, at 6:36 PM, 'Mike Day' via Programming 
>  wrote:
> 
> Yes, that’s me.  
> 
> Sorry about the “Nb”s ... I was adding comments and trying to make the lines 
> runnable.
> 
> I should have said that I wrote these example functions just for this 
> discussion. They’re not well tested, nor, likely/possibly, proof against edge 
> conditions such as empty datasets.
> 
> BTW, I guess the “alphabet” for trigrams of DNA sequences has 4^3 = 64 
> elements.
> 
> Mike
> 
> 
> 
> Sent from my iPad
> 
>>> On 12 Oct 2019, at 21:00, 'Jim Russell' via Programming 
>>>  wrote:
>>> 
>>> 
>>> 
>>>> On Oct 12, 2019, at 1:52 PM, 'Mike Day' via Programming 
>>>>  wrote:
>>> 
>>> Sorry, I wasn’t considering trigrams in my off the cuff stuff,
>>> 
>>> Mike
>> 
>> Thanks Mike (Day?). Can’t always tell with fourm replies until I reply…
>> 
>> I appreciate (and am still studying) your stuff, and learning a lot from all 
>> these exchanges.  I converted your reply to a script also, and so far have 
>> {with my comments enclosed like this}:
>> 
>> NB.> eg for Ric Sherlock’s example, modified for unequal sample sizes:
>> NB.> Apologies for non-alignment, as seen on iPad anyway.
>> 
>> NB. {Defs moved to front, earlier results commented, and expected to
>> NB. change -- due to ?, but kept to sompare shape and type.}
>> NB. {Still trying to understand the monad/duad stuff...}
>> NB. {Changed a couple of Nb.'s t0 NB.}
>> 
>> NB. absolute frequencies for one set
>> fr1 =: 3 : 0
>> y fr1~ /:~ ~. y
>> :
>> alf =. x
>> ser =. y
>> <:@#/.~ alf, ser
>> )
>> NB. relative frequencies for one set
>> rfr1 =: (%+/)@:fr1
>> NB. compare frequencies
>> cfr =: 3 : 0
>> y cfr~ /:~ ~.;y
>> :
>> alf =. x
>> sers=. y
>> alf every y
>> )
>> NB. compare relative frequencies
>> crfr =: 3 : 0
>> y crfr~ /:~ ~.;y NB. Default base is sorted nub of all inputs.
>> :
>> alf =. x
>> sers=. y
>> alf every y
>> )
>> ]'X Y'=: 'actg' {~ 2 30 ?@$ 4
>> tttgcctataaacaatgcagaccagcacgt
>> ggcttcaacgactccagagtcttgctgagt
>> NB.catctaagtcgataatccacttacttccgg
>> NB.cagcaaggacaggtgctaatacacactcgc
>> [X =: 'actg' {~ 40?@$ 4
>> attaggtgccgacagaagtggccaacctcatcgacaaagg
>> NB.ttagcacttccctcagagttacccacactagctggtgcag
>> [each NB. in Z?
>> [&.>
>> fr1 each X;Y NB. Absolute frequencies, using sorted nubs as base
>> +--+---+
>> |13 10 11 6|6 8 8 8|
>> +--+---+
>> NB.+-++
>> NB.|9 13 8 10|10 9 7 4|
>> NB.+-++
>> rfr1 each X;Y NB. Relative freqs
>> +-+--+
>> |0.325 0.25 0.275 0.15|0.2 0.27 0.27 0.27|
>> +-+--+
>> NB.++--+
>> NB.|0.225 0.325 0.2 0.25|0.33 0.3 0.23 0.13|
>> NB.++--+
>> NB. Comparisons
>> crfr X;Y NB. Absolute
>> 0.325 0.25 0.275 0.15
>> 0.2 0.27 0.27 0.27
>> NB.9 13 8 10
>> NB.10 9 7 4
>> NB. load'~/user/temp.ijs'
>> crfr X;Y NB. Relative
>> 0.325 0.25 0.275 0.15
>> 0.2 0.27 0.27 0.27
>> NB. 0.225 0.325 0.2 0.25
>> NB.0.33 0.3 0.23 0.13
>> NB.You can supply your “alphabet” as Left argument..
>> 'tagc' fr1 X NB. In your preferred order!
>> 6 13 11 10
>> NB.10 9 8 13
>> NB.fns below sign off,{now moved to front}
>> NB.Mike
>> NB.
>> --
>> For information about J forums see http://www.jsoftware.com/forums.htm
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] x u/. y Key

2019-10-12 Thread 'Jim Russell' via Programming
One more (I promise, I’ll stop hogging the fourm) mail to script conversion, 
this time from Ric’s contribution. (This is all great stuff, thank you guys 
very much!!)

   NB. Rick2, without Key
NB.If you want compare the summaries without the original text strings, then
NB.perhaps Key is not the best approach.
NB.This should work:
getTrigrams=: 3 ,\ ]
countTrigrams=: (~. ; #/.~)@getTrigrams
compareTrigrams=: dyad define

alltrig=. x ~.@;@,&({.) y

cnttrigs=. ((alltrig i.~ [) { 0 ,~ ])&>/&> x;http://www.jsoftware.com/forums.htm


Re: [Jprogramming] x u/. y Key

2019-10-12 Thread 'Jim Russell' via Programming


> On Oct 12, 2019, at 1:52 PM, 'Mike Day' via Programming 
>  wrote:
> 
> Sorry, I wasn’t considering trigrams in my off the cuff stuff,
> 
> Mike
> 

Thanks Mike (Day?). Can’t always tell with fourm replies until I reply…

I appreciate (and am still studying) your stuff, and learning a lot from all 
these exchanges.  I converted your reply to a script also, and so far have 
{with my comments enclosed like this}:

NB.> eg for Ric Sherlock’s example, modified for unequal sample sizes:
NB.> Apologies for non-alignment, as seen on iPad anyway.

NB. {Defs moved to front, earlier results commented, and expected to
NB. change -- due to ?, but kept to sompare shape and type.}
NB. {Still trying to understand the monad/duad stuff...}
NB. {Changed a couple of Nb.'s t0 NB.}

NB. absolute frequencies for one set
fr1 =: 3 : 0
y fr1~ /:~ ~. y
:
alf =. x
ser =. y
<:@#/.~ alf, ser
)
NB. relative frequencies for one set
rfr1 =: (%+/)@:fr1
NB. compare frequencies
cfr =: 3 : 0
y cfr~ /:~ ~.;y
:
alf =. x
sers=. y
alf every y
)
NB. compare relative frequencies
crfr =: 3 : 0
y crfr~ /:~ ~.;y NB. Default base is sorted nub of all inputs.
:
alf =. x
sers=. y
alf every y
)
]'X Y'=: 'actg' {~ 2 30 ?@$ 4
tttgcctataaacaatgcagaccagcacgt
ggcttcaacgactccagagtcttgctgagt
NB.catctaagtcgataatccacttacttccgg
NB.cagcaaggacaggtgctaatacacactcgc
[X =: 'actg' {~ 40?@$ 4
attaggtgccgacagaagtggccaacctcatcgacaaagg
NB.ttagcacttccctcagagttacccacactagctggtgcag
[each NB. in Z?
[&.>
fr1 each X;Y NB. Absolute frequencies, using sorted nubs as base
+--+---+
|13 10 11 6|6 8 8 8|
+--+---+
NB.+-++
NB.|9 13 8 10|10 9 7 4|
NB.+-++
rfr1 each X;Y NB. Relative freqs
+-+--+
|0.325 0.25 0.275 0.15|0.2 0.27 0.27 0.27|
+-+--+
NB.++--+
NB.|0.225 0.325 0.2 0.25|0.33 0.3 0.23 0.13|
NB.++--+
NB. Comparisons
crfr X;Y NB. Absolute
0.325 0.25 0.275 0.15
0.2 0.27 0.27 0.27
NB.9 13 8 10
NB.10 9 7 4
NB. load'~/user/temp.ijs'
crfr X;Y NB. Relative
0.325 0.25 0.275 0.15
0.2 0.27 0.27 0.27
NB. 0.225 0.325 0.2 0.25
NB.0.33 0.3 0.23 0.13
NB.You can supply your “alphabet” as Left argument..
'tagc' fr1 X NB. In your preferred order!
6 13 11 10
NB.10 9 8 13
NB.fns below sign off,{now moved to front}
NB.Mike
NB.
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] x u/. y Key

2019-10-12 Thread 'Jim Russell' via Programming
You'r right. I started to define it assigned as a string, but screwed that up 
too. Took me just as long to  learn del definition too :-). 

> On Oct 12, 2019, at 12:53 PM, Brian Schott  wrote:
> 
> Your verb show needs a y in it.
> 
> 
>   show=: verb define
> <: #/.~&> y
> )
>   show supertrig
> |noun result was required: show
> |   <:#/.~&>
>   $trig
> 2
>   show=: verb define
> <: #/.~&> y
> )
>   show supertrig
> 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
> 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 1 1 1 1 1 1 2 2 2 2 2 1 1 2 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
> 1 1 1 1 1 1 1 1 1 1 1 1 1 1
> 
>> On Sat, Oct 12, 2019 at 12:23 PM 'Jim Russell' via Programming <
>> programm...@jsoftware.com> wrote:
>> 
>> Genius! I tried (and failed) to convert your reply to a script on my
>> iPhone:
>> 
>> X=:'Now is the time for all good men to come ti'
>> Y=: 'Now is the time for the quick brown good men to come ti'
>> trig=: 3,\&.> X;Y
>> NB. Get the nub of the union of both sets of trigrams and prepend it to
>> each trigram set.
>> supertrig=: (,~&.> <@~.@;) trig
>> NB. Now we can use Key to count the trigrams in each set and decrement by
>> 1 (for the extra  copy that we added).
>> 
>> show=: verb define
>> <: #/.~&>
>> )
>> show supertrig
>> 
>> It almost worked, in particular your code did (j701):
>>   load'~/user/ric.ijs'
>> |syntax error: show
>> |   show supertrig
>> |[-11] /j/user/ric.ijs
>>   supertrig
>> +---+---+
>> |Now|Now|
>> |ow |ow |
>> |w i|w i|
>> | is| is|
>> |is |is |
>> |s t|s t|
>> | th| th|
>> |the|the|
>> |he |he |
>> |e t|e t|
>> | ti| ti|
>> |tim|tim|
>> 
>> . Clip...
>> 
>> |   |to |
>> |   |o c|
>> |   | co|
>> |   |com|
>> |   |ome|
>> |   |me |
>> |   |e t|
>> |   | ti|
>> +---+---+
>>   show
>> 3 : '<: #/.~&>'
>> 
>>   <: #/.~&> supertrig
>> 1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
>> 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
>> 1 1 1 1 1 1 2 2 2 2 2 1 1 2 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
>> 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
>> 
>> 
>>>> On Oct 12, 2019, at 1:22 AM, Ric Sherlock  wrote:
>>> 
>>> Here's one approach...
>>> 
>>> I find it much easier to work with if there is actual data. The following
>>> may not be representative of your data but it gives us somewhere to
>> start.
>>> 
>>> ]'X Y'=: 'actg' {~ 2 30 ?@$ 4
>>> 
>>> ggttgactgtagtgaagaaggagtcc
>>> 
>>> ctgattaaggttcggtgtcgataccgcgca
>>> 
>>> 
>>> We now have 2 strings X and Y. Let's obtain the trigrams for each string
>>> 
>>> trig=: 3,\&.> X;Y Get the nub of the union of both sets of trigrams and
>>> prepend it to each trigram set. supertrig=: (,~&.> <@~.@;) trig Now we
>> can
>>> use Key to count the trigrams in each set and decrement by 1 (for the
>> extra
>>> copy that we added). <: #/.~&> supertrig
>>> 
>>> 1 2 1 2 1 1 2 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
>>> 
>>> 2 0 1 0 0 0 1 0 0 1 1 0 0 1 0 1 0 1 0 0 1 0 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1
>>> 
>>> Or to summarise by trigram:
>>> 
>>> (~.@; trig);|: <: #/.~&> supertrig
>>> 
>>> +---+---+
>>> 
>>> |ggt|1 2|
>>> 
>>> |gta|2 0|
>>> 
>>> |taa|1 1|
>>> 
>>> |aaa|2 0|
>>> 
>>> |aat|1 0|
>>> 
>>> |atg|1 0|
>>> 
>>> |tga|2 1|
>>> 
>>> |gac|1 0|
>>> 
>>> |act|1 0|
>>> 
>>> |ctg|1 1|
>>> 
>>> |tgt|1 1|
>>> 
>>> |tag|1 0|
>>> 
>>> |agt|2 0|
>>> 
>>> |gtg|1 1|
>>> 
>>> |gaa|2 0|
>>> 
>>> |aag|2 1|
>>> 
>>> |aga|1 0|
>>> 
>>> |agg|1 1|
>>> 
>>> |gga|1 0|
>>> 
>>> |gag|1 0|
>>> 
>>> |gtc|1 1|
>>> 
>>> |tcc|1 0|
>>> 
>>> |gat|0 2|
>>> 
>>> |att|0 1|
>>> 
>>> |tta|0 1|
>>> 
>>> |gtt|0 1|
>>> 
>>> |ttc|0 1|
>>> 
>>> |tcg|0 2|
>>> 
>>> |cgg|0 1|
&

Re: [Jprogramming] x u/. y Key

2019-10-12 Thread 'Jim Russell' via Programming
Genius! I tried (and failed) to convert your reply to a script on my iPhone:

X=:'Now is the time for all good men to come ti'
Y=: 'Now is the time for the quick brown good men to come ti'
trig=: 3,\&.> X;Y
NB. Get the nub of the union of both sets of trigrams and prepend it to each 
trigram set. 
supertrig=: (,~&.> <@~.@;) trig 
NB. Now we can use Key to count the trigrams in each set and decrement by 1 
(for the extra  copy that we added).

show=: verb define
<: #/.~&>
)
show supertrig

It almost worked, in particular your code did (j701):
   load'~/user/ric.ijs'
|syntax error: show
|   show supertrig
|[-11] /j/user/ric.ijs
   supertrig
+---+---+
|Now|Now|
|ow |ow |
|w i|w i|
| is| is|
|is |is |
|s t|s t|
| th| th|
|the|the|
|he |he |
|e t|e t|
| ti| ti|
|tim|tim|

. Clip...

|   |to |
|   |o c|
|   | co|
|   |com|
|   |ome|
|   |me |
|   |e t|
|   | ti|
+---+---+
   show
3 : '<: #/.~&>'
 
   <: #/.~&> supertrig
1 1 1 1 1 1 1 1 1 2 2 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 
0 0 0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 2 2 2 2 2 1 1 2 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
1 1 1 1 1 1 1 1 1 1 1 1


> On Oct 12, 2019, at 1:22 AM, Ric Sherlock  wrote:
> 
> Here's one approach...
> 
> I find it much easier to work with if there is actual data. The following
> may not be representative of your data but it gives us somewhere to start.
> 
>  ]'X Y'=: 'actg' {~ 2 30 ?@$ 4
> 
> ggttgactgtagtgaagaaggagtcc
> 
> ctgattaaggttcggtgtcgataccgcgca
> 
> 
> We now have 2 strings X and Y. Let's obtain the trigrams for each string
> 
> trig=: 3,\&.> X;Y Get the nub of the union of both sets of trigrams and
> prepend it to each trigram set. supertrig=: (,~&.> <@~.@;) trig Now we can
> use Key to count the trigrams in each set and decrement by 1 (for the extra
> copy that we added). <: #/.~&> supertrig
> 
> 1 2 1 2 1 1 2 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 
> 2 0 1 0 0 0 1 0 0 1 1 0 0 1 0 1 0 1 0 0 1 0 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1
> 
> Or to summarise by trigram:
> 
> (~.@; trig);|: <: #/.~&> supertrig
> 
> +---+---+
> 
> |ggt|1 2|
> 
> |gta|2 0|
> 
> |taa|1 1|
> 
> |aaa|2 0|
> 
> |aat|1 0|
> 
> |atg|1 0|
> 
> |tga|2 1|
> 
> |gac|1 0|
> 
> |act|1 0|
> 
> |ctg|1 1|
> 
> |tgt|1 1|
> 
> |tag|1 0|
> 
> |agt|2 0|
> 
> |gtg|1 1|
> 
> |gaa|2 0|
> 
> |aag|2 1|
> 
> |aga|1 0|
> 
> |agg|1 1|
> 
> |gga|1 0|
> 
> |gag|1 0|
> 
> |gtc|1 1|
> 
> |tcc|1 0|
> 
> |gat|0 2|
> 
> |att|0 1|
> 
> |tta|0 1|
> 
> |gtt|0 1|
> 
> |ttc|0 1|
> 
> |tcg|0 2|
> 
> |cgg|0 1|
> 
> |cga|0 1|
> 
> |ata|0 1|
> 
> |tac|0 1|
> 
> |acc|0 1|
> 
> |ccg|0 1|
> 
> |cgc|0 2|
> 
> |gcg|0 1|
> 
> |gca|0 1|
> 
> +---+---+
> 
> 
>> On Sat, Oct 12, 2019 at 4:40 PM 'Jim Russell' via Programming <
>> programm...@jsoftware.com> wrote:
>> 
>> Sure, thanks. I'm working to re-implement a text comparison program I did
>> using VBA & Microsoft Access a number of years back.
>> 
>> The object is to compare two text documents and see how similar one is to
>> the other by  comparing the number of unique trigrams that are found in
>> each.
>> For each text string a table of trigrams is constructed with the
>> expression 3,\x. The resulting table of 3-character samples m is then
>> tallied using #/.~m . This yields a vector of counts of each unique trigram
>> corresponding to (an unseen) nub of m. The count, and a copy of the nub of
>> m, represent a summary of the text in string x.
>> This same process then repeated to creat a smry for the second string, y.
>> 
>> The next step in the process is to assign a score of 0 to 1 based on a
>> comparison of the two string summaries. It would seem sensible to compare
>> the nub of the two text strings to each other. What is the difference in
>> counts between the trigrams they have in common, and how many trigram hits
>> for each are unique?
>> That is where using nub1 #/. nub2 would be attractive, were it not
>> required that the arguments had the same row counts, and Key could not
>> count unmatched rows.
>> 
>> As it stands, I fear I am duplicating effort to find the nubs in preparing
>> the summaries, and again if I have to use i. to calculate the scores. If I
>> get a vector result when I use key on vectors, might I expect a table
>> result (including the counts and the nub) when key is applied to tables?
>> 
>> Or is there a more appropriate approach? (In access and VBA, I u

Re: [Jprogramming] x u/. y Key

2019-10-12 Thread 'Jim Russell' via Programming
Thanks, interesting. What advantage  that give you?

> On Oct 12, 2019, at 9:02 AM, 'Mike Day' via Programming 
>  wrote:
> 
> A quick thought,  might not be what you have in mind.
> 
> If, say, you’re seeking the frequency of letters,  it’s worth prefixing the 
> sorted alphabet of interest to your string and then subtracting one from the 
> scores.
> 
> Useful for me sometimes, anyway.
> 
> Mike
> 
> Sent from my iPad
> 
>> On 12 Oct 2019, at 06:50, 'Jim Russell' via Programming 
>>  wrote:
>> 
>> Looks promising. Typically, the strings are different lengths, and we may 
>> not have access to them at the same time. (Which is why I hade the 
>> intermediate summary step.) Let me ponder that (I don't think it will 
>> matter) while I study your approach more. Thanks very much!
>> 
>>>> On Oct 12, 2019, at 1:22 AM, Ric Sherlock  wrote:
>>> 
>>> Here's one approach...
>>> 
>>> I find it much easier to work with if there is actual data. The following
>>> may not be representative of your data but it gives us somewhere to start.
>>> 
>>> ]'X Y'=: 'actg' {~ 2 30 ?@$ 4
>>> 
>>> ggttgactgtagtgaagaaggagtcc
>>> 
>>> ctgattaaggttcggtgtcgataccgcgca
>>> 
>>> 
>>> We now have 2 strings X and Y. Let's obtain the trigrams for each string
>>> 
>>> trig=: 3,\&.> X;Y Get the nub of the union of both sets of trigrams and
>>> prepend it to each trigram set. supertrig=: (,~&.> <@~.@;) trig Now we can
>>> use Key to count the trigrams in each set and decrement by 1 (for the extra
>>> copy that we added). <: #/.~&> supertrig
>>> 
>>> 1 2 1 2 1 1 2 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
>>> 
>>> 2 0 1 0 0 0 1 0 0 1 1 0 0 1 0 1 0 1 0 0 1 0 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1
>>> 
>>> Or to summarise by trigram:
>>> 
>>> (~.@; trig);|: <: #/.~&> supertrig
>>> 
>>> +---+---+
>>> 
>>> |ggt|1 2|
>>> 
>>> |gta|2 0|
>>> 
>>> |taa|1 1|
>>> 
>>> |aaa|2 0|
>>> 
>>> |aat|1 0|
>>> 
>>> |atg|1 0|
>>> 
>>> |tga|2 1|
>>> 
>>> |gac|1 0|
>>> 
>>> |act|1 0|
>>> 
>>> |ctg|1 1|
>>> 
>>> |tgt|1 1|
>>> 
>>> |tag|1 0|
>>> 
>>> |agt|2 0|
>>> 
>>> |gtg|1 1|
>>> 
>>> |gaa|2 0|
>>> 
>>> |aag|2 1|
>>> 
>>> |aga|1 0|
>>> 
>>> |agg|1 1|
>>> 
>>> |gga|1 0|
>>> 
>>> |gag|1 0|
>>> 
>>> |gtc|1 1|
>>> 
>>> |tcc|1 0|
>>> 
>>> |gat|0 2|
>>> 
>>> |att|0 1|
>>> 
>>> |tta|0 1|
>>> 
>>> |gtt|0 1|
>>> 
>>> |ttc|0 1|
>>> 
>>> |tcg|0 2|
>>> 
>>> |cgg|0 1|
>>> 
>>> |cga|0 1|
>>> 
>>> |ata|0 1|
>>> 
>>> |tac|0 1|
>>> 
>>> |acc|0 1|
>>> 
>>> |ccg|0 1|
>>> 
>>> |cgc|0 2|
>>> 
>>> |gcg|0 1|
>>> 
>>> |gca|0 1|
>>> 
>>> +---+---+
>>> 
>>> 
>>>> On Sat, Oct 12, 2019 at 4:40 PM 'Jim Russell' via Programming <
>>>> programm...@jsoftware.com> wrote:
>>>> 
>>>> Sure, thanks. I'm working to re-implement a text comparison program I did
>>>> using VBA & Microsoft Access a number of years back.
>>>> 
>>>> The object is to compare two text documents and see how similar one is to
>>>> the other by  comparing the number of unique trigrams that are found in
>>>> each.
>>>> For each text string a table of trigrams is constructed with the
>>>> expression 3,\x. The resulting table of 3-character samples m is then
>>>> tallied using #/.~m . This yields a vector of counts of each unique trigram
>>>> corresponding to (an unseen) nub of m. The count, and a copy of the nub of
>>>> m, represent a summary of the text in string x.
>>>> This same process then repeated to creat a smry for the second string, y.
>>>> 
>>>> The next step in the process is to assign a score of 0 to 1 based on a
>>>> comparison of the two string summaries. It would seem sensible to compare
>>>> the nub of the two text strings to each other. What is the differenc

Re: [Jprogramming] x u/. y Key

2019-10-11 Thread 'Jim Russell' via Programming
Looks promising. Typically, the strings are different lengths, and we may not 
have access to them at the same time. (Which is why I hade the intermediate 
summary step.) Let me ponder that (I don't think it will matter) while I study 
your approach more. Thanks very much!

> On Oct 12, 2019, at 1:22 AM, Ric Sherlock  wrote:
> 
> Here's one approach...
> 
> I find it much easier to work with if there is actual data. The following
> may not be representative of your data but it gives us somewhere to start.
> 
>  ]'X Y'=: 'actg' {~ 2 30 ?@$ 4
> 
> ggttgactgtagtgaagaaggagtcc
> 
> ctgattaaggttcggtgtcgataccgcgca
> 
> 
> We now have 2 strings X and Y. Let's obtain the trigrams for each string
> 
> trig=: 3,\&.> X;Y Get the nub of the union of both sets of trigrams and
> prepend it to each trigram set. supertrig=: (,~&.> <@~.@;) trig Now we can
> use Key to count the trigrams in each set and decrement by 1 (for the extra
> copy that we added). <: #/.~&> supertrig
> 
> 1 2 1 2 1 1 2 1 1 1 1 1 2 1 2 2 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
> 
> 2 0 1 0 0 0 1 0 0 1 1 0 0 1 0 1 0 1 0 0 1 0 2 1 1 1 1 2 1 1 1 1 1 1 2 1 1
> 
> Or to summarise by trigram:
> 
> (~.@; trig);|: <: #/.~&> supertrig
> 
> +---+---+
> 
> |ggt|1 2|
> 
> |gta|2 0|
> 
> |taa|1 1|
> 
> |aaa|2 0|
> 
> |aat|1 0|
> 
> |atg|1 0|
> 
> |tga|2 1|
> 
> |gac|1 0|
> 
> |act|1 0|
> 
> |ctg|1 1|
> 
> |tgt|1 1|
> 
> |tag|1 0|
> 
> |agt|2 0|
> 
> |gtg|1 1|
> 
> |gaa|2 0|
> 
> |aag|2 1|
> 
> |aga|1 0|
> 
> |agg|1 1|
> 
> |gga|1 0|
> 
> |gag|1 0|
> 
> |gtc|1 1|
> 
> |tcc|1 0|
> 
> |gat|0 2|
> 
> |att|0 1|
> 
> |tta|0 1|
> 
> |gtt|0 1|
> 
> |ttc|0 1|
> 
> |tcg|0 2|
> 
> |cgg|0 1|
> 
> |cga|0 1|
> 
> |ata|0 1|
> 
> |tac|0 1|
> 
> |acc|0 1|
> 
> |ccg|0 1|
> 
> |cgc|0 2|
> 
> |gcg|0 1|
> 
> |gca|0 1|
> 
> +---+---+
> 
> 
>> On Sat, Oct 12, 2019 at 4:40 PM 'Jim Russell' via Programming <
>> programm...@jsoftware.com> wrote:
>> 
>> Sure, thanks. I'm working to re-implement a text comparison program I did
>> using VBA & Microsoft Access a number of years back.
>> 
>> The object is to compare two text documents and see how similar one is to
>> the other by  comparing the number of unique trigrams that are found in
>> each.
>> For each text string a table of trigrams is constructed with the
>> expression 3,\x. The resulting table of 3-character samples m is then
>> tallied using #/.~m . This yields a vector of counts of each unique trigram
>> corresponding to (an unseen) nub of m. The count, and a copy of the nub of
>> m, represent a summary of the text in string x.
>> This same process then repeated to creat a smry for the second string, y.
>> 
>> The next step in the process is to assign a score of 0 to 1 based on a
>> comparison of the two string summaries. It would seem sensible to compare
>> the nub of the two text strings to each other. What is the difference in
>> counts between the trigrams they have in common, and how many trigram hits
>> for each are unique?
>> That is where using nub1 #/. nub2 would be attractive, were it not
>> required that the arguments had the same row counts, and Key could not
>> count unmatched rows.
>> 
>> As it stands, I fear I am duplicating effort to find the nubs in preparing
>> the summaries, and again if I have to use i. to calculate the scores. If I
>> get a vector result when I use key on vectors, might I expect a table
>> result (including the counts and the nub) when key is applied to tables?
>> 
>> Or is there a more appropriate approach? (In access and VBA, I used
>> dictionary objects with 3 character keys, as I recall. But I was very
>> pleasantly surprised at how well the 3 character trigrams recognized text
>> similarities.)
>> 
>> I really appreciate any insights you might have, Ric, and thanks for
>> tolerating my ignorance.
>> 
>>>> On Oct 11, 2019, at 10:23 PM, Ric Sherlock  wrote:
>>> 
>>> Not sure I'm understanding your questions. Maybe including some of the
>>> expressions you've tried to illustrate your points would help?
>> 
>> --
>> For information about J forums see http://www.jsoftware.com/forums.htm
>> 
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] x u/. y Key

2019-10-11 Thread 'Jim Russell' via Programming
Sure, thanks. I'm working to re-implement a text comparison program I did using 
VBA & Microsoft Access a number of years back. 

The object is to compare two text documents and see how similar one is to the 
other by  comparing the number of unique trigrams that are found in each. 
For each text string a table of trigrams is constructed with the expression 
3,\x. The resulting table of 3-character samples m is then tallied using #/.~m 
. This yields a vector of counts of each unique trigram corresponding to (an 
unseen) nub of m. The count, and a copy of the nub of m, represent a summary of 
the text in string x. 
This same process then repeated to creat a smry for the second string, y. 

The next step in the process is to assign a score of 0 to 1 based on a 
comparison of the two string summaries. It would seem sensible to compare the 
nub of the two text strings to each other. What is the difference in counts 
between the trigrams they have in common, and how many trigram hits for each 
are unique?
That is where using nub1 #/. nub2 would be attractive, were it not required 
that the arguments had the same row counts, and Key could not count unmatched 
rows. 

As it stands, I fear I am duplicating effort to find the nubs in preparing the 
summaries, and again if I have to use i. to calculate the scores. If I get a 
vector result when I use key on vectors, might I expect a table result 
(including the counts and the nub) when key is applied to tables?

Or is there a more appropriate approach? (In access and VBA, I used dictionary 
objects with 3 character keys, as I recall. But I was very pleasantly surprised 
at how well the 3 character trigrams recognized text similarities.)
 
I really appreciate any insights you might have, Ric, and thanks for tolerating 
my ignorance.

> On Oct 11, 2019, at 10:23 PM, Ric Sherlock  wrote:
> 
> Not sure I'm understanding your questions. Maybe including some of the
> expressions you've tried to illustrate your points would help?

--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] x u/. y Key

2019-10-11 Thread 'Jim Russell' via Programming
I had high hopes for the functions of Key (particularly #/.~ M) for tallying 
the keys in a character matrix.  Playing with it, and replacing verb # with 
others (< or { or ;) just to try to better understand its behavior, answered 
one question that I had: was this some serendipitous marriage of a verb and an 
adverb, or some special code that needed some un-useful combination of symbols 
to invoke. It seems to be the latter (notice when I briefly considered trying 
“#” as a substitute verb). 

So a couple of new questions occurred:

• Why insist that the arguments need to agree in size.  Since the result is the 
length of the Nub of x, which is typically less than the rows of the arguments, 
who cares?

* Why isn’t the typical behavior of dyadic iota followed, where arguments of y 
not found in x are counted “off the end” of the size of the nub of x? In that 
case, Y could be compared to a completely different x, perhaps revealing no 
matches at all with a reset of vector of (0$#x),#y.  (My J is so poor I am 
probably saying that wrong, but hopefully you can guess what I mean.)

Would this improve the expression, or am I just flaunting my ignorance?



--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Joey's %. benchmark

2019-09-15 Thread 'Jim Russell' via Programming
I was not aware of that. Yet another reason to continue being impressed. 

> On Sep 8, 2019, at 4:43 PM, Roger Hui  wrote:
> 
> A further personal note:  The recursive QR and a couple of similar
> decompositions are how I got to Erdős 2.

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] iPad access to JHS

2019-08-30 Thread 'Jim Russell' via Programming
See responses below:

> On Aug 30, 2019, at 4:22 PM, Raul Miller  wrote:
> 
> I rarely use ipads, but all too often, on apple products, you need to
> use the command key where other people would use the control key.
> 
> So... does command-[ work?
Doesn't seem to, if I type cmd-[f I just type f. But that was typically a good 
insight.
> 
> That said, if it's not launching other pages, is the page you're on
> still working? (In other words, if you get rid of that page in your
> browser, can you bring it back up?)
Yes. I have the ijix tab open, and it seems to still be working, just not 
launching new tabs when I chose help/help or help/wiki nuvoc, etc. Things like 
help/info (which adds to the ijix tab), work ok.
> 
> [Or, if you can open the debugging tools (this might be control-click
> Inspect -- or it might be something like option command C) and get to
> the network tab, are the requests not happening, or are they getting
> error responses?]
No inspect, or network tab(?). I can get output from tools/debug,  but it will 
be a while and take some study to see if that applies. Also got a bunch of 
pages printed from tools/doc, which will keep me confused for quite a while.
> 
> Also:
> 
> This would be where you have J installed:
> /Users/Jim/j64-807
>
Yes it is.
> And, this would be where your J temp files and personal scripts are:
> /Users/Jim/j64-807-user
> 
That was my understanding, but at one point (when I thought maybe J was looking 
there for a config/65002.cfg file) I thought i saw it go away. Probably just 
cockpit trouble. Somehow a copy of this wound up on my Mac desktop a week or so 
ago.
> I hope some of this helps...

Thanks, it does!
> 
> Thanks,
> 
> -- 
> Raul
> 
> On Fri, Aug 30, 2019 at 3:50 PM 'Jim Russell' via Programming
>  wrote:
>> 
>> For a bit yesterday I thought I had finally succeeded in using JHS from my 
>> iPad on port 65002. Silly me!
>> 
>> Today, it is failing to launch any other web pages from the Help menu??
>> I continue to be amazed at the spooky sh*t I keep finding in my ignorance.  
>> Things like:
>> 1. Don't trust "~".
>> 2. Don't trust the font used to distinguish between what to type and 
>> narrative.
>> 3. Don't assume that what works in J console will work in a JHS session
>> 4. Don't assume the TextEdit on an old Mac will just edit your text like in 
>> the old days.
>> 5. Don't think I understand the difference between /Users/Jim/j64-807 and 
>> /Users/Jim/j64-807-user
>> 
>> 
>> In the meantime, I'm trying to find some substitutes for esc and fn-5 from 
>> my iPad soft or Bluetooth keyboard.  Ctrl-[ doesn't seem to work, nor does 
>> the fn key on my Logitech Slim Folio. Anybody?
>> --
>> For information about J forums see http://www.jsoftware.com/forums.htm
> --
> For information about J forums see http://www.jsoftware.com/forums.htm
--
For information about J forums see http://www.jsoftware.com/forums.htm


[Jprogramming] iPad access to JHS

2019-08-30 Thread 'Jim Russell' via Programming
For a bit yesterday I thought I had finally succeeded in using JHS from my iPad 
on port 65002. Silly me!

Today, it is failing to launch any other web pages from the Help menu??
I continue to be amazed at the spooky sh*t I keep finding in my ignorance.  
Things like:
1. Don't trust "~".
2. Don't trust the font used to distinguish between what to type and narrative.
3. Don't assume that what works in J console will work in a JHS session
4. Don't assume the TextEdit on an old Mac will just edit your text like in the 
old days.
5. Don't think I understand the difference between /Users/Jim/j64-807 and 
/Users/Jim/j64-807-user


In the meantime, I'm trying to find some substitutes for esc and fn-5 from my 
iPad soft or Bluetooth keyboard.  Ctrl-[ doesn't seem to work, nor does the fn 
key on my Logitech Slim Folio. Anybody?
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Prime Parallelograms

2019-08-28 Thread 'Jim Russell' via Programming
The output plot didn’t survive copy/paste to here, but substituting jp for 
plot, it works just fine using j701 on my iPhone . 
On Aug 28, 2019, at 10:16 AM, 'robert therriault' via Programming 
 wrote:
> 
> Hi everyone,
> 
> I just became aware of the work that Pete Corey has been doing in using J to 
> take on a series of Numberphile investigations with J. This is the most 
> recent and I think is worth a look. 
> 
> http://www.petecorey.com/blog/2019/08/26/prime-parallelograms/
> 
> Cheers, bob
> --
> For information about J forums see http://www.jsoftware.com/forums.htm
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] j901 beta-h available

2019-08-27 Thread 'Jim Russell' via Programming
You guys are just showing off!
   JVERSION 
|value error: JVERSION
   2!:7''
|domain error
|   2!:7''

(J701 - IOS)

> On Aug 27, 2019, at 2:40 PM, 'Pascal Jasmin' via Programming 
>  wrote:
> 
> 2!:7 ''
> 
> avx avx2
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Document Object Model

2019-08-27 Thread 'Jim Russell' via Programming
Free is important!

> On Aug 27, 2019, at 2:24 PM, Raul Miller  wrote:
> 
> I just meant to refer to the PE File Browser, which they offer for free.
> 
> I have not tried their other products.
> 
> FYI,
> 
> -- 
> Raul
> 
> On Tue, Aug 27, 2019 at 1:46 PM 'Jim Russell' via Programming
>  wrote:
>> 
>> Thanks. Looks pricey, now that I avoid  Windows environments. But I’m sure 
>> it would have much to teach me.
>> 
>>> On Aug 27, 2019, at 12:09 PM, Raul Miller  wrote:
>>> 
>>> In that case, you might also want to pick up
>>> https://www.softwareverify.com/cpp-pe-file-browser.php
>> 
>> --
>> For information about J forums see http://www.jsoftware.com/forums.htm
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Document Object Model

2019-08-27 Thread 'Jim Russell' via Programming
Thanks. Looks pricey, now that I avoid  Windows environments. But I’m sure it 
would have much to teach me. 

> On Aug 27, 2019, at 12:09 PM, Raul Miller  wrote:
> 
> In that case, you might also want to pick up
> https://www.softwareverify.com/cpp-pe-file-browser.php

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Document Object Model

2019-08-27 Thread 'Jim Russell' via Programming
Nope; dll’s are one of the lead items in my vast storehouse of ignorance. 
Thanks!

> On Aug 27, 2019, at 11:45 AM, Raul Miller  wrote:
> 
> Oh, and http://www.dependencywalker.com/ can be useful for having an
> understanding of the dlls underneath a wrapper dll.
> 
> But you probably already knew that.
> 
> Thanks,
> 
> -- 
> Raul
> 
>> On Tue, Aug 27, 2019 at 11:43 AM Raul Miller  wrote:
>> 
>> System.Windows.Forms.dll is another likely possibility, since that's
>> what exports the HtmlDocument class for windows.
>> 
>> Good luck,
>> 
>> --
>> Raul
>> 
>> On Mon, Aug 26, 2019 at 7:29 PM 'Jim Russell' via Programming
>>  wrote:
>>> 
>>> Yes, very much. As I recall, a single DOM handled all web pages; a class of 
>>> objects containing collections of headings, buttons, fields, etc. For any 
>>> particular page, a bit of inspection of the collection’s attributes might 
>>> be required to orient/validate the composition, but, save for major 
>>> changes, the object could be programmatically manipulated. But I may have 
>>> forgotten everything; I’ll look into your .dll approach. Thanks very much.
>>> 
>>>> On Aug 26, 2019, at 7:08 PM, Raul Miller  wrote:
>>>> 
>>>> On Mon, Aug 26, 2019 at 6:27 PM 'Jim Russell' via Programming
>>>>  wrote:
>>>>> I think the VBA and Java document object model are similar, if not
>>>>> the same. With it, a program can access a web page and all of its
>>>>> attributes (get text, change fields, click buttons, etc.)
>>>>> as an object, rather than resorting to screen scraping. I would
>>>>> assume that a J implementation would access the page hierarchy using
>>>>> the j-unique approach of locale class names and __numeric__ objects.
>>>> 
>>>> Well, first off: conceptually, if there's a windows dll that offers
>>>> what you want, you can use it from within J:
>>>> https://www.jsoftware.com/help/user/call_procedure.htm
>>>> 
>>>> So, for example, you could use Windows.Data.Xml.Dom.dll from inside J,
>>>> if that suited your needs.
>>>> 
>>>> That said, creating a J object to shadow each object in a DOM system
>>>> would run into a whole batch of memory management and synchronization
>>>> glitches. There's at least two different (conflicting) memory
>>>> management philosophies already in the windows DOM implementations,
>>>> and adding J objects would introduce a third. This could be done, but
>>>> it would be slow and it would require a deep understanding of all
>>>> three systems in some contexts. Personally, I would avoid that.
>>>> 
>>>> But, it could make sense to create one top-level J class to represent
>>>> the DOM interface, with an instance for each DOM document you were
>>>> working with. This would isolate the use of that interface from the
>>>> rest of the system. Here, you'd probably be working with numeric
>>>> representations of objects -- they  would just be external DOM objects
>>>> and not native J objects.
>>>> 
>>>> (You would still have to deal with some of those memory management
>>>> issues, but hopefully the direct use of the interface will take some
>>>> of the mystery out of them.)
>>>> 
>>>> I hope this helps,
>>>> 
>>>> --
>>>> Raul
>>>> --
>>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>> 
>>> --
>>> For information about J forums see http://www.jsoftware.com/forums.htm
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Document Object Model

2019-08-26 Thread 'Jim Russell' via Programming
Yes, very much. As I recall, a single DOM handled all web pages; a class of 
objects containing collections of headings, buttons, fields, etc. For any 
particular page, a bit of inspection of the collection’s attributes might be 
required to orient/validate the composition, but, save for major changes, the 
object could be programmatically manipulated. But I may have forgotten 
everything; I’ll look into your .dll approach. Thanks very much. 

> On Aug 26, 2019, at 7:08 PM, Raul Miller  wrote:
> 
> On Mon, Aug 26, 2019 at 6:27 PM 'Jim Russell' via Programming
>  wrote:
>> I think the VBA and Java document object model are similar, if not
>> the same. With it, a program can access a web page and all of its
>> attributes (get text, change fields, click buttons, etc.)
>> as an object, rather than resorting to screen scraping. I would
>> assume that a J implementation would access the page hierarchy using
>> the j-unique approach of locale class names and __numeric__ objects.
> 
> Well, first off: conceptually, if there's a windows dll that offers
> what you want, you can use it from within J:
> https://www.jsoftware.com/help/user/call_procedure.htm
> 
> So, for example, you could use Windows.Data.Xml.Dom.dll from inside J,
> if that suited your needs.
> 
> That said, creating a J object to shadow each object in a DOM system
> would run into a whole batch of memory management and synchronization
> glitches. There's at least two different (conflicting) memory
> management philosophies already in the windows DOM implementations,
> and adding J objects would introduce a third. This could be done, but
> it would be slow and it would require a deep understanding of all
> three systems in some contexts. Personally, I would avoid that.
> 
> But, it could make sense to create one top-level J class to represent
> the DOM interface, with an instance for each DOM document you were
> working with. This would isolate the use of that interface from the
> rest of the system. Here, you'd probably be working with numeric
> representations of objects -- they  would just be external DOM objects
> and not native J objects.
> 
> (You would still have to deal with some of those memory management
> issues, but hopefully the direct use of the interface will take some
> of the mystery out of them.)
> 
> I hope this helps,
> 
> -- 
> Raul
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] j901 beta-h available

2019-08-26 Thread 'Jim Russell' via Programming
Closing quote??

> On Aug 26, 2019, at 6:37 PM, Eric Iverson  wrote:
> 
> je_update_jpacman_'
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Document Object Model

2019-08-26 Thread 'Jim Russell' via Programming
I think the VBA and Java document object model are similar, if not the same. 
With it, a program can access a web page and all of its attributes (get text, 
change fields, click buttons, etc.) 
as an object, rather than resorting to screen scraping. I would assume that a J 
implementation would access the page hierarchy using the j-unique approach of 
locale class names and __numeric__ objects. 
> On Aug 26, 2019, at 6:06 PM, Raul Miller  wrote:
> 
> [message composed and "sent", earlier, but now gmail is telling me
> that it actually never got sent...]
> 
> On Mon, Aug 26, 2019 at 2:26 PM 'Jim Russell' via Programming
>  wrote:
>> In fact, JHS is the only J access still available on my old MacBook (JQT is 
>> no longer compatible.)  I hadn’t seen anything approaching DOM, but I’ll 
>> look again. Thanks.
> 
> You might want to describe what you are doing in a little more detail?
> 
> Older versions of 32 bit J support
> https://code.jsoftware.com/wiki/Addons/xml/sax -- for example -- which
> might be useful for some manipulations of an XHTML representation of a
> DOM. But there's still quite a bit of retooling needed, for more
> recent versions of 64 bit J to support all of what the older systems
> supported.
> 
> That said, if you want to specifically manipulate a DOM built by
> someone else, Javascript is where most of that community's effort has
> gone (and applications written in other languages may use Javascript
> for some DOM operations, though not necessarily on the same machine).
> 
> Thanks,
> 
> 
> --
> Raul
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Document Object Model

2019-08-26 Thread 'Jim Russell' via Programming
(From my iPhone, unless I reply to a forum message, I can’t see who the 
original sender is: thanks Bob ('robert therriault').
You have reminded me that I still can’t reliably reach my MacBook from my 
iPhone or iPad. If I enter a USER/PASS  from the JHS session ( port 65001) on 
my MacBook, I can invoke JHS on my iPad, but it conflicts with the JHS session 
on the Mac. The instructions at 
https://code.jsoftware.com/wiki/Guides/JHS/Server don’t work for me from a JHS 
session; I tried to create a 65002.cfg file but I can’t get that to work. And I 
have never found even basic documentation for JHS menu options. Anybody?

> On Aug 26, 2019, at 2:14 PM, 'robert therriault' via Programming 
>  wrote:
> 
> Hi Jim,
> 
> Have you looked at JHS, specifically the demos? I am not sure that it is what 
> you are looking for, but it does suggest an approach that has been used.
> 
> Cheers, bob
> 
>> On Aug 26, 2019, at 10:40 AM, 'Jim Russell' via Programming 
>>  wrote:
>> 
>> I am contemplating re-implementing an old VBA program in J. Is any 
>> equivalent HTML access available in The J libraries?
>> 
>> --
>> For information about J forums see http://www.jsoftware.com/forums.htm
> 
> --
> For information about J forums see http://www.jsoftware.com/forums.htm
--
For information about J forums see http://www.jsoftware.com/forums.htm


Re: [Jprogramming] Document Object Model

2019-08-26 Thread 'Jim Russell' via Programming
In fact, JHS is the only J access still available on my old MacBook (JQT is no 
longer compatible.)  I hadn’t seen anything approaching DOM, but I’ll look 
again. Thanks. 

> On Aug 26, 2019, at 2:14 PM, 'robert therriault' via Programming 
>  wrote:
> 
> Hi Jim,
> 
> Have you looked at JHS, specifically the demos? I am not sure that it is what 
> you are looking for, but it does suggest an approach that has been used.
> 
> Cheers, bob
> 
>> On Aug 26, 2019, at 10:40 AM, 'Jim Russell' via Programming 
>>  wrote:
>> 
>> I am contemplating re-implementing an old VBA program in J. Is any 
>> equivalent HTML access available in The J libraries?
>> 
>> --
>> For information about J forums see http://www.jsoftware.com/forums.htm
> 
> --
> For information about J forums see http://www.jsoftware.com/forums.htm

--
For information about J forums see http://www.jsoftware.com/forums.htm


  1   2   >