The hint I mentioned shows that Roger's test is inconsistent,
erase'v v123' 1 1 gerundYN=: 0 -. @ e. 3 : ('y (5!:0)';'1')"0 :: 0: gerundYN 'v' 1 gerundYN 'v123' 0 Whereas Pascal's test (loosly based on David Alis' atomicYN [0]) is consistent, isgerund=. 0:`(0 -.@e. 3 : ('y (5!:0)';'1')"0) @.(0 < L.) :: 0: isgerund 'v' 0 isgerund 'v123' 0 What tripped gerundYN? Any guesses? ;) Arrays of atomic representations of verbs, not surprisingly, pass the test, for example, for undefined verbs v0, v1, v2, v3, assert v0`v1`v2`v3 -: <;._1 ' v0 v1 v2 v3' isgerund v0`v1`v2`v3 1 isgerund 2 2$v0`v1`v2`v3 1 Gerund evoke (`:6) requires a list but the atomic representations can include nouns, verbs, adverbs, and conjunctions, for example, ((;:'+/"') , (<(,'0');1)) ┌─┬─┬─┬─────┐ │+│/│"│┌─┬─┐│ │ │ │ ││0│1││ │ │ │ │└─┴─┘│ └─┴─┴─┴─────┘ ((;:'+/"') , (<(,'0');1))`:6 +/"1 Interestingly, `:6 can also evoke nouns that are not gerunds and this is a great feature, from my vantage point, because it facilitates writing compliant and noncompliant tacit adverbs (and tacit conjunctions in Jx). In summary, a gerund can be thought as an array of atomic representations (see also, [1, 2]), and regardless of the name this notion that has served me well for a long time. References [0] [Jprogramming] how to test for a gerund David Alis http://www.jsoftware.com/pipermail/programming/2010-April/019187.html [1] sidebar: gerunds http://code.jsoftware.com/wiki/User:Dan_Bron/backtick#sidebar:_gerunds [2] Atomic Representation http://code.jsoftware.com/wiki/IojRep#Atomic_Representation On Wed, Aug 9, 2017 at 9:32 AM, Bill <bbill....@gmail.com> wrote: > Oh I was wrong, thank you for pointing it out. > > Sent from my iPhone > > On 9 Aug, 2017, at 6:28 AM, Jose Mario Quintana < > jose.mario.quint...@gmail.com> wrote: > > > Inline comments follow... > > > >> I would say neither gerundYN or isgerund is correct, they should report > > value error. Even J interpreter itself does not know if undefined name > is a > > verb or not, J can only assume it is a verb but it can be wrong since > > unbound name is free to be assigned to any value. Your question should be > > -- should an undefined name assumed to be a gerund. But I think this is > > implementation dependent. BTW undefined name can also be regarded as noun > > or domain error in implementation and still be compatible with J > > dictionary, although it will be then become quite inconvenient to use. > > > > I am not sure about that; the Dictionary does not cover some > implementation > > details but apparently it covers this one: "The executions in the stack > are > > confined to the first four elements only, and eligibility for execution > is > > determined only by the class of each element (noun, verb, etc., an > > unassigned name being treated as a verb), as prescribed in the following > > parse table." [0] > > > > (I forgot to mention the odd word copula which in this context is , of > > course, key for writing verbs in top-down fashion.) > > > >> Please don't get me wrong, I didn't mean Jx is incorrect. On the > > contrary, Jx is enlightening. only that it is not the old J that I am > > familiar with. > > > > I did not get you wrong Bill; however, I really appreciate your entire > > comment, thanks for making it. > > > > > > [0] E. Parsing and Execution > > http://www.jsoftware.com/help/dictionary/dicte.htm > > > > > > On Mon, Aug 7, 2017 at 8:20 PM, Bill <bbill....@gmail.com> wrote: > > > >> I would say neither gerundYN or isgerund is correct, they should report > >> value error. Even J interpreter itself does not know if undefined name > is a > >> verb or not, J can only assume it is a verb but it can be wrong since > >> unbound name is free to be assigned to any value. Your question should > be > >> -- should an undefined name assumed to be a gerund. But I think this is > >> implementation dependent. BTW undefined name can also be regarded as > noun > >> or domain error in implementation and still be compatible with J > >> dictionary, although it will be then become quite inconvenient to use. > >> > >> Please don't get me wrong, I didn't mean Jx is incorrect. On the > >> contrary, Jx is enlightening. only that it is not the old J that I am > >> familiar with. > >> > >> Sent from my iPhone > >> > >> On 8 Aug, 2017, at 7:26 AM, Jose Mario Quintana < > >> jose.mario.quint...@gmail.com> wrote: > >> > >>> No joke was intended, undefined names are regarded as verbs in the > >> context > >>> of adverbs and conjunctions. Why? Because it allows for writing verbs > >> in a > >>> top-down fashion if one so desires. (Bill, I know you know most of > this, > >>> if not all; but I am putting some context for the potential benefit > >> members > >>> of the forum who might not.) > >>> > >>> An error thrown by @.0 does not necessarily mean that the argument is > >> not > >>> a gerund or that it is a nonsensical gerund; I would assume we both > agree > >>> that even if v is undefined v`'' is still a gerund. Either way, > both > >>> Roger's and Pascal's tests agree on this, > >>> > >>> v > >>> |value error: v > >>> > >>> gerundYN=: 0 -. @ e. 3 : ('y (5!:0)';'1')"0 :: 0: > >>> isgerund =: 0:`(0 -. @ e. 3 : ('y (5!:0)';'1')"0)@.(0 < L.) :: 0: > >>> > >>> gerundYN v`'' > >>> 1 > >>> isgerund v`'' > >>> 1 > >>> > >>> Yet, > >>> > >>> v`'' @.0 > >>> |value error: v > >>> > >>> However, > >>> > >>> v`'' @.0 / > >>> v/ > >>> > >>> So, is the literal noun 'v' a gerund or not? A hint follows after > >>> several blank lines, > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> v > >>> |value error: v > >>> > >>> v123 > >>> |value error: v123 > >>> > >>> > >>> gerundYN 'v' > >>> 1 > >>> gerundYN 'v123' > >>> 0 > >>> > >>> isgerund 'v' > >>> 0 > >>> isgerund 'v123' > >>> 0 > >>> > >>> What is happening? > >>> > >>> > >>> > >>> On Sun, Aug 6, 2017 at 8:34 PM, Bill <bbill....@gmail.com> wrote: > >>> > >>>> I am not sure if I understand your question. If you asked something > >>>> undefined is a gerund or not. I checked by executing v@.0 '' and the > J > >>>> interpreter said value error. Sounds like an empty array joke to me. > >>>> > >>>> Sent from my iPhone > >>>> > >>>> On 7 Aug, 2017, at 5:23 AM, Jose Mario Quintana < > >>>> jose.mario.quint...@gmail.com> wrote: > >>>> > >>>>> I am not hoping to change people's minds; nevertheless, I would like > to > >>>>> explain, to some degree, my rationale regarding my current notion of > >>>> what a > >>>>> gerund is. > >>>>> > >>>>> The Dictionary is famous (or infamous according to some?) for its > >>>>> terseness. It is not really surprising to me that different people > >> have > >>>>> different understandings even regarding the very important concept of > >>>>> gerund. Personally, I use Dictionary as the primary source but > >>>>> complemented by other official documents, forum information > >> (particularly > >>>>> opinions and statements from certain people), third party sources, > and > >>>>> first and foremost the "real thing", the interpreter(s) which it is, > >>>> after > >>>>> all, where programs and utilities for writing programs, some of which > >> are > >>>>> very important to me, run. > >>>>> > >>>>> Let me start with the (current version of the) Dictionary, this is > how > >> I > >>>>> perceive it, given its terseness, the statement "Verbs act upon > nouns > >> to > >>>>> produce noun results..." is generally interpreted as "Verbs act upon > >>>> nouns > >>>>> [and only nouns] to produce noun [and only noun] results..." and > other > >>>>> supporting evidence clearly confirm that is the intention. > >>>>> > >>>>> Therefore, assuming that the Dictionary is consistent, then the > >> statement > >>>>> related to the to the entry Tie (Gerund), > >>>>> " > >>>>> More generally, tie produces gerunds as follows: u`v is au,av , where > >> au > >>>>> and av are the (boxed noun) atomic representations (5!:1) of u and v > . > >>>>> Moreover, m`n is m,n and m`v is m,av and u`n is au,n . See Bernecky > and > >>>> Hui > >>>>> [12]. Gerunds may also be produced directly by boxing. > >>>>> " > >>>>> could be intrepreted as "... tie produces gerunds [and only > >> gerunds]..." > >>>>> (I know that, actually , tie can produce also nouns which are not > >>>> gerunds; > >>>>> just as a verbs can produce words which are not a nouns.) > >>>>> > >>>>> Incidentally, I do not regard foreings as part of the core language > >>>> either > >>>>> but they are in the Dictionary, and they are used to illustrate > points, > >>>>> even when discussing a primitive (see (5!:1) above). > >>>>> > >>>>> Furthermore, "Moreover, m`n is m,n and m`v is m,av and u`n is au,n" > >>>>> suggests that both, the left and right arguments do not have to be > >> verbs. > >>>>> Indeed, the gerund (produced by) +`-`* is equivalent to (+`-)`* and > >>>> (+`-) > >>>>> is not a verb it is a gerund (i.e, a noun). > >>>>> > >>>>> The last sentence "Gerunds may also be produced directly by boxing" > is > >>>>> quite important in the context of last part of that page, > >>>>> " > >>>>> The atomic representation of a noun (used so as to distinguish a noun > >>>> such > >>>>> as '+' from the verb +) is given by the following function: > >>>>> (ar=: [: < (,'0')"_ ; ]) '+' > >>>>> +-----+ > >>>>> |+-+-+| > >>>>> ||0|+|| > >>>>> |+-+-+| > >>>>> +-----+ > >>>>> > >>>>> *`(ar '+') > >>>>> +-+-----+ > >>>>> |*|+-+-+| > >>>>> | ||0|+|| > >>>>> | |+-+-+| > >>>>> +-+-----+ > >>>>> " > >>>>> > >>>>> There, clearly, the right argument (ar '+') of ` is the atomic > >>>>> representation of a noun ('+') not a verb. That is, *`(ar '+') is a > >>>> gerund > >>>>> and, for example, G=. (*:`ar 0 1 2) is a gerund well. > >>>>> > >>>>> Let me jump to the Dictionary's entry for Evoke Gerund (`:), > >>>>> " > >>>>> m `: 6 Train Result is the train of individual verbs. > >>>>> " > >>>>> > >>>>> Right, it is referring to a train of verbs but the entry is Evoke > >> Gerund > >>>>> and G (defined above) is a gerund which makes sense (to me) as a > train; > >>>> so > >>>>> I expect G`:6 to work, and it does, > >>>>> > >>>>> G`:6 > >>>>> 0 1 4 > >>>>> > >>>>> Let me jump to the Dictionary's entry for Agenda (@.), > >>>>> > >>>>> " > >>>>> m@.n is a verb defined by the gerund m with an agenda specified by > n ; > >>>> that > >>>>> is, the verb represented by the train selected from m by the indices > n > >> . > >>>> If > >>>>> n is boxed, the train is parenthesized accordingly. The case m@.v > uses > >>>> the > >>>>> result of the verb v to perform the selection. > >>>>> " > >>>>> > >>>>> Again, verbs are mentioned; yet again, I expect G@.0 1 to work, and > it > >>>> does, > >>>>> > >>>>> G@.0 1 > >>>>> 0 1 4 > >>>>> > >>>>> Incidentally, if is not for producing code (and executing code), what > >> is > >>>>> the purpose of "If n is boxed, the train is parenthesized > accordingly. > >>>> The > >>>>> case m@.v uses the result of the verb v to perform the selection" > (see > >>>>> above)? > >>>>> > >>>>> What did the original co-designer and implementor of the language > >> write, > >>>> in > >>>>> the post I mentioned before, responding to the question, how to test > >> for > >>>> a > >>>>> gerund? > >>>>> > >>>>> Here it is, > >>>>> " > >>>>> [Jprogramming] how to test for a gerund Roger Hui > >>>>> gerundYN=: 0 -. at e. 3 : ('y (5!:0)';'1')"0 :: 0: > >>>>> > >>>>> gerundYN +`* > >>>>> 1 > >>>>> gerundYN <'0';i.5 > >>>>> 1 > >>>>> gerundYN <i.5 > >>>>> 0 > >>>>> gerundYN 5!:1 <'gerundYN' > >>>>> 1 > >>>>> > >>>>> See also http://www.jsoftware.com/help/dictionary/dx005.htm#1 > >>>>> " > >>>>> > >>>>> He used a foreign (5!:0) to write his testing verb, he "produced > >> directly > >>>>> by boxing" a gerund and tested it ( gerundYN <'0';i.5 ), and he used > a > >>>>> foreign to produce a gerund and tested it ( gerundYN 5!:1 <'gerundYN' > >> ). > >>>>> > >>>>> I could keep going but all the above is enough for me to justify my > >>>> opinion > >>>>> that a gerund is not merely a list of atomic representations of > verbs. > >>>>> Ultimately, it does not matter what name (gerund, gerundive, etc.), > if > >>>> any, > >>>>> is given to these entities; different people at different times have > >>>> used these > >>>>> AND related entities in the context of `:6 , and @. . I, for one, > >> would > >>>>> not be a happy camper if the official interpreter is changed in such > a > >>>> way > >>>>> that my programs and utilities for writing programs break down, even > >> if I > >>>>> have an alternative. > >>>>> > >>>>> Finally, I would like to pose a simple yet subtle question to those > who > >>>> do > >>>>> not regard a gerund as merely a list of of atomic representations of > >>>> verbs, > >>>>> > >>>>> erase'v' > >>>>> 1 > >>>>> > >>>>> gerundYN 'v' NB. Roger's test... > >>>>> 1 > >>>>> > >>>>> isgerund =: 0:`(0 -. @ e. 3 : ('y (5!:0)';'1')"0)@.(0 < L.) :: 0: > >>>>> > >>>>> isgerund 'v' NB. Pascal's test > >>>>> 0 > >>>>> > >>>>> Is 'v' a gerund or not? > >>>>> > >>>>> > >>>>> On Thu, Aug 3, 2017 at 7:31 PM, Bill <bbill....@gmail.com> wrote: > >>>>> > >>>>>> From my understanding, the reference shows the atomic representation > >> of > >>>>>> gerund. It does not advocate this a way to construct a gerund. > >> moreover > >>>> it > >>>>>> is "foreign" conjunction. > >>>>>> > >>>>>> numbers can be converted from strings using foreign conjunction but > it > >>>>>> doesn't mean J encourages writing numbers using this method. > >>>>>> > >>>>>> IMO foreign conjunction is not a part of J core. > >>>>>> > >>>>>> > >>>>>> Sent from my iPhone > >>>>>> > >>>>>> On 4 Aug, 2017, at 5:33 AM, Jose Mario Quintana < > >>>>>> jose.mario.quint...@gmail.com> wrote: > >>>>>> > >>>>>>> " > >>>>>>> In J dictionary, only tie conjunction > >>>>>>> on verbs was mentioned to produce a gerund. > >>>>>>> " > >>>>>>> > >>>>>>> I am afraid you might not be the only one who has reached such > >>>>>> conclusion. > >>>>>>> Nevertheless, in my opinion, it is a misconception that a gerund > can > >>>> only > >>>>>>> be a list (of atomic representations) of verbs. Why? See [0] in > the > >>>>>>> context of [1]. > >>>>>>> > >>>>>>> [0] Atomic > >>>>>>> http://www.jsoftware.com/help/dictionary/dx005.htm#1 > >>>>>>> > >>>>>>> [1] [Jprogramming] how to test for a gerund Roger Hui > >>>>>>> http://www.jsoftware.com/pipermail/programming/2010-April/0 > >>>> 19178.html > >>>>>>> > >>>>>>> Mind you gerundYN is not bulletproof. > >>>>>>> > >>>>>>> > >>>>>>> On Thu, Aug 3, 2017 at 5:46 AM, bill lam <bbill....@gmail.com> > >> wrote: > >>>>>>> > >>>>>>>> I am thinking of the opposite. In J dictionary, only tie > conjunction > >>>>>>>> on verbs was mentioned to produce a gerund. Boxed verbs had not > been > >>>>>>>> mentioned. Atomic representation of boxed verbs looks like that of > >>>>>>>> gerund and therefore can work as gerund. IMO this is a backdoor > >>>>>>>> provided by J implementation. > >>>>>>>> > >>>>>>>> Metadata could be attached to "real" gerunds that have ancestors > >> which > >>>>>>>> were results of verb`verb. All other nouns without this DNA would > >> be > >>>>>>>> regarded as non-gerund. > >>>>>>>> > >>>>>>>> Just my 2 cents. > >>> ---------------------------------------------------------------------- > >>> For information about J forums see http://www.jsoftware.com/forums.htm > >> ---------------------------------------------------------------------- > >> For information about J forums see http://www.jsoftware.com/forums.htm > > ---------------------------------------------------------------------- > > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm