Right, that was a variant of Exercise 1, u a1x0 does not produce {. u {:
, and I was planning to address it a little bit later but now it is not a
bad time. Two other solutions, based on the same idea, are shown in,
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
a1x0=. /(&({. , {:))
a1x0 =: /(&({."_1@:(,: |.)))
On Thu, Mar 24, 2016 at 8:51 PM, Raul Miller <[email protected]> wrote:
> You left out Pascal's
>
> S
>
> p
>
> o
>
> i
>
> l
>
> e
>
> r
>
>
>
> s
>
> p
>
> a
>
> c
>
> e
>
>
>
> .
>
> .
>
> .
>
>
> /(@(0 _1&{))
>
> And that's worth mentioning here.
>
> --
> Raul
>
>
> On Thu, Mar 24, 2016 at 4:06 PM, Jose Mario Quintana
> <[email protected]> wrote:
> > SPOILER ALERT
> >
> > Solutions to,
> >
> > - 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
> >
> >
> > in,
> >
> > 10
> > 9
> > 8
> > 7
> > 6
> > 5
> > 4
> > 3
> > 2
> > 1
> > 0
> >
> >
> >
> > a1=. ({.`)(`{:)(`:6)
> >
> > a1=. (({.`'') , ] , ({:`'')c) hg
> >
> > a1=. train o ({.cv ; ] ; {:cv) f.adv
> >
> >
> > Discussion
> >
> > First solution,
> >
> > a1=. ({.`)(`{:)(`:6)
> >
> > This classic orthodox form illustrates a combination of the two basic
> > building forms. For a general explanation see the link in Dan's post [0]
> > (together with another solution based on @. by Pascal).
> >
> > Second solution,
> >
> > a1=. (({.`'') , ] , ({:`'')c) hg
> >
> > This form illustrates the general "holy grail" method for producing
> adverbs
> > via the form v hg; hg is defied in the post [1]. The verb v
> transforms
> > the atomic representation of the argument of v hg into the gerund whose
> > train is the desired product of the adverb v hg. A sequence of steps
> for
> > building v (and consequently the adverb a1) are shown, in a session
> excerpt
> > (edited for clarity), below,
> >
> > c =. "_
> >
> > * ( ] ) hg
> > *
> > * (({.`'') , ] ) hg
> > {. *
> > * (({.`'') , ] , ({:`'')c) hg
> > {. * {:
> >
> > u (({.`'') , ] , ({:`'')c) hg
> > {. u {:
> >
> > a1=. (({.`'') , ] , ({:`'')c) hg
> >
> > Third solution
> >
> > a1=. train o ({.cv ; ] ; {:cv) f.adv
> >
> > This form illustrates the general "sorcerer's cauldron" method for
> > producing adverbs via the form v adv; adv is defined in the post [2].
> The
> > verb v transforms directly the argument of v adv into the desired
> > product of the adverb v adv. A sequence of steps for building v (and
> > consequently the adverb a1) are shown, in a session excerpt (edited for
> > clarity), below,
> >
> > * ] f.adv
> > *
> > * ({.cv ; ] ) f.adv
> > ┌──┬─┐
> > │{.│*│
> > └──┴─┘
> > * ({.cv ; ] ; {:cv) f.adv
> > ┌──┬─┬──┐
> > │{.│*│{:│
> > └──┴─┴──┘
> > * train o ({.cv ; ] ; {:cv) f.adv
> > {. * {:
> >
> > u train o ({.cv ; ] ; {:cv) f.adv
> > {. u {:
> >
> > a1=. train o ({.cv ; ] ; {:cv) f.adv
> >
> > The adverb cv produces a wicked verb that produces the argument of the
> > adverb cv regardless of the argument taken by the wicked verb; in that
> > sense cv is a generalization of "_, for example,
> >
> > {.cv _
> > {.
> >
> > ({.cv _) 2 3 5 7
> > 2
> >
> > Writing cv is a challenging exercise and a solution can be found, of
> > course, in the J Wicked Toolkit found in the post [2].
> >
> > The sentence train o ({.cv ; ] ; {:cv) produces the {. u {: train
> > (naturally) and its variations are so handy that can be simplified; for
> the
> > example at hand, as [: {.cv ] {: Train where Train is a recurrent
> > adverb emulating strand notation (aka, multiple adverb). Versions of
> this
> > adverbs, able to run on an official J interpreter (Jo), are coming in the
> > near future to the Jym.
> >
> >
> > References
> >
> > [0] [Jprogramming] Adverbial Tacit Jym
> >
> http://www.jsoftware.com/pipermail/programming/2016-March/044743.html
> >
> > [1] [Jprogramming] Adverbial Tacit Jym
> >
> http://www.jsoftware.com/pipermail/programming/2016-March/044789.html
> >
> > [2] [Jprogramming] Tacit Toolkit (was dyadic J)
> >
> http://www.jsoftware.com/pipermail/programming/2015-December/043757.html
> >
> >
> > 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