While true, I'd like to caution you that "more general" can be better
(sometimes significantly better), or worse (sometimes significantly
worse), depending on the nature of the generality.

Thanks,

-- 
Raul

On Wed, Apr 15, 2015 at 7:31 PM, Jose Mario Quintana
<[email protected]> wrote:
> "(+/ % #)`''  NB. turns verb into ar, display ommitted"
>
> There is a subtle difference between the atomic representation of a verb  u
> and the gerund form (u`'') (both are gerunds); sometimes it can make all
> the difference.  Consider the following implementation of a verb (process)
> in the spirit of Mutiple/Single Instruction Multiple/Single Data processors.
>
>    mean=. +/ % #
>    AR=. (5!:1)@< 'mean'
>
>    GT=.  (+/ % #)`''
>
>    AR -: GT
> 0
>
>
>    o=. @:
>    y=. @:]
>    an=. <@:((,'0') ,&< ])
>    train=. 'y `:6'(3 :)          NB. Orthodox explicit version
>
>    process=. < o train o ([ ; (an o >) y)("0)
>
>
>    Y=. 1 2 3 ; 4 5
>
>    AR            process Y       NB. SIMD
> ┌─┬───┐
> │2│4.5│
> └─┴───┘
>    GT            process Y       NB. SIMD does not work with GT
> |length error: process
> |   GT     process Y
> |[-20]
>
>
>    (''$GT)       process Y       NB. SIMD
> ┌─┬───┐
> │2│4.5│
> └─┴───┘
>
>    AR -: ''$GT
> 1
>
>    AR            process <1 2 3  NB. SISD
> ┌─┐
> │2│
> └─┘
>    (*:`(+/ % #)) process <1 2 3  NB. MISD
> ┌─────┬─┐
> │1 4 9│2│
> └─────┴─┘
>    (*:`(+/ % #)) process Y       NB. MIMD
> ┌─────┬───┐
> │1 4 9│4.5│
> └─────┴───┘
>
> Alternatively,
>
>    train=. (<'`:')(0:`)(,^:)&6   NB. Unorthodox tacit version
>
>    AR            process Y       NB. SIMD
> ┌─┬───┐
> │2│4.5│
> └─┴───┘
>    AR            process <1 2 3  NB. SISD
> ┌─┐
> │2│
> └─┘
>    (*:`(+/ % #)) process <1 2 3  NB. MISD
> ┌─────┬─┐
> │1 4 9│2│
> └─────┴─┘
>    (*:`(+/ % #)) process Y       NB. MIMD
> ┌─────┬───┐
> │1 4 9│4.5│
> └─────┴───┘
>
> There is also a subtle difference between the orthodox and the unorthodox
> versions of train: the unorthodox version is more general; for example, one
> can produce a genuine array of boxed verbs easily,
>
>    (''$ (train o <)`'') process (*:`(+/ % #))  NB. SIMD
> ┌──┬──────┐
> │*:│+/ % #│
> └──┴──────┘
>
>
> On Tue, Apr 14, 2015 at 4:31 AM, 'Pascal Jasmin' via Programming <
> [email protected]> wrote:
>
>> > But how would I  convert a verb to a string in the first place?
>>
>> J has 2 such useful representations:  linear and atomic.  atomic is that
>> of gerunds, and several built in modifiers can turn gerunds/ar's back into
>> verbs.
>>
>> I find linear representation easier to read and work with.
>>
>> lrA =: 1 : '5!:5 < ''u'''
>>
>>
>> (+/ % #)`''  NB. turns verb into ar, display ommitted
>>
>> (+/ % #) lrA NB. result is string.
>> +/ % #
>>
>>
>> the eval function (for lr s) that I prefer is:
>>
>> eval =: 1 : ' a: 1 :  m' NB. can return any form of speech.
>>
>>
>> though (".) works well if your phrase will return a noun.
>>
>> +: '@' eval +
>> +:@+
>>
>>
>>   +/ lrA , 1 2 3 lrA
>> +/1 2 3 NB. string result
>>
>>
>>
>>
>>
>> ________________________________
>> From: Jon Hough <[email protected]>
>> To: "[email protected]" <[email protected]>
>> Sent: Tuesday, April 14, 2015 4:11 AM
>> Subject: [Jprogramming] Verb to string and Verb array
>>
>>
>> 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

Reply via email to