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