Thanks Martin, amore 5.75 240 12500amore 5.75 240 12500amore 5.75 240 12500amore 5.75 240 12500amore 5.75 240 12500amore 5.75 240 12500amore 5.75 240 12500amore 5.75 240 12500amore 5.75 240 12500amore 5.75 240 12500amore 5.75 240 12500amore 5.75 240 12500amore 5.75 240 12500amore 5.75 240 12500amore 5.75 240 12500amore 5.75 240 12500amore 5.75 240 12500 amore=: 13 : '({: y) * rmf % (1-(>: rmf=. 1200 %~ {. y)^- 1&{ y)' amort=: {: * (1200 %~ {.) % 1 - ([: >: 1200 %~ {.) ^ [: - 1&{ (amore 5.75 240 12500);amort 5.75 240 12500 ┌───────┬───────┐ │87.7604│87.7604│ └───────┴───────┘ amore {: * (1200 %~ {.) % 1 - ([: >: 1200 %~ {.) ^ [: - 1&{ amort {: * (1200 %~ {.) % 1 - ([: >: 1200 %~ {.) ^ [: - 1&{
How would you explain the appearance of 1200 ? Now we need to go from tacit to explicit. Also, maybe there will be more simplifications. Linda -----Original Message----- From: Programming <programming-boun...@forums.jsoftware.com> On Behalf Of Martin Kreuzer Sent: Thursday, September 13, 2018 11:22 AM To: programm...@jsoftware.com Subject: Re: [Jprogramming] Tacit form: How to handle intermediate This I put together independently a couple of days ago (sorry for possible similarities in other posts as I didn't check them all). NB. * amor | monad | y: list (of: annual rate [percent], no of periods (months), principal) NB. * amore (explicit) NB. * amort (tacit) NB. explicit, with body amor=: 3 : 0 NB. periodic amortization payment a= p * r % (1+r)^-n 'rap n p'=. y NB. rap: annual rate [percent], n: no of (monthly) periods, p: principal (loan) rmf=. rap%12*100 NB. monthly rate as fraction (instead of percent) a=. p * rmf % (1-(>: rmf)^-n) NB. monthly payment ) NB. explicit one-liner ({. , 1&{ ,: {:) 5.75 240 12500 NB. extracting values from list 5.75 240 12500 amore=: 13 : '({: y) * rmf % (1-(>: rmf=. 1200 %~ {. y)^- 1&{ y)' NB. tacit version (output from (13 :) - probably with room for improvement) amort=: {: * (1200 %~ {.) % 1 - ([: >: 1200 %~ {.) ^ [: - 1&{ amor 5.75 240 12500 87.7604 amore 5.75 240 12500 87.7604 amort 5.75 240 12500 87.7604 -M At 2018-09-13 14:34, you wrote: >Here are two tacit verb for pmt from Raul, > > >pmt1200=:(%<:)@D * 1 0 1 */ .# ] > pmt=: pmt1200@(%&1200 1 1) > pmt 5.75 240 12500 >87.7604 > > D >[: (^~ >:)/ (2 3$0 1 0 1 0 0) +/ .* ] > > pmt1200 >(% <:)@D * 1 0 1 */ .# ] > >Can anyone other than Raul or Rob) writ an explicit OR tacit single >sentence definition for: > >PMREX=: > >PMTTA=: > >Cheers, Linda > >(Raul and Bob can coach tacits and I'll respond to explicits) Try 5.75 >240 12500 > >-----Original Message----- >From: Programming ><programming-boun...@forums.jsoftware.com> On Behalf Of 'Rob >Hodgkinson' via Programming >Sent: Thursday, September 13, 2018 2:23 AM >To: programm...@jsoftware.com >Subject: Re: [Jprogramming] Tacit form: How to handle intermediate > >Ahh Iâm sorry Linda, that was my bad copy/paste into the email > >Please ignore previous email, I have ccorrected the transcript below >(and verified) so this should run without conflict (aside from being >careful of quotes on copy/paste perhaps): > >Raulâs functions: > D=:[: (^~ >:)/ (2 3$0 1 0 1 0 0) +/ .* ] > pmt1200=:(%<:)@D * 1 0 1 */ .# ] > pmt=: pmt1200@(%&1200 1 1) > pmt 5.75 240 12500 >87.7604 > >My revised input for 13 : is also included here, as I had a mis-copy >there too. > Da=:13 : '(^~ >:)/ (2 3$0 1 0 1 0 0) +/ .* > yâ NB. Removed the leading [: as not > required for explicit (I could have left it in, but Iâm trying to >exactly reproduce Raulâs tacit definitions above), and added last >term y to the explicit expression > pmt1200a=: 13 : '((%<:)@Da y) * 1 0 1 */ .# > yâ NB. Added last term y to the first and > last âtineâ of the fork Raul produced > pmta=: 13 : 'pmt1200a@(%&1200 1 1) > yâ NB. Added last term y (although > this is not required as composition can be applied directly as Raul >did without requiring explicit) > >NB. Letâs compare to Raulâs solution in email below ... > Da >[: (^~ >:)/ (2 3$0 1 0 1 0 0) +/ .* >] NB. Same definition as Raul above > pmt1200a >(% <:)@Da * 1 0 1 */ .# ] NB. Same > pmta >pmt1200a@(%&1200 1 1) NB. Same > > pmta 5.75 240 12500 >87.7604 >NB. Results match > > >Sorry if I confused with previous transcript paste. > > /Regards Rob > > > > On 13 Sep 2018, at 3:21 pm, LLinda Alvord > <lindaalvor...@outlook.com> wrote: > > > > Here's a problem. I'm not having trouble > with cut and paste so could you show the working version. > > > > Also do not remove caps [: from tacit > results as they are needed for the explicit versions you are writing > to work correctly. > > > > > > D=:[: (^~ >:)/ (2 3$0 1 0 1 0 0) +/ .* ] > > pmt1200a=:(%<:)@Da * 1 0 1 */ .# > > |value error: Da > > | pmt1200a=: (%<:)@Da*1 0 1*/ .# > > |[-1] c:\users\linda\j64-807-user\temp\15.ijs > > > > > > > > Linda > > > > -----Original Message----- > > From: Programming <programming-boun...@forums.jsoftware.com> On > > Behalf Of 'Rob Hodgkinson' via Programming > > Sent: Wednesday, September 12, 2018 11:26 PM > > To: programm...@jsoftware.com > > Subject: Re: [Jprogramming] Tacit form: How to handle intermediate > > > > Hi Linda, Raulâs functions may be input to 13: as shown here: > > > > Raulâs functions: > > D=:[: (^~ >:)/ (2 3$0 1 0 1 0 0) +/ .* ] > > pmt1200a=:(%<:)@Da * 1 0 1 */ .# > > pmta=:pmt1200@(%&1200 1 1) > > pmta 5.75 240 12500 > > 87.7604 > > > > Revised as input to 13 : (note in the below > the space required between â13â and â:â and that I have > âremovedâ any tacit addons (such as [:) to exactly reproduce > Raulâs tacit definitions ... > > Da=:13 : '(^~ >:)/ (2 3$0 1 0 1 0 0) +/ .* > yâ NB. Removed the leading [: > as not required for explicit (I could have left it in, but Iâm > trying to exactly reproduce Raulâs tacit definitions above), and > added last term y to the explicit expression > > pmt1200a=: 13 : '(%<:)@Da * 1 0 1 */ .# > yâ NB. Added last term y > > pmta=: 13 : 'pmt1200@(%&1200 1 1) > yâ NB. Added last term y > (although this is not required as composition can be applied directly > as Raul did) without requiring explicit) > > > > NB. Letâs compare to Raulâs solution in email below ... > > Da > > [: (^~ >:)/ (2 3$0 1 0 1 0 0) +/ .* > ] NB. Same definition as Raul > > pmt1200a > > [: (% <:)@Da [: * 1 0 1 */ .# > ] NB. Same > > pmta > > pmt1200@(%&1200 1 1) > > pmta 5.75 240 12500 > > 87.7604 > > > > HTH but if still unclear please expand ? > > > > For further reference re [: only having > meaning in tacit form (which is why I removed it for explicit form) it > may be helpful to read this link: > > > > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fco > > de > > .jsoftware.com%2Fwiki%2FVocabulary%2Fsquarelfco&data=02%7C01%7C% > > 7C > > c059f09bd44446fc424708d61928c374%7C84df9e7fe9f640afb435aaaaaaaaaaaa% > > 7C > > 1%7C0%7C636724060199447363&sdata=OrnLHRv1N%2Fe5lnADLmIGobGEQkw5k > > xY > > mbnHMVx84AIs%3D&reserved=0 > > > <https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcod > > > e.jsoftware.com%2Fwiki%2FVocabulary%2Fsquarelfco&data=02%7C01%7C%7 > > Cc059f09bd44446fc424708d61928c374%7C84df9e7fe9f640afb435aaaaaaaaaaaa > > %7 > > C1%7C0%7C636724060199447363&sdata=OrnLHRv1N%2Fe5lnADLmIGobGEQkw5 > > kx > > YmbnHMVx84AIs%3D&reserved=0> > > > > Thanks, Rob > > > > > >> On 13 Sep 2018, at 1:05 am, Linda Alvord > <lindaalvor...@outlook.com> wrote: > >> > >> > >> > >> When you'e're done f=: 13 :'... > >> > >> enter > >> f > >> > >> If the result is tacit there will be no x or > y. Instead you get a string of separate J symbols which J uses from > right to left to follow your instructions. > >> > >> I need a laptop to check. Raul's function. > >> > >> Linda > >> > >> > >> > >> ' > >> > >> Sent from my Verizon, Samsung Galaxy smartphone > >> -------- Original message -------- > >> From: Raul Miller <rauldmil...@gmail.com > >> <mailto:rauldmil...@gmail.com>> > >> Date: 9/10/18 12:55 AM (GMT-05:00) > >> To: Programming forum <programm...@jsoftware.com > >> <mailto:programm...@jsoftware.com>> > >> Subject: Re: [Jprogramming] Tacit form: How to handle intermediate > >> > >> x=:0 is bad form, so I am going to ignore that part. > >> > >> In fact, I'd eliminate all internal =: from > that definition and start with: > >> > >> pmt=: 3 : 0 > >> 0 pmt y > >> : > >> 'r t b'=. y > >> D=.(1 + r % 1200) ^ t > >> b*(r % 1200) * D % D - 1 > >> ) > >> > >> And our paranoia test is: > >> pmt 5.75 240 12500 > >> 87.7604 > >> > >> The next issue is that we're working with more than two values, > >> that makes it a bit complicated. > >> > >> On the other hand, we never use x - if it's provide we ignore it. > >> So I'm going to ignore it here. If that bothers you, use pmt=: pmt&] f. > >> after we've got the tacit expression. (Using f. on the final > >> expression will also protect from some damage if you happen to run > >> the original with it's D=: expression...). > >> > >> Anyways... > >> > >> To simplify this slightly, notice that we never want to use the > >> value of r. Instead, we always want r%1200. So we can divide y by > >> 1200 1 1 and work the remainder of the dyadic expression becomes: > >> > >> pmt1200=: 3 : 0 > >> 'r t b'=. y > >> D=.(1 + r) ^ t > >> b*r * D % D - 1 > >> ) > >> > >> A tacit expression to compute D directly from this y would be: > >> D=: [: (^~ >:)/ (2 3$0 1 0 1 0 0) +/ .* ] > >> > >> with that definition of D, pmt1200 can be > >> pmt1200 =: (%<:)@D * 1 0 1 */ .# ] > >> > >> and our tacit pmt becomes > >> pmt=: pmt1200@(%&1200 1 1) > >> > >> Trying it out: > >> pmt 5.75 240 12500 > >> 87.7604 > >> > >> Good enough? > >> > >> -- > >> Raul > >> On Sun, Sep 9, 2018 at 9:55 PM Linda Alvord > <lindaalvor...@outlook.com <mailto:lindaalvor...@outlook.com>> wrote: > >>> > >>> Here's a classic. Can anyone write this in tacit? > >>> > >>> NB. Mortgage is Rate Months Loan > >>> > >>> pmt=: 3 : 0 > >>> (x =: 0) pmt y > >>> : > >>> 'r t b'=:y > >>> D=:(1 + r % 1200) ^ t > >>> b*(r % 1200) * D % D - 1 > >>> ) > >>> > >>> pmt 5.75 240 12500 > >>> > >>> In 1961 I bought a house for $17,000. With > a loan of $12,000 at 5.75 interest for 20 years. As a tenured teacher > and a woman no bank would give me a mortgage but for 20 years I payed > the previous woman owner $87.77. At the last payment it just so > happened that I sold it. > >>> > >>> Linda > >>> > >>> -----Original Message----- > >>> From: Programming <programming-boun...@forums.jsoftware.com > >>> <mailto:programming-boun...@forums.jsoftware.com>> On Behalf Of > >>> 'Mike Day' via Programming > >>> Sent: Saturday, September 8, 2018 1:45 PM > >>> To: programm...@jsoftware.com <mailto:programm...@jsoftware.com> > >>> Subject: Re: [Jprogramming] Tacit form: How to handle intermediate > >>> > >>> Agreed on the "strong hint" in herona below. I got into that > >>> habit > >>> > >>> years ago in Fortran.... > >>> > >>> And Sorry for the unintentional extra characters. (I'm seeing > >>> > >>> A-circumflex where I'd typed space!) Just as well we're not talking APL! > >>> > >>> Mike > >>> > >>> > >>> On 08/09/2018 09:40, Martin Kreuzer wrote: > >>>> @Linda > >>>> > >>>> I think that your > >>>> heron=: 13 :'%:*/(s y),(s y)-y' > >>>> looks superior to my initial approach as it gathers _all four_ > >>>> factors under the (*/) Times Insert. > >>>> > >>>> btw "Hope you have good classes!" > >>>> > >>>> For quite some time, I don't have classes any more, but once in a > >>>> while do private tutoring; my last two students finished their > >>>> 'matura' at Easter this year (and one of them is on 'work & travel' > >>>> in New Zealand presently). > >>>> > >>>> @Mike > >>>> > >>>> Looking at your 'minor change' and the resulting tacit code, > >>>> methinks that (sy=. s - y) is giving the interpreter a much > >>>> stronger hint that there's a re-used > intemediate result than the construct (' ... [ s2=. > >>>> .... ') I used initially. > >>>> > >>>> -M > >>>> > >>>> At 2018-09-07 09:43, you wrote: > >>>> > >>>>> Fair enough,à it looks neat,à but doesn't deal with Martin > >>>>> Kreuzer's original requirement to apply s just the once, ie how > >>>>> should we handle the intermediate result, s? > >>>>> > >>>>> On the other hand, David Lambert and others propose variations > >>>>> on how to factor the formula so as to use the result of s. > >>>>> > >>>>> It's usually easy in explicit form,à harder in tacit form.à > >>>>> It seems to me that using 13 : ... is very helpful in developing > >>>>> a tacit form,à but it often fails to spot opportunities to > >>>>> save intermediate results.à 13 : ... isn't an optimising > >>>>> compiler - or is it? It certainly doesn't spot the opportunity > >>>>> to save the repeated (s y) in Linda's example. > >>>>> > >>>>> Somewhat to my surprise,à a minor change to Linda's explicit > >>>>> expression does result in a single applicaton of s in a quite > >>>>> elegant tacit form: > >>>>> > >>>>> à à à herona=: 13 :'%:*/sy,(sy=.s y)-y' > >>>>> > >>>>> à à à herona 3 4 5 > >>>>> > >>>>> > >>>>> > >>>>> à à à herona 5 12 13 > >>>>> > >>>>> 30 > >>>>> > >>>>> à à à herona > >>>>> > >>>>> [: %: [: */ s ([ , -) ] > >>>>> > >>>>> > >>>>> Cheers, > >>>>> > >>>>> Mike > >>>>> > >>>>> On 07/09/2018 08:19, Linda Alvord wrote: > >>>>>> It keeps getting simpler: > >>>>> > >>>>>> s=: 13 :'-:+/y' > >>>>>> heron=: 13 :'%:*/(s y),(s y)-y' > >>>>>> heron 3 4 5 > >>>>>> heron 4 5 6 > >>>>>> d > >>>>> > >>>>> > >>>>>> ;:'[: -: +/' > >>>>> > >>>>>> heron > >>>>> > >>>>>> ;:'[: %: [: */ s , s - ]' > >>>>>> > >>>>> > >>>>>> Explisit sentences are like English and the new language is the > >>>>>> computers J anguage. First learn the words and then learn to > >>>>>> read ghe ords in sentences. And just as you might when learning > >>>>>> Spanish, you might in time begin to speak it. > >>>>> > >>>>>> Linda > >>>>> > >>>>> > >>>>>> -----Original Message----- > >>>>>> From: Programming <programming-boun...@forums.jsoftware.com> On > >>>>>> Behalf Of David Lambert > >>>>>> Sent: Thursday, September 6, 2018 6:11 PM > >>>>>> To: programming <programm...@jsoftware.com> > >>>>>> Subject: Re: [Jprogramming] Tacit form: How to handle > >>>>>> intermediate > >>>>> > >>>>>> A hook can save recomputation. > >>>>> > >>>>>> (computation with original data and reused me)à (resuse me) > >>>>> > >>>>> > >>>>>> à à test=: [: %: ([: -: +/) * [: */ ([: -: +/) - ] > >>>>> > >>>>>> à à NB. play with the half factor à > à f=:à à à 4 %~ [: %: [: > >>>>>> */ (([ , (- +:))~ +/) > >>>>> > >>>>>> à à NB. shorter > >>>>> > >>>>>> à à NB.à à à c o m p u t a t i o > nà à à r e u s e à à g=:à à > >>>>>> à ([: %: [: */ [ , -)~à à à à ([: -: +/) > >>>>> > >>>>>> à à g2=:à à ([: %: [: */ [ , -)~ -:@:(+/) > >>>>> > >>>>> > >>>>>> à à %/ (g , test) 3?@:$0 > >>>>>> 1 > >>>>> > >>>>> > >>>>>> On 09/04/2018 08:00 AM, > programming-requ...@forums.jsoftware.com wrote: > >>>>>>> Date: Tue, 04 Sep 2018 11:50:43 +0000 > >>>>>>> From: Martin Kreuzer<i...@airkreuzer.com> > >>>>>>> To:programm...@jsoftware.com > >>>>>>> Subject: [Jprogramming] Tacit form: How to handle intermediate > >>>>>>> result..? > >>>>>>> Message-ID: > >>>>>>> <5b8e71a5.1c69fb81.65e5c.4a9esmtpin_added_miss...@mx.google.co > >>>>>>> m> > >>>>>>> Content-Type: text/plain; charset="us-ascii"; format=flowed > >>>>>>> > >>>>>>> Hi all - > >>>>>>> > >>>>>>> To calculate the area of a flat triangle, using Heron's > >>>>>>> formula, A(a,b,c)= sqrt( s2*(s2-a)*(s2-b)*(s2-c) ) I wrote a > >>>>>>> simple function doing this: > >>>>>>> > >>>>>>> * get the three sides (as list input y) > >>>>>>> * compute the half perimeter s2 > >>>>>>> * build the differences s2-y > >>>>>>> * build product > >>>>>>> * take square root > >>>>>>> > >>>>>>> My explicit solution looks like this > >>>>>>> > >>>>>>> taher=: 13 : '%: s2 * */ s2-y [ s2=. -: +/ y' > >>>>>>> > >>>>>>> and works > >>>>>>> > >>>>>>> taher 3 4 5 > >>>>>>> 6 > >>>>>>> > >>>>>>> Suggested tacit version looks like this (and works too) > >>>>>>> > >>>>>>> tahert=: [: %: ([: -: +/) * [: */ ([: -: +/) - ] > >>>>>>> > >>>>>>> Q: Is there a way to reference the intermediate result of ([: -: > >>>>>>> +/) the half perimeter s2 within the tacit expression, as has > >>>>>>> +been > >>>>>>> done in the explicit..? > >>>>>>> [Guess the interpreter takes care of this anyway; my question > >>>>>>> aims at whether a shorter formulation could be reached.] > >>>>>>> > >>>>>>> Thanks > >>>>>>> -M > >>>>>> --------------------------------------------------------------- > >>>>>> -- > >>>>>> - > >>>>>> -- > >>>>>> -- > >>>>>> For information about J forums see > >>>>>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F% > >>>>>> 2F > >>>>>> w > >>>>>> ww > >>>>>> .jsoftware.com%2Fforums.htm&data=02%7C01%7C%7C8d21472404434 > >>>>>> 85 > >>>>>> c > >>>>>> 7f > >>>>>> 8c08d61445ac18%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636 > >>>>>> 71 > >>>>>> 8 > >>>>>> 68 > >>>>>> 6798916834&sdata=Yuys8QE3yMvBtUraCohR9dRgPugZDeNaNh3BoBCzJj > >>>>>> U% > >>>>>> 3 > >>>>>> D& > >>>>>> amp;reserved=0 > >>>>>> --------------------------------------------------------------- > >>>>>> -- > >>>>>> - > >>>>>> -- > >>>>>> -- For information about J forums see > >>>>>> https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F% > >>>>>> 2F > >>>>>> w > >>>>>> ww > >>>>>> > <https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2>>>>> > > F > >>>>>> www> .jsoftware.com > >>>>>> > <https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2>>>>> > > F > >>>>>> jsoftware.com%2F&data=02%7C01%7C%7Cc059f09bd44446fc424708d6 > >>>>>> 19 > >>>>>> 2 > >>>>>> 8c374%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636724060199 > >>>>>> 44 > >>>>>> 7 > >>>>>> 363&sdata=7%2BW%2FWnVdGUyO5afICJRXaEqL4lZbDhslLmJ%2BUZmjYbA > >>>>>> %3 > >>>>>> D > >>>>>> &reserved=0>%2Fforums.htm&data=02%7C01%7C%7Cfbcf68689be > >>>>>> d4 > >>>>>> e > >>>>>> 31e2 > >>>>>> 8108d615b2cfcc%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636 > >>>>>> 72 > >>>>>> 0 > >>>>>> 25 > >>>>>> 5064176871&sdata=0sleKYElksLSP%2BOT8BYYtyzcuL3GTBuL14taSrgJ > >>>>>> QS > >>>>>> 8 > >>>>>> %3 > >>>>>> D&reserved=0 > >>>>> > >>>>> > >>>>> > >>>>> --- > >>>>> This email has been checked for viruses by Avast antivirus software. > >>>>> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F% > >>>>> 2F > >>>>> w > >>>>> ww > >>>>> > <https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2>>>> > > F > >>>>> www> .avast.com > >>>>> > <https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2F>>>> > > a > >>>>> vast.com%2F&data=02%7C01%7C%7Cc059f09bd44446fc424708d61928c3 > >>>>> 74 > >>>>> % > >>>>> 7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636724060199447363& > >>>>> am > >>>>> p > >>>>> ;sdata=XUS7U9Sp%2Fsu9gliyJpYPu%2BHef8xB0i5gk5HcNcCNgWY%3D&re > >>>>> se > >>>>> r > >>>>> ved=0>%2Fantivirus&data=02%7C01%7C%7Cfbcf68689bed4e31e28108d > >>>>> 6 > >>>>> 15b2cfcc%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C6367202550 > >>>>> 64 > >>>>> 1 > >>>>> 76 > >>>>> 871&sdata=kMQGWHLjMejRbJOuSn5EvWU4j39TqVPCX73QNKV6k7g%3D& > >>>>> ;r > >>>>> e > >>>>> se > >>>>> rved=0 > >>>>> ---------------------------------------------------------------- > >>>>> -- > >>>>> - > >>>>> -- > >>>>> - For information about J forums see > >>>>> > https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww > <https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww>. > >>>>> jsoftware.com > >>>>> > <https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2F>>>> > > j > >>>>> software.com%2F&data=02%7C01%7C%7Cc059f09bd44446fc424708d619 > >>>>> 28 > >>>>> c > >>>>> 374%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636724060199447 > >>>>> 36 > >>>>> 3 > >>>>> &sdata=7%2BW%2FWnVdGUyO5afICJRXaEqL4lZbDhslLmJ%2BUZmjYbA%3D& > >>>>> am > >>>>> p > >>>>> ;reserved=0>%2Fforums.htm&data=02%7C01%7C%7Cfbcf68689bed4e31 > >>>>> e2 > >>>>> 8 > >>>>> 1 > >>>>> 08d615b2cfcc%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636720 > >>>>> 25 > >>>>> 5 > >>>>> 06 > >>>>> 4176871&sdata=0sleKYElksLSP%2BOT8BYYtyzcuL3GTBuL14taSrgJQS8% > >>>>> 3D > >>>>> & > >>>>> am > >>>>> p;reserved=0 > >>>> > >>>> ----------------------------------------------------------------- > >>>> -- > >>>> - > >>>> -- > >>>> For information about J forums see > >>>> https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2F > >>>> ww > >>>> w > >>>> .j > >>>> > <https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fw>>> > > w > >>>> w.j> software.com > >>>> > <https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fs>>> > > o > >>>> ftware.com%2F&data=02%7C01%7C%7Cc059f09bd44446fc424708d61928c > >>>> 37 > >>>> 4 > >>>> %7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636724060199447363& > >>>> am > >>>> p > >>>> ;sdata=I5dd02BNrDeI3jYXGw0GcF7sw%2BdPwPm2Fx4TjtCFsXI%3D&reser > >>>> ve > >>>> d > >>>> =0>%2Fforums.htm&data=02%7C01%7C%7Cfbcf68689bed4e31e28108 > >>>> d615b2cfcc%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636720255 > >>>> 06 > >>>> 4 > >>>> 17 > >>>> 6871&sdata=0sleKYElksLSP%2BOT8BYYtyzcuL3GTBuL14taSrgJQS8%3D&a > >>>> mp > >>>> ; > >>>> re > >>>> served=0 > >>> > >>> ------------------------------------------------------------------ > >>> -- > >>> - > >>> - For information about J forums see > >>> https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww. > >>> jsoftware.com%2Fforums.htm&data=02%7C01%7C%7Cfbcf68689bed4e31e > >>> 28 > >>> 1 > >>> 08d615b2cfcc%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C63672025 > >>> 50 > >>> 6 > >>> 4176871&sdata=0sleKYElksLSP%2BOT8BYYtyzcuL3GTBuL14taSrgJQS8%3D > >>> &a > >>> m > >>> p;reserved=0 > >>> <https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2F > >>> ww>>> w > >>> .jsoftware.com%2Fforums.htm&data=02%7C01%7C%7Cfbcf68689bed4e31 > >>> e2 > >>> 8 > >>> 108d615b2cfcc%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C6367202 > >>> 55 > >>> 0 > >>> 64176871&sdata=0sleKYElksLSP%2BOT8BYYtyzcuL3GTBuL14taSrgJQS8%3 > >>> D& > >>> a > >>> mp;reserved=0> > >>> ------------------------------------------------------------------ > >>> -- > >>> - > >>> - For information about J forums see > >>> https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww. > >>> jsoftware.com%2Fforums.htm&data=02%7C01%7C%7Ce7a73deaeb854a9b4 > >>> fc > >>> 2 > >>> 08d616d9b2cc%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C63672152 > >>> 15 > >>> 8 > >>> 8434559&sdata=EFzoMQ0co%2BInvoiD40hpSqWLJ6gWZVRGz4EbFGlJOcQ%3D > >>> &a > >>> m > >>> p;reserved=0 > >>> > <https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fww>> > > w > >>> .jsoftware.com%2Fforums.htm&data=02%7C01%7C%7Ce7a73deaeb854a9b > >>> 4f > >>> c > >>> 208d616d9b2cc%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C6367215 > >>> 21 > >>> 5 > >>> 88434559&sdata=EFzoMQ0co%2BInvoiD40hpSqWLJ6gWZVRGz4EbFGlJOcQ%3 > >>> D& > >>> a > >>> mp;reserved=0> > >> ------------------------------------------------------------------- > >> -- > >> - > >> For information about J forums see > >> https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww. > >> j > >> software.com%2Fforums.htm&data=02%7C01%7C%7Ce7a73deaeb854a9b4fc > >> 20 > >> 8 > >> d616d9b2cc%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C63672152158 > >> 84 > >> 3 > >> 4559&sdata=EFzoMQ0co%2BInvoiD40hpSqWLJ6gWZVRGz4EbFGlJOcQ%3D& > >> ;r > >> e > >> served=0 > >> > <https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww. > >> > jsoftware.com%2Fforums.htm&data=02%7C01%7C%7Ce7a73deaeb854a9b4fc2 > >> 0 > >> 8d616d9b2cc%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C6367215215 > >> 88 > >> 4 > >> 34559&sdata=EFzoMQ0co%2BInvoiD40hpSqWLJ6gWZVRGz4EbFGlJOcQ%3D&am > >> p; > >> r > >> eserved=0> > >> ------------------------------------------------------------------- > >> -- > >> - > >> For information about J forums see > >> https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww. > >> j > >> software.com%2Fforums.htm&data=02%7C01%7C%7Cc059f09bd44446fc424 > >> 70 > >> 8 > >> d61928c374%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C63672406019 > >> 94 > >> 4 > >> 7363&sdata=b9I4sMX5jSddFL6qyxLiN3W1DBv2S51N1UjbNoO6zVQ%3D&r > >> es > >> e > >> rved=0 > >> > <https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww. > >> > jsoftware.com%2Fforums.htm&data=02%7C01%7C%7Cc059f09bd44446fc4247 > >> 0 > >> 8d61928c374%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C6367240601 > >> 99 > >> 4 > >> 47363&sdata=b9I4sMX5jSddFL6qyxLiN3W1DBv2S51N1UjbNoO6zVQ%3D& > >> re > >> s > >> erved=0> > > -------------------------------------------------------------------- > > -- > > For information about J forums see > > https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww > > .j > > software.com%2Fforums.htm&data=02%7C01%7C%7Cc059f09bd44446fc4247 > > 08 > > d61928c374%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636724060199 > > 44 > > 7363&sdata=b9I4sMX5jSddFL6qyxLiN3W1DBv2S51N1UjbNoO6zVQ%3D&re > > se > > rved=0 > > -------------------------------------------------------------------- > > -- > > For information about J forums see > > https://eur02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww > > .j > > software.com%2Fforums.htm&data=02%7C01%7C%7C237bc63d997246b70661 > > 08 > > d619416625%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636724166001 > > 41 > > 8640&sdata=Jp5nfDw%2B3SBLBgQKH84M2zVtZ72SONyBNlxcLSKaDaQ%3D& > > re > > served=0 > >---------------------------------------------------------------------- >For information about J forums see >https://eur02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.js >oftware.com%2Fforums.htm&data=02%7C01%7C%7C237bc63d997246b7066108d6 >19416625%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C63672416600141864 >0&sdata=Jp5nfDw%2B3SBLBgQKH84M2zVtZ72SONyBNlxcLSKaDaQ%3D&reserv >ed=0 >---------------------------------------------------------------------- >For information about J forums see >https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.js >oftware.com%2Fforums.htm&data=02%7C01%7C%7C919e497619ad428e956908d6 >198ca83b%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C63672448923576846 >7&sdata=lo61DAxsCrYJWfdZ7JYexQBOPVnLhctTOxZiWhlZXcQ%3D&reserved >=0 ---------------------------------------------------------------------- For information about J forums see https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.jsoftware.com%2Fforums.htm&data=02%7C01%7C%7C919e497619ad428e956908d6198ca83b%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636724489235768467&sdata=lo61DAxsCrYJWfdZ7JYexQBOPVnLhctTOxZiWhlZXcQ%3D&reserved=0 ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm