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
