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%2Fcode
> .jsoftware.com%2Fwiki%2FVocabulary%2Fsquarelfco&data=02%7C01%7C%7C
> c059f09bd44446fc424708d61928c374%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C
> 1%7C0%7C636724060199447363&sdata=OrnLHRv1N%2Fe5lnADLmIGobGEQkw5kxY
> 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%2Fe5lnADLmIGobGEQkw5kx
> 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.com>
>>>>>>> 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%7C8d2147240443485
>>>>>> c
>>>>>> 7f
>>>>>> 8c08d61445ac18%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C63671
>>>>>> 8
>>>>>> 68
>>>>>> 6798916834&sdata=Yuys8QE3yMvBtUraCohR9dRgPugZDeNaNh3BoBCzJjU%
>>>>>> 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%7Cc059f09bd44446fc424708d619
>>>>>> 2
>>>>>> 8c374%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C63672406019944
>>>>>> 7
>>>>>> 363&sdata=7%2BW%2FWnVdGUyO5afICJRXaEqL4lZbDhslLmJ%2BUZmjYbA%3
>>>>>> D
>>>>>> &reserved=0>%2Fforums.htm&data=02%7C01%7C%7Cfbcf68689bed4
>>>>>> e
>>>>>> 31e2
>>>>>> 8108d615b2cfcc%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C63672
>>>>>> 0
>>>>>> 25
>>>>>> 5064176871&sdata=0sleKYElksLSP%2BOT8BYYtyzcuL3GTBuL14taSrgJQS
>>>>>> 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%7Cc059f09bd44446fc424708d61928c374
>>>>> %
>>>>> 7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636724060199447363&am
>>>>> p
>>>>> ;sdata=XUS7U9Sp%2Fsu9gliyJpYPu%2BHef8xB0i5gk5HcNcCNgWY%3D&rese
>>>>> r
>>>>> ved=0>%2Fantivirus&data=02%7C01%7C%7Cfbcf68689bed4e31e28108d6
>>>>> 15b2cfcc%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636720255064
>>>>> 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%7Cc059f09bd44446fc424708d61928
>>>>> c
>>>>> 374%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C63672406019944736
>>>>> 3
>>>>> &sdata=7%2BW%2FWnVdGUyO5afICJRXaEqL4lZbDhslLmJ%2BUZmjYbA%3D&am
>>>>> p
>>>>> ;reserved=0>%2Fforums.htm&data=02%7C01%7C%7Cfbcf68689bed4e31e2
>>>>> 8
>>>>> 1
>>>>> 08d615b2cfcc%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C63672025
>>>>> 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%2Fww
>>>> 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%7Cc059f09bd44446fc424708d61928c37
>>>> 4
>>>> %7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636724060199447363&am
>>>> p
>>>> ;sdata=I5dd02BNrDeI3jYXGw0GcF7sw%2BdPwPm2Fx4TjtCFsXI%3D&reserve
>>>> d
>>>> =0>%2Fforums.htm&data=02%7C01%7C%7Cfbcf68689bed4e31e28108
>>>> d615b2cfcc%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C63672025506
>>>> 4
>>>> 17
>>>> 6871&sdata=0sleKYElksLSP%2BOT8BYYtyzcuL3GTBuL14taSrgJQS8%3D&
>>>> ;
>>>> 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%7Cfbcf68689bed4e31e28
>>> 1
>>> 08d615b2cfcc%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C6367202550
>>> 6
>>> 4176871&sdata=0sleKYElksLSP%2BOT8BYYtyzcuL3GTBuL14taSrgJQS8%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%7Cfbcf68689bed4e31e2
>>> 8
>>> 108d615b2cfcc%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636720255
>>> 0
>>> 64176871&sdata=0sleKYElksLSP%2BOT8BYYtyzcuL3GTBuL14taSrgJQS8%3D&
>>> 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%7Ce7a73deaeb854a9b4fc
>>> 2
>>> 08d616d9b2cc%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C6367215215
>>> 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%7Ce7a73deaeb854a9b4f
>>> c
>>> 208d616d9b2cc%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636721521
>>> 5
>>> 88434559&sdata=EFzoMQ0co%2BInvoiD40hpSqWLJ6gWZVRGz4EbFGlJOcQ%3D&
>>> 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%7Ce7a73deaeb854a9b4fc20
>> 8
>> d616d9b2cc%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C6367215215884
>> 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%7C636721521588
>> 4
>> 34559&sdata=EFzoMQ0co%2BInvoiD40hpSqWLJ6gWZVRGz4EbFGlJOcQ%3D&
>> 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%7Cc059f09bd44446fc42470
>> 8
>> d61928c374%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C6367240601994
>> 4
>> 7363&sdata=b9I4sMX5jSddFL6qyxLiN3W1DBv2S51N1UjbNoO6zVQ%3D&res
>> 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%7C636724060199
>> 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%7Cc059f09bd44446fc424708
> d61928c374%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C63672406019944
> 7363&sdata=b9I4sMX5jSddFL6qyxLiN3W1DBv2S51N1UjbNoO6zVQ%3D&rese
> 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%7C237bc63d997246b7066108
> d619416625%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C63672416600141
> 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.jsoftware.com%2Fforums.htm&data=02%7C01%7C%7C237bc63d997246b7066108d619416625%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636724166001418640&sdata=Jp5nfDw%2B3SBLBgQKH84M2zVtZ72SONyBNlxcLSKaDaQ%3D&reserved=0
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm