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

Reply via email to