'@u'eval 
@a: 

  '@u' 1 : ''''' 1 : m' 
@'' 


You are right about it being fairly easy to shoehorn any dyadic verb into a 
modad for apply, but there is a simplicity to eval when a large boxed structure 
made of several variables is the left hand part.

> PPS.  For the record: perhaps apply (128!:2) should not produce adverbs or
conjunctions (or verbs); but, it can. 

I won't say I don't believe you, but I don't know how. :)





----- Original Message -----
From: Jose Mario Quintana <[email protected]>
To: Programming forum <[email protected]>
Cc: 
Sent: Monday, April 7, 2014 4:32:47 PM
Subject: Re: [Jprogramming] an improvement to apply and perhaps anon evoke

I have used similar tools for related purposes before; nowadays I use the
word-from-linear (104!:1) extension.  It is not a secret that I have an
aversion to explicit definitions; one reason is that they change the
context:

   wl=. 104!:1
   eval =: 1 : ' a: 1 :  m'

   < '@' eval +'/' eval 1 2 3
┌─┐
│6│
└─┘
   < '@' wl   +'/' wl   1 2 3
┌─┐
│6│
└─┘

So far, so good; however,

   @u
@u
   '@u'wl
@u
   '@u'eval
@a:

PS.  Apply (128!:2) only can refer to a verb that take a single argument,
and J verbs can take only one or two arguments.  I regard both situations
as very minor annoyances.  It is not difficult to circumvent this
“limitation” of apply (and, of course, J verbs can take virtually several
arguments), for example,

   2 ('+/' apply ,) 3
5

PPS.  For the record: perhaps apply (128!:2) should not produce adverbs or
conjunctions (or verbs); but, it can.






On Sat, Apr 5, 2014 at 1:26 PM, Pascal Jasmin <[email protected]>wrote:

> apply does not work with dyadic verbs, and cannot produce modifiers.
>  Consider the following simple looking eval function.
>
> eval =: 1 : ' a: 1 :  m'
>
>
>   2 '+' eval 1 2 3
> 3 4 5
>
>
>   + '/' eval 1 2 3
> 6
>
>
>
>   '+/' eval(+:@) 1 2 3
> 12
>
>
>   +:@+'/' eval 1 2 3
> 22
>
>
>   +: +'/' eval 1 2 3
> 12
>
>
>  (+: '@' eval +)'/' eval 1 2 3
>
> 22
>
>   +: '@' eval +'/' eval 1 2 3
> 12
>
>
> The last statement is interesting because it seems to alter the normal
> conjunction train processing (sometimes in desirable ways)
>
> instead of just grabbing a single token as v.
>
> < '@' eval +'/' eval 1 2 3    NB. would be domain error without '@'eval
> ┌─┐
> │6│
> └─┘
>
>
> eval is the key to how my multiline tacit code works:
> http://www.jsoftware.com/jwiki/PascalJasmin/Multiline%20tacit%20expressions%20with%20macros
> ----------------------------------------------------------------------
> 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