The lr of (`(<(":0);_)) (`:6) should be itself.

in addition to Jose's a2 bug (`_) which does not produce the atomic 
representation of _ when executed, there is also

(<'0';3)`

<'0';3`  (here ` binds with 3, and not the entire expression to the left of `)  
There is no bug for `(<'0';3)

What is desired is for LRs to be executable.

A perfectly reasonable alternative that would improve readability is if:

" 3`verb_or_literal_or_gerund " produced the same result as (ar of 3)`((ar of 
verb_or_literal) or intact gerund) 

A simplification for gerund here, could remain isboxed

currently 3`5 will produce the list 3 5.  The proposal would be (arof 3),(arof 
5)

currently 3`+ is an incompatible type error from , .  Proposal would be (arof 
3),(arof +)

currently  a:`+ is "valid" because of compatible boxed arguments to , .  The 
best would be to check if each side is a gerund (we have code for this), and AR 
it if not, before joining. Assuming boxes are close enough to gerunds (or 
leaving them unchanged for whatever other reason) is quicker parsing, but it 
means that `a: or `(<< 'some nested structure' ) would not be the LR that 
represents joining to the AR of a:

>

What I read here is complaining.  What I am asking for is a suggestion 
for action.  What should be changed, and how, to make the system you want?

Henry Rich

On 3/2/2020 9:51 PM, Jose Mario Quintana wrote:
> The issue, to me, is not reflected in your example (wherein that context
> makes sense to replace the AR).  Consider instead the following adverb,
>
>    a2=. (`(<(":0);_)) (`:6)
>
>    a2
> (`_)(`:6)
>
>    (5!:5)<'a2'
> (`_)(`:6)
>
> The issue, in this context, is that,
>
>    b2=. (`_)(`:6)  NB. defined using the LR of a2
>
>    (5!:1)<'b2'
> ┌──────────────────────────────────┐
> │┌─┬──────────────────────────────┐│
> ││4│┌─────────────┬──────────────┐││
> ││ ││┌─┬─────────┐│┌─┬──────────┐│││
> ││ │││4│┌─┬─────┐│││4│┌──┬─────┐││││
> ││ │││ ││`│┌─┬─┐││││ ││`:│┌─┬─┐│││││
> ││ │││ ││ ││0│_│││││ ││  ││0│6││││││
> ││ │││ ││ │└─┴─┘││││ ││  │└─┴─┘│││││
> ││ │││ │└─┴─────┘│││ │└──┴─────┘││││
> ││ ││└─┴─────────┘│└─┴──────────┘│││
> ││ │└─────────────┴──────────────┘││
> │└─┴──────────────────────────────┘│
> └──────────────────────────────────┘
>
> is not the same adverb as a2
>
>    (5!:1)<'a2'
> ┌────────────────────────────────────────┐
> │┌─┬────────────────────────────────────┐│
> ││4│┌───────────────────┬──────────────┐││
> ││ ││┌─┬───────────────┐│┌─┬──────────┐│││
> ││ │││4│┌─┬───────────┐│││4│┌──┬─────┐││││
> ││ │││ ││`│┌─┬───────┐││││ ││`:│┌─┬─┐│││││
> ││ │││ ││ ││0│┌─────┐│││││ ││  ││0│6││││││
> ││ │││ ││ ││ ││┌─┬─┐││││││ ││  │└─┴─┘│││││
> ││ │││ ││ ││ │││0│_│││││││ │└──┴─────┘││││
> ││ │││ ││ ││ ││└─┴─┘│││││└─┴──────────┘│││
> ││ │││ ││ ││ │└─────┘││││              │││
> ││ │││ ││ │└─┴───────┘│││              │││
> ││ │││ │└─┴───────────┘││              │││
> ││ ││└─┴───────────────┘│              │││
> ││ │└───────────────────┴──────────────┘││
> │└─┴────────────────────────────────────┘│
> └────────────────────────────────────────┘
>
> In other words, the LR of a2 is faulty.
>
>
>
> On Mon, Mar 2, 2020 at 7:03 PM Henry Rich <henryhr...@gmail.com> wrote:
>
>> I am trying to follow this to see if there is a bug that needs fixing.
>> That has not been made clear to me.  I observe
>>
>>
>>      (f@g)`h`]
>> +---------+-+-+
>> |+-+-----+|h|]|
>> ||@|+-+-+|| | |
>> || ||f|g||| | |
>> || |+-+-+|| | |
>> |+-+-----+| | |
>> +---------+-+-+
>>      (f@g)`h`] `: 6
>> +-------+-+-+
>> |+-+-+-+|h|]|
>> ||f|@|g|| | |
>> |+-+-+-+| | |
>> +-------+-+-+
>> f@g h ]
>>
>> In the linear-rep display, the AR in the first box has been replaced
>> with a value that has the same AR, to make the display easier to read.
>>
>>      (<,'0';3)`h`]
>> +-----+-+-+
>> |+-+-+|h|]|
>> ||0|3|| | |
>> |+-+-+| | |
>> +-----+-+-+
>>      (<,'0';3)`h`] `: 6
>> +-+-+-+
>> |3|h|]|
>> +-+-+-+
>> 3 h ]
>>
>> The same thing has been done here, but you don't like that.  Can you
>> give a clear statement of what you would like changed, for example
>> "don't replace the AR of a noun with the display value - write the AR in
>> full".  As stated that would not be a good idea, because
>>
>>      a =. 3 h ]
>>      5!:1 <'a'
>> +---------------+
>> |+-+-----------+|
>> ||3|+-----+-+-+||
>> || ||+-+-+|h|]|||
>> || |||0|3|| | |||
>> || ||+-+-+| | |||
>> || |+-----+-+-+||
>> |+-+-----------+|
>> +---------------+
>>      a
>> 3 h ]
>>
>> Replacing the noun's AR is good in this case.  What statement would you
>> endorse?
>>
>> Henry Rich
>>
>>
>> On 3/2/2020 6:46 PM, Jose Mario Quintana wrote:
>>>    > Any definition of gerunds limited to atomic representations of verbs
>> is
>>> an oversimplification (for natural language gramatical analogy).  It
>> should
>>> be atomic representations without limitations. @. and `:6 can produce
>> nouns
>>> and modifiers from their atomic representations.
>>>
>>> I fully agree with you (except that, to me, the name gerund would be
>>> irrelevant as long as, for example, (`:6) would continue to make sense of
>>> those forms); I would go even further.  I would include *anything* that
>>> (`:6) can take and make sense of it (at least up to J807), these include
>>> forms that are not necessarily confined to lists of atomic
>> representations;
>>> I included a couple in my first post, to wit,
>>>
>>>      (9!:3) 5 2  NB. Box (display) and linear representations...
>>>
>>>      (<(<<(,'0');3),(<,'+'),<<(,'0');5),(<,'*'),<<(,'0');2  NB. (3 + 5) *
>> 2
>>> ┌───────────────────┬─┬───────┐
>>> │┌───────┬─┬───────┐│*│┌─────┐│
>>> ││┌─────┐│+│┌─────┐││ ││┌─┬─┐││
>>> │││┌─┬─┐││ ││┌─┬─┐│││ │││0│2│││
>>> ││││0│3│││ │││0│5││││ ││└─┴─┘││
>>> │││└─┴─┘││ ││└─┴─┘│││ │└─────┘│
>>> ││└─────┘│ │└─────┘││ │      │
>>> │└───────┴─┴───────┘│ │      │
>>> └───────────────────┴─┴───────┘
>>>
>>>      ((<(<<(,'0');3),(<,'+'),<<(,'0');5),(<,'*'),<<(,'0');2) (`:6)
>>> 16
>>>
>>> and
>>>
>>>      (<(<,'"'),<<(,'0');1),<(<'@:'),<;:'>@:{'  NB. ("1)(@:(>@:{))
>>> ┌───────────┬─────────────┐
>>> │┌─┬───────┐│┌──┬────────┐│
>>> ││"│┌─────┐│││@:│┌─┬──┬─┐││
>>> ││ ││┌─┬─┐││││  ││>│@:│{│││
>>> ││ │││0│1│││││  │└─┴──┴─┘││
>>> ││ ││└─┴─┘│││└──┴────────┘│
>>> ││ │└─────┘││            │
>>> │└─┴───────┘│            │
>>> └───────────┴─────────────┘
>>>      ((<(<,'"'),<<(,'0');1),<(<'@:'),<;:'>@:{') (`:6)
>>> ("1)(@:(>@:{))
>>> ┌─────┬─────────────┐
>>> │┌─┬─┐│┌──┬────────┐│
>>> ││"│1│││@:│┌─┬──┬─┐││
>>> │└─┴─┘││  ││>│@:│{│││
>>> │    ││  │└─┴──┴─┘││
>>> │    │└──┴────────┘│
>>> └─────┴─────────────┘
>>>
>>>> The nuvoc page for ` includes the "gramatically" qualifier which makes
>> it
>>> an acceptable "simplification explainer"
>>>
>>> I hope you are correct.  However, it seems to me that both, the
>> Dictionary
>>> and NuVoc, imply that what is not explicitly allowed is forbidden.  If
>> so,
>>> NuVoc's entry for evoke (`:) reads "If m is a gerund,  m`:n creates a
>> verb
>>> based on m."  which would imply that, regardless of the implementation,
>>> producing anything else, apart from verbs, would be considered illegal (I
>>> would be glad to be corrected by the powers that be).
>>>
>>>> Your an definition differs from my ar definition in that ar accepts
>> verbs.
>>> You are right, of course; but, my (mildly tested) claim was that my
>> adverb
>>> ar=. an f.hg, not the verb an, is a tacit counterpart of your explicit
>>> adverb ar =: 1 : '5!:1 <''u''' and my adverb ar also accepts verbs (in
>>> addition to nouns),
>>>
>>>      <^:(L. < *@#) ar
>>> ┌─────────────────────────────┐
>>> │┌──┬────────────────────────┐│
>>> ││^:│┌─┬────────────────────┐││
>>> ││  ││<│┌─┬────────────────┐│││
>>> ││  ││ ││3│┌──┬─┬─────────┐││││
>>> ││  ││ ││ ││L.│<│┌─┬─────┐│││││
>>> ││  ││ ││ ││  │ ││@│┌─┬─┐││││││
>>> ││  ││ ││ ││  │ ││ ││*│#│││││││
>>> ││  ││ ││ ││  │ ││ │└─┴─┘││││││
>>> ││  ││ ││ ││  │ │└─┴─────┘│││││
>>> ││  ││ ││ │└──┴─┴─────────┘││││
>>> ││  ││ │└─┴────────────────┘│││
>>> ││  │└─┴────────────────────┘││
>>> │└──┴────────────────────────┘│
>>> └─────────────────────────────┘
>>>
>>>> I also use aar to handle modifiers (and names distinguished from
>> strings)
>>> It turns out that my ar (and yours as well) can deal with any word, not
>>> just nouns and verbs, if one can manage to pass the word as an argument.
>>> So, if I had to find the atomic representations of words defined in
>>> literals using an official J interpreter, I would use J807 or earlier and
>>> go the wicked tacit way using my J Tacit Toolkit...
>>>
>>>      l2a=. (Ver'ar') o train o as f.  NB. literal to atomic (verb)
>>>
>>>      l2a 'i.2 3'
>>> ┌─────────┐
>>> │┌─┬─────┐│
>>> ││0│0 1 2││
>>> ││ │3 4 5││
>>> │└─┴─────┘│
>>> └─────────┘
>>>      l2a '<^:(L. < *@#)'
>>> ┌─────────────────────────────┐
>>> │┌──┬────────────────────────┐│
>>> ││^:│┌─┬────────────────────┐││
>>> ││  ││<│┌─┬────────────────┐│││
>>> ││  ││ ││3│┌──┬─┬─────────┐││││
>>> ││  ││ ││ ││L.│<│┌─┬─────┐│││││
>>> ││  ││ ││ ││  │ ││@│┌─┬─┐││││││
>>> ││  ││ ││ ││  │ ││ ││*│#│││││││
>>> ││  ││ ││ ││  │ ││ │└─┴─┘││││││
>>> ││  ││ ││ ││  │ │└─┴─────┘│││││
>>> ││  ││ ││ │└──┴─┴─────────┘││││
>>> ││  ││ │└─┴────────────────┘│││
>>> ││  │└─┴────────────────────┘││
>>> │└──┴────────────────────────┘│
>>> └─────────────────────────────┘
>>>      l2a '("1)(@:(>@:{))'
>>> ┌───────────────────────────────────────┐
>>> │┌─┬───────────────────────────────────┐│
>>> ││4│┌─────────────┬───────────────────┐││
>>> ││ ││┌─┬─────────┐│┌─┬───────────────┐│││
>>> ││ │││4│┌─┬─────┐│││4│┌──┬──────────┐││││
>>> ││ │││ ││"│┌─┬─┐││││ ││@:│┌──┬─────┐│││││
>>> ││ │││ ││ ││0│1│││││ ││  ││@:│┌─┬─┐││││││
>>> ││ │││ ││ │└─┴─┘││││ ││  ││  ││>│{│││││││
>>> ││ │││ │└─┴─────┘│││ ││  ││  │└─┴─┘││││││
>>> ││ ││└─┴─────────┘││ ││  │└──┴─────┘│││││
>>> ││ ││            ││ │└──┴──────────┘││││
>>> ││ ││            │└─┴───────────────┘│││
>>> ││ │└─────────────┴───────────────────┘││
>>> │└─┴───────────────────────────────────┘│
>>> └───────────────────────────────────────┘
>>>      l2a '''bind'' f.'
>>> ┌───────────────────────┐
>>> │┌─┬───────────────────┐│
>>> ││:│┌─────┬───────────┐││
>>> ││ ││┌─┬─┐│┌─┬───────┐│││
>>> ││ │││0│2│││0│x@(y"_)││││
>>> ││ ││└─┴─┘│└─┴───────┘│││
>>> ││ │└─────┴───────────┘││
>>> │└─┴───────────────────┘│
>>> └───────────────────────┘
>>>      UNO=. 1
>>>      l2a '''UNO'' f.'
>>> ┌─────┐
>>> │┌─┬─┐│
>>> ││0│1││
>>> │└─┴─┘│
>>> └─────┘
>>>
>>> If I had to use J901 then, at least for now, I would use,
>>>
>>>    l2a=. verb : '(5!:1)<''y'' [ ".''y=. '' , y'
>>>
>>> and live with potential side effects,
>>>
>>>      UNO=. 1
>>>      l2a '''UNO''f.'
>>> ┌─────┐
>>> │┌─┬─┐│
>>> ││0│1││
>>> │└─┴─┘│
>>> └─────┘
>>>      y=. 1
>>>      l2a '''y''f.'
>>> ┌─────────┐
>>> │┌─┬─────┐│
>>> ││0│'y'f.││
>>> │└─┴─────┘│
>>> └─────────┘
>>>
>>>
>>> On Sun, Mar 1, 2020 at 12:03 PM 'Pascal Jasmin' via Programming <
>>> programm...@jsoftware.com> wrote:
>>>> Any definition of gerunds limited to atomic representations of verbs is
>>> an oversimplification (for natural language gramatical analogy).  It
>> should
>>> be atomic representations without limitations. @. and `:6 can produce
>> nouns
>>> and modifiers from their atomic representations.  The nuvoc page for `
>>> includes the "gramatically" qualifier which makes it an acceptable
>>> "simplification explainer"
>>>> In example 2 of that page,
>>>>
>>>> "NB. x is 3 gerunds; execute one on y, depending on the sign of y"
>>>>
>>>> mistakenly uses gerunds instead of "atomic representations"
>>>>
>>>> I've always used gerund to mean a list of atomic representations.  One
>>> basis to think so: +`'' produces  a list of one item
>>>> Your an definition differs from my ar definition in that ar accepts
>> verbs.
>>>> I also use aar to handle modifiers (and names distinguished from
>> strings)
>>>> aar =: 1 : 'if. isNoun ''u'' do. q =. m eval else. q =. u end. 5!:1 <
>>> ''q'''
>>>> eval =: 1 : 'if. 2 ~: 3!:0 m do. m else. a: 1 : m end.'
>>>>
>>>> isNoun =: (0 = 4!:0 ::0:)@:<
>>>>
>>>>
>>>> + aar
>>>>
>>>> ┌─┐
>>>>
>>>> │+│
>>>>
>>>> └─┘
>>>>
>>>> three =: 3
>>>>
>>>>      'three' ar
>>>>
>>>> ┌─────────┐
>>>>
>>>> │┌─┬─────┐│
>>>>
>>>> ││0│three││
>>>>
>>>> │└─┴─────┘│
>>>>
>>>> └─────────┘
>>>>
>>>> 'three' aar
>>>>
>>>> ┌─────┐
>>>>
>>>> │┌─┬─┐│
>>>>
>>>> ││0│3││
>>>>
>>>> │└─┴─┘│
>>>>
>>>> └─────┘
>>>>
>>>>
>>>>      '/\' aar
>>>>
>>>> ┌─┐
>>>>
>>>> │/│
>>>>
>>>> └─┘
>>>>
>>>> '/\' aar
>>>>
>>>> ┌─────────┐
>>>>
>>>> │┌─┬─────┐│
>>>>
>>>> ││4│┌─┬─┐││
>>>>
>>>> ││ ││/│\│││
>>>>
>>>> ││ │└─┴─┘││
>>>>
>>>> │└─┴─────┘│
>>>>
>>>> └─────────┘
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On Sunday, March 1, 2020, 09:07:05 a.m. EST, Jose Mario Quintana <
>>> jose.mario.quint...@gmail.com> wrote:
>>>>
>>>>
>>>>
>>>> In my previous post I wrote,
>>>>
>>>> "First I thought that only atomic representations of trains of verbs
>> were
>>>> allowed"
>>>>
>>>> but I should have written instead,
>>>>
>>>> "First I thought that only nouns representing trains of verbs under de
>>>> adverb train (`:6) were allowed"
>>>>
>>>> that is, for instance, ((u`v)`w) where u,v, and w are verbs is valid.
>>>>
>>>> (I should stop writing posts to the forum and watching fights
>>>> simultaneously.)
>>>>
>>>>
>>>>
>>>> On Sun, Mar 1, 2020 at 12:35 AM Jose Mario Quintana <
>>>> jose.mario.quint...@gmail.com> wrote:
>>>>> < Though that lr bug caused the problems with f. that we both have
>> noted
>>>> in the past.
>>>>> Right, I remember; however, I think the issue reverts back to what,
>>>> officially, a gerund is, or more generally what are admissible arguments
>>> to
>>>> train (`:6), agenda (@.), and tie (`) (and their products) because if an
>>>> entity is not valid a faulty linear representation of it might not be
>>>> regarded as a bug.
>>>>> On the one hand, the dictionary was ambiguous (and permissive in my
>>> mind)
>>>> on this subject but my understanding is that NuVoc is nowadays the
>>> official
>>>> documentation; thus, a gerund is "the atomic representation of a verb,
>> or
>>> a
>>>> list thereof"  (which among other things implies that your isgerund verb
>>>> might need to be revised or renamed).  After reading the tie (`) entry
>> is
>>>> not entirely clear to me what are valid values for n and m.  First I
>>>> thought that only atomic representations of trains of verbs were
>> allowed,
>>>> but apparently '' is also considered valid in some instances.  Perhaps,
>>> for
>>>> example, the use of (3 ar) in,
>>>>>      ((3 ar)`*`])
>>>>> ┌─────┬─┬─┐
>>>>> │┌─┬─┐│*│]│
>>>>> ││0│3││ │ │
>>>>> │└─┴─┘│ │ │
>>>>> └─────┴─┴─┘
>>>>>
>>>>>      ((3 ar)`*`]) (`:6)
>>>>> 3 * ]
>>>>>
>>>>> is invalid because (3 ar) is not the atomic representation of a verb.
>>> In
>>>> addition,
>>>>>      + ((3 ar)`) (`(5 ar))
>>>>> ┌─────┬─┬─────┐
>>>>> │┌─┬─┐│+│┌─┬─┐│
>>>>> ││0│3││ ││0│5││
>>>>> │└─┴─┘│ │└─┴─┘│
>>>>> └─────┴─┴─────┘
>>>>>
>>>>> seems to be an invalid use of ties even if only because
>>>>>      + ((3 ar)`) (`(5 ar)) (`:6)
>>>>> 8
>>>>>
>>>>> is a noun rather than a verb.
>>>>>
>>>>> On the other hand, there has been an effort in the past to correct
>>>> similar faulty linear representations that have been pestering some of
>> us
>>>> for many years.  Maybe they are invalid but tolerated; several years
>> ago I
>>>> wrote the following tacit double adverb (hg) which allows one to
>> produce a
>>>> wide class of tacit adverbs by reducing the task of tacit adverbial
>>>> programming to tacit verbal programming.  When I wrote hg Dan and I
>>>> thoutght it was kosher but nowadays apparently it is not,
>>>>            o=. @:
>>>>> c=."_
>>>>> ar=. 5!:1@:<
>>>>> d=. (a0=. `'') (a1=. (@:[) ((<'&')`) (`:6)) (a2=. (`(<(":0);_)) (`:6))
>>>>> av=. ((ar'a0')`)  (`(ar'a1')) (`(ar'a2') ) (`:6)
>>>>>    NB. Adverbing a monadic verb (adv)
>>>>>    assert 1 4 9 -: 1 2 3 *: av
>>>>> aw=. < o ((0;1;0)&{::)  NB. Fetching the atomic representation
>>>>> d=. (a3=. (@: (aw f.)) ('av'f.)) (a4=. "_) (a5=. `:6)
>>>>> a6=. ((( ar'a4') ; ] ; ( ar'a3')"_) ('av'f.)) (`:6)
>>>>>
>>>>> NB. hg...
>>>>> hg=. `((ar'a6')`(ar'a5')) (`:6)
>>>>>    assert (*: 1 2 3)        -: 1 2 3      ((<'*:') ; ]  )
>>>>    hg
>>>>>    assert (*/ 1 2 3)        -: *          (< , ((<'/')c))
>>>>    hg 1 2 3
>>>>>    assert ((*: - +/\)1 2 3) -: (*:`(+/\)) (0&{ , (<'-') ,
>>>> 1&{)@:(('';1)&{::) hg 1 2 3
>>>>> erase'a0 a1 a2 a3 a4 a5 a6 av aw d'
>>>>>
>>>>> A simple application is to produce a tacit version of your ar adverb
>>>> (mildly tested),
>>>>> an=.  <@:((,'0') ,&:< ])f.  NB. Atomizing words (monadic verb)
>>>>> ar=. an f.hg
>>>>>
>>>>> A shorter tacit version of ar exists but the point is that hg can
>>> produce
>>>> a tacit version of the adverb ar as well as lots of other tacit adverbs.
>>>> The linear representations of both adverbs (hg and ar) are faulty; that
>>> is,
>>>> running on J807, I have not tried with J901.
>>>>> P.S.  I merely have a mild academic interest on this matter since I
>>>> neither use J901 nor J807 for any important work.
>>>>> On Thu, Feb 27, 2020 at 11:04 PM 'Pascal Jasmin' via Programming <
>>>> programm...@jsoftware.com> wrote:
>>>>>> Henry reported (I think/thought) fixing this display (lr) bug within
>>>> the j9 cycle.
>>>>>> Though that lr bug caused the problems with f. that we both have noted
>>>> in the past.
>>>>>> There are 2 separate display bugs with "partial gerunds" (bound adverb
>>>> with `)
>>>>>> ((<(,'0');3)`)  NB. not equivalent to displayed result
>>>>>>
>>>>>> <(,'0');3`
>>>>>>
>>>>>> Any other adverb "trained" with partial gerund creates a more obvious
>>>> distortion
>>>>>>    /((<(,'0');3)`)
>>>>>>
>>>>>> /(3`)
>>>>>>
>>>>>> though it still works (internally it is not messed up as display)
>>>>>>
>>>>>> +(/((<(,'0');3)`))
>>>>>>
>>>>>> ┌─────┬───────┐
>>>>>>
>>>>>> │┌─┬─┐│┌─┬───┐│
>>>>>>
>>>>>> ││0│3│││/│┌─┐││
>>>>>>
>>>>>> │└─┴─┘││ ││+│││
>>>>>>
>>>>>> │ ││ │└─┘││
>>>>>>
>>>>>> │ │└─┴───┘│
>>>>>>
>>>>>> └─────┴───────┘
>>>>>>
>>>>>>
>>>> ----------------------------------------------------------------------
>>>> 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
>>
>> --
>> 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


-- 
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

Reply via email to