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