Pascal wrote:

"a6 is a bit ambiguous if your example uses a u that returns nothing or y."

I do not know exactly what you mean by "returns nothing [f]or y" but if u
is defined, for instance, as   u=. ''"_  or  u=. (0 0$'')"_  the results of
 u("_1) Y  and  u cheap Y  should still match (at least for Y=. 4 3 2 $
i.4)  "but  u a6  does not repeat the computation of the same items of Y."
 Did I miss your point?




On Sun, Apr 24, 2016 at 9:27 PM, 'Pascal Jasmin' via Programming <
[email protected]> wrote:

> As usual I'm discussing solutions below
> .
> .
> .
> .
> .
>
> .
> .
> .
> .
> .
>
>
> a4 =: 1 : 'u' is pretty hard to beat.  semi-tacit: return value is tacit.
>
>
> without going wicked, this is close, but only works for non nouns.
>
> a4 =: (`'') (`:6)
>
> this seems like a reasonable cheat
>
> ("_ )(`'' )(`:6)
>
> assuming a5 argument is a noun
>
> a5 =: a4(<@:) V
>
> where V cheats:
>
>
> V =: 1 : 'u i.0'
>
> a6 is a bit ambiguous if your example uses a u that returns nothing or y.
>
> very interested in a7.
>
>
>
>
> ----- Original Message -----
> From: Jose Mario Quintana <[email protected]>
> To: Programming forum <[email protected]>
> Sent: Sunday, April 24, 2016 7:54 PM
> Subject: Re: [Jprogramming] Adverbial Tacit Jym
>
> Now that the first round of exercises are almost out of the way we can
> entertain some utility adverbs.
>
> This round is open in the sense that explicit adverbs are also allowed as
> solutions; but, of course, tacit solutions would be better and fixed tacit
> solutions would be the best ;)
>
>
> Exercise 4.  Produce the Golden Age Identity adverb a4 (Id): "]: is the
> identity adverb, that yields its argument."  For example,
>
>    Id=. 'a4'f.
>
>      1 2 3 Id
> 1 2 3
>      *     Id
> *
>    1 2 3 * Id 4 5 6
> 4 10 18
>
>   Hint: It is easy using hg or adv.
>
>
> Exercise 5.  Produce the adverb a5 that yields its argument boxed.  For
> example,
>
>    (i.2 3) a5
> ┌─────┐
> │0 1 2│
> │3 4 5│
> └─────┘
>
>   Hint: It is easy using adv.
>
>
> Exercise 6.  Let us assume that u is an arbitrary monadic verb which is
> expensive to compute.  Produce a6 such that  (u a6)Y -: (u ("_1))Y  but  u
> a6  does not repeat the computation of the same items of Y.  For example,
>
>    cheap=. 'a6'f.
>
>    delay=. 6!:3
>    timer=. 6!:2
>
>    timer'delay ("_1) (5$%:2)'
> 7.07262802
>    timer'delay cheap (5$%:2)'
> 1.41460927
>
>    (delay cheap -: delay ("_1)) (5$%:2)
> 1
>
>    (([echo) o (+/) cheap ; +/ ("_1))4 3 2 $ i.4
> 2 5
> 4 7
> ┌───┬───┐
> │2 5│2 5│
> │4 7│4 7│
> │2 5│2 5│
> │4 7│4 7│
> └───┴───┘
>
>
> Exercise 7.  Produce the adverbs a7x0 and a7x1 that provide respectively
> monadic and dyadic recursion scope to a tacit verb denoted by the self
> reference verb ($:) yielding another tacit verb (a wicked verb, if
> necessary).  For example,
>
>    mRS=. 'a7x0'f.  NB. Monadic recursive scope
>    dRS=. 'a7x1'f.  NB. Dyadic  recursive scope
>
>    fac=. 1:`(] * $:@:<:)@.*
>    (1 + fac f.mRS)5
> 121
>
>    binomial=. 1:`(%~ * $:&:<:)@.(*@:[)
>    3 (1 + binomial f.dRS) 7
> 36
>
> Hint: My solutions are wicked.
>
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to