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&amp;data=02%7C01%7C%
> > 7C 
> > c059f09bd44446fc424708d61928c374%7C84df9e7fe9f640afb435aaaaaaaaaaaa%
> > 7C 
> > 1%7C0%7C636724060199447363&amp;sdata=OrnLHRv1N%2Fe5lnADLmIGobGEQkw5k
> > xY
> > mbnHMVx84AIs%3D&amp;reserved=0
> > 
> <https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcod
> >
> e.jsoftware.com%2Fwiki%2FVocabulary%2Fsquarelfco&amp;data=02%7C01%7C%7
> > Cc059f09bd44446fc424708d61928c374%7C84df9e7fe9f640afb435aaaaaaaaaaaa
> > %7 
> > C1%7C0%7C636724060199447363&amp;sdata=OrnLHRv1N%2Fe5lnADLmIGobGEQkw5
> > kx
> > YmbnHMVx84AIs%3D&amp;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&amp;data=02%7C01%7C%7C8d21472404434
> >>>>>> 85
> >>>>>> c
> >>>>>> 7f
> >>>>>> 8c08d61445ac18%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636
> >>>>>> 71
> >>>>>> 8
> >>>>>> 68
> >>>>>> 6798916834&amp;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&amp;data=02%7C01%7C%7Cc059f09bd44446fc424708d6
> >>>>>> 19
> >>>>>> 2
> >>>>>> 8c374%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636724060199
> >>>>>> 44
> >>>>>> 7
> >>>>>> 363&amp;sdata=7%2BW%2FWnVdGUyO5afICJRXaEqL4lZbDhslLmJ%2BUZmjYbA
> >>>>>> %3
> >>>>>> D
> >>>>>> &amp;reserved=0>%2Fforums.htm&amp;data=02%7C01%7C%7Cfbcf68689be
> >>>>>> d4
> >>>>>> e
> >>>>>> 31e2
> >>>>>> 8108d615b2cfcc%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636
> >>>>>> 72
> >>>>>> 0
> >>>>>> 25
> >>>>>> 5064176871&amp;sdata=0sleKYElksLSP%2BOT8BYYtyzcuL3GTBuL14taSrgJ
> >>>>>> QS
> >>>>>> 8
> >>>>>> %3
> >>>>>> D&amp;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&amp;data=02%7C01%7C%7Cc059f09bd44446fc424708d61928c3
> >>>>> 74
> >>>>> %
> >>>>> 7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636724060199447363&
> >>>>> am
> >>>>> p
> >>>>> ;sdata=XUS7U9Sp%2Fsu9gliyJpYPu%2BHef8xB0i5gk5HcNcCNgWY%3D&amp;re
> >>>>> se
> >>>>> r
> >>>>> ved=0>%2Fantivirus&amp;data=02%7C01%7C%7Cfbcf68689bed4e31e28108d
> >>>>> 6
> >>>>> 15b2cfcc%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C6367202550
> >>>>> 64
> >>>>> 1
> >>>>> 76
> >>>>> 871&amp;sdata=kMQGWHLjMejRbJOuSn5EvWU4j39TqVPCX73QNKV6k7g%3D&amp
> >>>>> ;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&amp;data=02%7C01%7C%7Cc059f09bd44446fc424708d619
> >>>>> 28
> >>>>> c
> >>>>> 374%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636724060199447
> >>>>> 36
> >>>>> 3
> >>>>> &amp;sdata=7%2BW%2FWnVdGUyO5afICJRXaEqL4lZbDhslLmJ%2BUZmjYbA%3D&
> >>>>> am
> >>>>> p
> >>>>> ;reserved=0>%2Fforums.htm&amp;data=02%7C01%7C%7Cfbcf68689bed4e31
> >>>>> e2
> >>>>> 8
> >>>>> 1
> >>>>> 08d615b2cfcc%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636720
> >>>>> 25
> >>>>> 5
> >>>>> 06
> >>>>> 4176871&amp;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&amp;data=02%7C01%7C%7Cc059f09bd44446fc424708d61928c
> >>>> 37
> >>>> 4
> >>>> %7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636724060199447363&
> >>>> am
> >>>> p
> >>>> ;sdata=I5dd02BNrDeI3jYXGw0GcF7sw%2BdPwPm2Fx4TjtCFsXI%3D&amp;reser
> >>>> ve
> >>>> d
> >>>> =0>%2Fforums.htm&amp;data=02%7C01%7C%7Cfbcf68689bed4e31e28108
> >>>> d615b2cfcc%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636720255
> >>>> 06
> >>>> 4
> >>>> 17
> >>>> 6871&amp;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&amp;data=02%7C01%7C%7Cfbcf68689bed4e31e
> >>> 28
> >>> 1
> >>> 08d615b2cfcc%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C63672025
> >>> 50
> >>> 6
> >>> 4176871&amp;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&amp;data=02%7C01%7C%7Cfbcf68689bed4e31
> >>> e2
> >>> 8
> >>> 108d615b2cfcc%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C6367202
> >>> 55
> >>> 0
> >>> 64176871&amp;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&amp;data=02%7C01%7C%7Ce7a73deaeb854a9b4
> >>> fc
> >>> 2
> >>> 08d616d9b2cc%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C63672152
> >>> 15
> >>> 8
> >>> 8434559&amp;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&amp;data=02%7C01%7C%7Ce7a73deaeb854a9b
> >>> 4f
> >>> c
> >>> 208d616d9b2cc%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C6367215
> >>> 21
> >>> 5
> >>> 88434559&amp;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&amp;data=02%7C01%7C%7Ce7a73deaeb854a9b4fc
> >> 20
> >> 8
> >> d616d9b2cc%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C63672152158
> >> 84
> >> 3
> >> 4559&amp;sdata=EFzoMQ0co%2BInvoiD40hpSqWLJ6gWZVRGz4EbFGlJOcQ%3D&amp
> >> ;r
> >> e
> >> served=0
> >> 
> <https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.
> >>
> jsoftware.com%2Fforums.htm&amp;data=02%7C01%7C%7Ce7a73deaeb854a9b4fc2
> >> 0
> >> 8d616d9b2cc%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C6367215215
> >> 88
> >> 4
> >> 34559&amp;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&amp;data=02%7C01%7C%7Cc059f09bd44446fc424
> >> 70
> >> 8
> >> d61928c374%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C63672406019
> >> 94
> >> 4
> >> 7363&amp;sdata=b9I4sMX5jSddFL6qyxLiN3W1DBv2S51N1UjbNoO6zVQ%3D&amp;r
> >> es
> >> e
> >> rved=0
> >> 
> <https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.
> >>
> jsoftware.com%2Fforums.htm&amp;data=02%7C01%7C%7Cc059f09bd44446fc4247
> >> 0
> >> 8d61928c374%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C6367240601
> >> 99
> >> 4
> >> 47363&amp;sdata=b9I4sMX5jSddFL6qyxLiN3W1DBv2S51N1UjbNoO6zVQ%3D&amp;
> >> 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&amp;data=02%7C01%7C%7Cc059f09bd44446fc4247
> > 08
> > d61928c374%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636724060199
> > 44 
> > 7363&amp;sdata=b9I4sMX5jSddFL6qyxLiN3W1DBv2S51N1UjbNoO6zVQ%3D&amp;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&amp;data=02%7C01%7C%7C237bc63d997246b70661
> > 08
> > d619416625%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636724166001
> > 41 
> > 8640&amp;sdata=Jp5nfDw%2B3SBLBgQKH84M2zVtZ72SONyBNlxcLSKaDaQ%3D&amp;
> > 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&amp;data=02%7C01%7C%7C237bc63d997246b7066108d6
>19416625%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C63672416600141864
>0&amp;sdata=Jp5nfDw%2B3SBLBgQKH84M2zVtZ72SONyBNlxcLSKaDaQ%3D&amp;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&amp;data=02%7C01%7C%7C919e497619ad428e956908d6
>198ca83b%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C63672448923576846
>7&amp;sdata=lo61DAxsCrYJWfdZ7JYexQBOPVnLhctTOxZiWhlZXcQ%3D&amp;reserved
>=0

----------------------------------------------------------------------
For information about J forums see 
https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.jsoftware.com%2Fforums.htm&amp;data=02%7C01%7C%7C919e497619ad428e956908d6198ca83b%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636724489235768467&amp;sdata=lo61DAxsCrYJWfdZ7JYexQBOPVnLhctTOxZiWhlZXcQ%3D&amp;reserved=0
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to