Yes, here the tines of the fork have a rank greater than 0. -- Raul
On Wed, Apr 15, 2015 at 11:14 AM, Jose Mario Quintana <[email protected]> wrote: > One also would have to be careful: > > (1 { ((+/ % #) , (*:@:+:) )) 1 2 3 > > 4 > > (*:@:+:) 1 2 3 > > 4 16 36 > > > Why? > > > load'debug/dissect' > > dissect'(1 { ((+/ % #) , (*:@:+:) )) 1 2 3' > > > > On Wed, Apr 15, 2015 at 4:26 AM, Jon Hough <[email protected]> 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: [email protected] >> > To: [email protected] >> > 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: [email protected] [ >> [email protected]] on behalf of Rob Hodgkinson [ >> [email protected]] >> > Sent: Wednesday, April 15, 2015 10:08 >> > To: [email protected] >> > 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 <[email protected]> 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 <[email protected]> >> 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: [email protected] >> > >>> Date: Wed, 15 Apr 2015 02:55:14 -0400 >> > >>> To: [email protected] >> > >>> 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 <[email protected]> >> 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: [email protected] >> > >>>>> To: [email protected] >> > >>>>> 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 <[email protected]>: >> > >>>>> >> > >>>>>> 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" <[email protected]> >> > >>>>>> Sent: April 14, 2015 5:26 PM >> > >>>>>> To: [email protected] >> > >>>>>> 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 <[email protected]>: >> > >>>>>> >> > >>>>>>> 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
