an advantage of that approach v1`v2`v3 @.1 y
will only execute v2 y, whereas 1 { (v1 , v2 , v3) y would execute all 3 verbs. ----- Original Message ----- From: robert therriault <bobtherria...@mac.com> To: programm...@jsoftware.com Cc: Sent: Wednesday, April 15, 2015 10:53 AM Subject: Re: [Jprogramming] Verb to string and Verb array Not really a silly idea and in fact as you have described it, it sounds like the idea behind tie and agenda v1`v2`v3 @. v where v1, v2,v3 are the different verbs and v is the verb that returns the index into the list of gerunds. Cheers, bob On Apr 15, 2015, at 1:26 AM, Jon Hough <jgho...@outlook.com> wrote: > Actually it seems, at least in theory, if not in practice, using forks to > pass a verb array is feasible. > If I want to pass around (+/ % #) and (*:@:+:) > I could make a verb verbArray =: ((+/ % #) , (*:@:+:) ) > And I could pass it around and call 0{verbArray to execute and get the result > of the first verb with some argument, and 1{... to do the same for the > second. > Of course, the unwanted verb still gets executed, so it seems a silly idea, > but feasible. > >> From: b.g.h.go...@tudelft.nl >> To: programm...@jsoftware.com >> Date: Wed, 15 Apr 2015 08:14:42 +0000 >> Subject: Re: [Jprogramming] Verb to string and Verb array >> >> In addition, I was thinking that in >> (1{k) 5 >> 0.2 >> >> the (1{k) is a so-called noun fork. >> (n u v) y is defined to be n u (v y) and therefore: >> >> 1 { (k 5) >> 0.2 >> >> because >> k 5 >> 5 0.2 1 >> >> (which is not an average, indeed) >> >> Ben >> ________________________________________ >> From: programming-boun...@forums.jsoftware.com >> [programming-boun...@forums.jsoftware.com] on behalf of Rob Hodgkinson >> [rhodg...@me.com] >> Sent: Wednesday, April 15, 2015 10:08 >> To: programm...@jsoftware.com >> Subject: Re: [Jprogramming] Verb to string and Verb array >> >> John, notice subtle difference in what you typed: >> >> k=:((+/),%,# (this is a train of 5 verbs, as ‘,’ is also a verb used >> twice in this verb train, so you are catenating the result of the 3 verbs >> (+/) then % then #, so the result is a 3 item list. >> >> as opposed to the real fork for average below, which returns an atom. >> >> a=:(+/)%# >> >> k 5 >> 5 0.2 1 >> a 5 >> 5 >> >> So your (1{k) 5 is actually a new function indexing into item 1 of the >> result of k as Raul described below… (it is not indexing to the % and >> applying that to 5 which you may have thought)... >> whereas (1{a) 5 returns index error (since a returns an atom). >> >> Hope this is clear now, Regards Rob >> >> >>> On 15 Apr 2015, at 5:57 pm, Raul Miller <rauldmil...@gmail.com> wrote: >>> >>> Technically, you are not indexing the tines of the fork but you are >>> indexing the result of the fork. >>> >>> Thanks, >>> >>> -- >>> Raul >>> >>> >>> On Wed, Apr 15, 2015 at 3:09 AM, Jon Hough <jgho...@outlook.com> wrote: >>>> Yes, thanks. It seems more clear. I wasn't aware you could index tines of >>>> a fork.e.g. >>>> >>>> k =: ((+/),%,#) >>>> >>>> >>>> (1{k) 5 >>>> gives 0.2 >>>> That was the main cause of confusion. Thanks. >>>> >>>>> From: rauldmil...@gmail.com >>>>> Date: Wed, 15 Apr 2015 02:55:14 -0400 >>>>> To: programm...@jsoftware.com >>>>> Subject: Re: [Jprogramming] Verb to string and Verb array >>>>> >>>>> k is a single verb which produces 3 values for each element of its >>>>> argument. >>>>> >>>>> It is also a fork, and each tine of the fork has a leaf which is a >>>>> bond (n&v). So if you give it a left argument, that becomes a repeat >>>>> count for those operations. >>>>> >>>>> There are some other properties which you can observe by inspection >>>>> (each tine of the fork is composed of rank zero verbs, for example). >>>>> >>>>> Does that help? >>>>> >>>>> Thanks, >>>>> >>>>> -- >>>>> Raul >>>>> >>>>> On Wed, Apr 15, 2015 at 2:34 AM, Jon Hough <jgho...@outlook.com> wrote: >>>>>> I am slightly confused with how the tie (gerund) and or the linear >>>>>> representation are related to this: >>>>>> >>>>>> k =: (^@:(3&*)) d. 1 2 3 >>>>>> >>>>>> >>>>>> results in : >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> ((3"0 * ^@(3&*)) , (9"0 * ^@(3&*)) , 27"0 * ^@(3&*))"0 >>>>>> >>>>>> >>>>>> Which seems to be three verbs; If I do : >>>>>> k 3 >>>>>> >>>>>> >>>>>> I get : >>>>>> >>>>>> >>>>>> 24309.3 72927.8 218783 >>>>>> And I can also do: >>>>>> >>>>>> >>>>>> (0{k) 3 >>>>>> >>>>>> >>>>>> 24309.3 >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> So whatever k is, it returns three nouns for one input noun, and it is >>>>>> indexable so is an array of some sort. But what exactly (in terms of >>>>>> parts-of-speech) is k? >>>>>> >>>>>> >>>>>> >>>>>>> Date: Tue, 14 Apr 2015 18:59:52 +0200 >>>>>>> From: janpieter.jac...@gmail.com >>>>>>> To: programm...@jsoftware.com >>>>>>> Subject: Re: [Jprogramming] Verb to string and Verb array >>>>>>> >>>>>>> Exactly. Actually, any time you want something to work as if it were >>>>>>> assigned to a name, you'd need brackets. >>>>>>> Eg: *: +&. won't work, while *: (+&.) will. But this might be out of >>>>>>> your >>>>>>> scope, since +&. is an adverb, not a verb. >>>>>>> >>>>>>> 2015-04-14 17:35 GMT+02:00 Jon Hough <jgho...@outlook.com>: >>>>>>> >>>>>>>> Thanks, >>>>>>>> Just to be clear, '(',')',~ is just to bracketify the verb so its fork >>>>>>>> (in this case) works, right? >>>>>>>> >>>>>>>> --- Original Message --- >>>>>>>> >>>>>>>> From: "Jan-Pieter Jacobs" <janpieter.jac...@gmail.com> >>>>>>>> Sent: April 14, 2015 5:26 PM >>>>>>>> To: programm...@jsoftware.com >>>>>>>> Subject: Re: [Jprogramming] Verb to string and Verb array >>>>>>>> >>>>>>>> Hey John, >>>>>>>> >>>>>>>> I think 1. you can do using 5!:5: >>>>>>>> >>>>>>>> mean =: +/%# >>>>>>>> mean i.5 >>>>>>>> 2 >>>>>>>> 5!:5 <'mean' >>>>>>>> +/ % # >>>>>>>> datatype 5!:5 <'mean' >>>>>>>> literal >>>>>>>> ". (('(',')',~5!:5) <'mean'),'0 1 2 3 4' >>>>>>>> 2 >>>>>>>> stringify =: '(',')',~5!:5 >>>>>>>> (stringify <'mean') , '0 1 2 3 4' >>>>>>>> (+/ % #)0 1 2 3 4 >>>>>>>> >>>>>>>> For point 2, you can use gerunds to pass around verbs in a list: >>>>>>>> >>>>>>>> ger =: +`-`*`% >>>>>>>> ger >>>>>>>> ┌─┬─┬─┬─┐ >>>>>>>> │+│-│*│%│ >>>>>>>> └─┴─┴─┴─┘ >>>>>>>> 10 ((1{ger) `: 0) 20 >>>>>>>> _10 >>>>>>>> >>>>>>>> There's a massive amount of uses for gerunds, like / , ^: , } , and so >>>>>>>> on... >>>>>>>> >>>>>>>> If you'd want to do these things (make a noun (or list there of)) out >>>>>>>> of >>>>>>>> any type of word, I think you should be looking at atomic >>>>>>>> representation. >>>>>>>> >>>>>>>> Jan-Pieter >>>>>>>> >>>>>>>> 2015-04-14 10:11 GMT+02:00 Jon Hough <jgho...@outlook.com>: >>>>>>>> >>>>>>>>> I have a couple of questions: >>>>>>>>> 1. Is it possible to convert a verb, e.g. +/%# , to a string?": >>>>>>>>> '+/%# 2 >>>>>>>> 3 >>>>>>>>> 4' executes a stringed verb with an argument. But how would I >>>>>>>>> convert a >>>>>>>>> verb to a string in the first place? >>>>>>>>> Also, I discovered the eval verb >>>>>>>>> >>>>>>>>> >>>>>>>>> eval=: 1 : 0 >>>>>>>>> >>>>>>>>> ". 'w =. ' , u >>>>>>>>> >>>>>>>>> (ar < 'w') ab >>>>>>>>> >>>>>>>>> ) >>>>>>>>> >>>>>>>>> >>>>>>>>> Does this have an inverse? >>>>>>>>> >>>>>>>>> 2. If I have two verbs (or conjunctions, adverbs for that matter), >>>>>>>>> can I >>>>>>>>> not pass them around in a list? >>>>>>>>> e.g. in other languages, like C# I can put functions into a list >>>>>>>>> (List<Action> for example). >>>>>>>>> I searched JforC and the J website and couldn't find any way to do >>>>>>>>> this. >>>>>>>>> Thanks Jon >>>>>>>>> ---------------------------------------------------------------------- >>>>>>>>> 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 >>>>> ---------------------------------------------------------------------- >>>>> 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 > > ---------------------------------------------------------------------- > 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