"Also what is the definition of af ?" The wicked verb af is defined in [0]; find the line:
( af=. an o fix f.) NB. Atomizing after fixing (an alternative to atomic representations) the wicked verb fix is the verbalized f. also defined previously in [0]. By the way, although it is possible, in principle, to produce an orthodox tacit version of your explicit adverb r, the process becomes unbearably tedious; it is still tedious to produce an unorthodox tailor made version. However, the unorthodox fixed tacit adverbs kappa and lambda can produce unorthodox fixed tacit equivalents of that kind of adverbs in a flash. That matters a lot to a tacit fanatic (like me). On Sun, Feb 22, 2015 at 11:19 PM, Jose Mario Quintana < [email protected]> wrote: > > The "Proposition`combine`basis`reduce" framework is not mine; it belongs > to Robert Bernecky and Roger Hui [0]. A pdf format used to be freely > available; you could still get one at the link that I provided [0] but you > would have to be a member of the ACM. Alternatively, a ps format is > available; try "gerunds and representations ps" in Google. > > Yes, default parameters could be very useful and it is something I would > have to think about but not yet (personally, I have not had the need so > far). > > > On Sun, Feb 22, 2015 at 10:09 PM, 'Pascal Jasmin' via Programming < > [email protected]> wrote: > >> thanks for sharing, Pepe >> >> lambda is very cool, and beats my attempts at easily composing fully >> contained multi adverbs. >> >> I also find your "Proposition`combine`basis`reduce" framework to >> recursion interesting, but was unable to find a google reference. Also >> what is the definition of af ? >> >> From Dan's strand notation, >> http://www.jsoftware.com/pipermail/programming/2009-July/015565.html >> >> a small variation >> >> t9 =: s 9: >> >> and from >> >> http://www.jsoftware.com/jwiki/PascalJasmin/double%20adverbs%20vs%20conjunctions >> , >> >> tie =: '`' c2da >> >> a semi-tacit (explicit adverb that returns tacit verb) version of your >> recurse adverb in original[1] and quoted >> >> r =: 1 : ' ''`a b c d'' =. m label_. b`(c $:@:d)@.a f.' >> >> Alternative syntax is not that bad even if it requires more tokens >> because seperating the active adverb from the parsing strategy. Even if it >> is much more elegant as your adverb when you can combine it with its >> parser. But the alternatives: >> >> 9: * 1: * <: t9 r >> 1:`(* $:@:<:)@.* >> >> >> * 1: * <: tie tie tie r >> 1:`(* $:@:<:)@.* >> >> While there is a loss in elegance, there is a readability benefit of >> having the parser(s) explicity mentioned. A separation of the work adverb >> and parser also allows you to insert in-between adverbs (such as setting >> default parameters/verb phrases). >> >> >> >> ----- Original Message ----- >> From: Jose Mario Quintana <[email protected]> >> To: Programming forum <[email protected]> >> Cc: >> Sent: Sunday, February 22, 2015 8:42 PM >> Subject: Re: [Jprogramming] Can whatever be written tacitly? >> >> I wrote: >> " >> Dan, if you are reading this ... I wonder if you wrote a recursive >> prototype for nest2Box, or if you could write one, which you could share. >> " >> >> Dan, never mind; I found: >> http://www.jsoftware.com/pipermail/programming/2011-November/025493.html >> and I should be able to take it from there. >> >> I also wrote: >> " >> Mu shines when it facilitates writing (tacit) adverbs (and "multiple" >> tacit >> adverbs). That was the reason that prompted me to write the lambda adverb >> (mu's sibling) in the first place. I will elaborate on the production of >> adverbs, via mu, another day. >> " >> >> Today is another day. This is another try at implementing the adverb >> (`:4) >> described in [0]. It has been almost a year since my first one [1]. Let >> us keep going in high gear well above the speed limit, >> >> JVERSION >> Installer: j602a_win.exe >> Engine: j701/2012-12-06/12:20/x >> Library: 6.02.023 >> >> evoke4=. [: v0 v1 v2 v3 'v1`(v2 $:@:v3)@.v0' mu >> >> fact=. evoke4 *`1:`*`<: >> fact 5 >> 120 >> >> fib=. evoke4 >&1`(i.@>:)`(] , +/@(_2&{.)@])`<: >> fib 7 >> 0 1 1 2 3 5 8 13 >> >> But that does not really implement the adverb `:4 because evoke4 is a >> wicked verb. Let us sweep the black magic under the carpet then, >> >> Evoke4=. [: v0 v1 v2 v3 'v1`(v2 $:@:v3)@.v0' mu adv >> >> fact=. *`1:`*`<: Evoke4 >> fact 5 >> 120 >> >> fib=. >&1`(i.@>:)`(] , +/@(_2&{.)@])`<: Evoke4 >> fib 7 >> 0 1 1 2 3 5 8 13 >> >> What is adv? It is an adverb that adverbializes a verb. It is easily >> defined in Jx but it can be also produced, without breaking any speed >> limit, using an official interpreter (see, for example, the definition of >> Adv0 in [1]); one can even use mu to produce such an adverb. Let us >> continue with the path set in [1] and produce a "quadruple" adverb (Ev4) >> using strand style (without the intrusive `) that does not require a cap. >> The adverb Evoke4 together with the adverb sna in [1] can produce the >> wanted adverb Ev4 but there is a better way. >> >> Ev4=. [: v0 v1 v2 v3 'v1`(v2 $:@:v3)@.v0' kappa >> >> fact=. * 1: * <: Ev4 >> fact 5 >> 120 >> >> fib=. >&1 (i.@>:) (] , +/@(_2&{.)@]) <: Ev4 >> fib 7 >> 0 1 1 2 3 5 8 13 >> >> What is kappa? It is a "multiple" adverb that produces another adverb >> with >> "multiplicity' equal to the number of arguments; kappa is lambda's twin. >> >> Ev4=. [: v0 v1 v2 v3 (v1`(v2 $:@:v3)@.v0) lambda >> >> fact=. * 1: * <: Ev4 >> fact 5 >> 120 >> >> fib=. >&1 (i.@>:) (] , +/@(_2&{.)@]) <: Ev4 >> fib 7 >> 0 1 1 2 3 5 8 13 >> >> Lambda takes directly the defining sentence without quotes and has certain >> advantages over kappa for producing adverbs. It follows a different >> approach that depends neither on a verbalized agenda, nor gTxt nor >> nest2Box. >> >> The latest version of Jx is still evolving but the intention is to make >> the >> patches for the extensions available once it settles. >> >> [0] Bernecky, Robert, and R.K.W. Hui, *Gerunds and Representations*, >> APL91, >> ACM. >> http://dl.acm.org/citation.cfm?id=114059 >> >> [1] Tacit recursion without $: >> >> http://www.jsoftware.com/pipermail/programming/2014-February/035416.html >> >> >> ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
