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 <[email protected]>
To: [email protected]
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 <[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