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

Reply via email to