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

Reply via email to