Your tacit attempt for a4 is discussed below
.
.
.
.
.
.
.
.
.
.
Defining a4=. ("_ )(`'' )(`:6) does not quite fit the bill,
1 2 3 a4
1 2 3"_
* a4
*"_
It is getting there though: a4 can be defined as a4=. ("_ )(`'' ) (...)
(`:6) but the ... part is tricky!
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.
>
>
>
> On Sun, Mar 13, 2016 at 10:59 PM, Jose Mario Quintana <
> [email protected]> wrote:
>
> > Welcome to the Adverbial (and Conjunctional) Tacit Jymnasium :)
> >
> > Orthodox and wicked routines will be practiced here for those interested
> > in developing adverbial (and conjunctional) tacit muscles. Official
> > interpreters will be the standard equipment; however, Unbox, Jx, and
> other
> > J interpreters (including Golden Age J interpreters), as well as
> Toolkits ,
> > see for example [0], and alike (e.g., the tacit translator), are in
> general
> > more than acceptable although occasionally some restrictions might be
> > imposed aiming to develop certain muscles. Since adverbial (and
> > conjunctional) tacit writing can (following two closely related
> approaches)
> > be reduced to verbal tacit writing, this is also a place to exercise
> verbal
> > tacit muscles. In addition, some adverbs (and conjunctions) which will
> be
> > eventually shown here can provide general support for producing tacit
> > verbs, adverbs and conjunctions.
> >
> > Instructors will describe an exercise and, unless otherwise specified in
> > advance, will be prepared to show at least one way to perform it if
> patrons
> > (including other instructors) have not performed the exercise after a
> > reasonable time; alright, they have bragging rights either way ;) The
> > exercises would typically involve producing adverbs with bonus points for
> > producing fixed versions of the adverbs and their products. Exercises
> are
> > not required to be brand new. Given credit to the originators of certain
> > techniques is not necessary (but you know who you are and bragging is
> > allowed). Spoiler alerts by instructors and patrons will be appreciated.
> >
> > Instructors (Dan, Thomas et al. are you listening?), not to mention
> > patrons (including beginners), are all very welcome here. How long will
> > the Jym remain open? Indefinitely, as long as there enough patrons and
> > instructors or we are kicked out of here.
> >
> > Let us start with a few exercises with different degrees of difficulty
> > (feel free to ask any questions just be patient with me, sometimes I
> > disappear for a few days):
> >
> >
> > - Exercise 0. Rank infinity
> >
> > Produce a (tacit, of course) adverb a0 such that u a0 produces u"_
> > where u is a noun or a verb, for example,
> >
> > u a0
> > u"_
> >
> > *:@:(+/) a0
> > *:@:(+/)"_
> >
> > u=. 1 2 3
> >
> > u a0
> > 1 2 3"_
> >
> > 1 2 3 a0
> > 1 2 3"_
> >
> >
> > - Exercise 1. Operating on the first and last items
> >
> > Produce an adverb a1 such that u a1 produces {. u {: where u is a
> verb,
> > for example,
> >
> > erase'u'
> > 1
> >
> > u a1
> > {. u {:
> >
> > * a1
> > {. * {:
> >
> > * a1 2 3 5 7
> > 14
> >
> >
> > - Exercise 2. Back insert
> >
> > Produce an adverb a2 which is a tacit counterpart of the explicit adverb
> > rscan, see [1],
> >
> > rscan=. 1 : '((>: - m |&# y) |. m)/y'
> >
> > for example,
> >
> > (+`%`* rscan\. ,: +`%`* a2\.) 1 2 3 4 5 6 7
> > 1.16184971 0.161849711 12.3571429 4.11904762 0.119047619 42 7
> > 1.16184971 0.161849711 12.3571429 4.11904762 0.119047619 42 7
> >
> > (+`-`*`% rscan\. ,: +`-`*`% a2\.) 1 2 3 4 5 6 7 8
> > _0.6 1.6 0.8 3.75 _0.25 5.25 0.875 8
> > _0.6 1.6 0.8 3.75 _0.25 5.25 0.875 8
> >
> >
> > - Exercise 3. Replace items
> >
> > Produce an adverb a3 which is a tacit counterpart of the explicit adverb
> > ritem, see [2],
> >
> > ritem =: 1 : (':' ; 'x (I.m-:"_1 _ y) } m')
> >
> > for example,
> >
> > C=. 3 4$i.8
> > A=. i.3 2 4
> >
> > assert 9 8 7 6 (C ritem -: C a3) 0 1 2 3
> > assert (100%i.2 4) (A ritem -: A a3) 16+i.2 4
> >
> >
> > References
> >
> > [0] [Jprogramming] Tacit Toolkit (was dyadic J)
> >
> > http://www.jsoftware.com/pipermail/programming/2015-December/043757.html
> >
> > [1] [Jprogramming] Am I understanding m/y ?
> >
> > http://www.jsoftware.com/pipermail/programming/2016-February/044483.html
> >
> > [2] [Jprogramming] Replace Items
> > http://www.jsoftware.com/pipermail/programming/2016-March/044625.html
> >
> ----------------------------------------------------------------------
> 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