I have been thinking about a Winston Churchill quote, recently:

If you're going through hell, keep going.

Thanks,

-- 
Raul



On Mon, Feb 16, 2015 at 1:36 PM, Jose Mario Quintana
<[email protected]> wrote:
> Can whatever be written tacitly?  Depending on the type of whatever (verb,
> adverb or conjunction) the answers are respectively yes, yes, and no.  Any
> explicit verb or adverb can always be ,in principle, rewritten tacitly.  No
> (user-defined) conjunctions can be produced tacitly (using a current
> official interpreter).
>
> The question that follows is: How can whatever (explicit) verb or adverb be
> rewritten tacitly?
>
> Not surprisingly, many challenging questions posted on the forum involve
> explicit one-liners verbs such that the explicit-to-tacit conversion form
> 13 : '…' produces back explicit verbs instead of the wanted tacit verbs
> because the 13 : '…' requirement "every explicit sentence with one or two
> arguments which does not use the argument(s) as an operator argument" is
> not fulfilled.  A sample list is [0,1,2,3,4].
>
> I realized recently that this kind of challenges could be solved in a
> flash, if one is prepared to come to the dark side.  In other words,
> another one bites the dust... as long as one is willing to be literally
> incorrect.  Yes! :)
>
> A challenge, for example, in the thread corresponding to [4] was to produce
> a tacit counterpart (f1) of f0 where,
>
>    JVERSION
> Installer: j602a_win.exe
> Engine: j803/2014-10-19-11:11:11
> Library: 6.02.023
>
>    f0=.     4 :'x @.0&.>/y'"_1
>
>    F0=. ((-~ +/)"1)`((*~ +/)"1)`((+~ +/)"1)`((%~ +/)"1)
>    R0=. >: i. 5
>    D0=. (i.5 3);(i.5 2);(i.5 4);(i.5 3)
>
>    |.F0 f0 (<R0),. D0
> ┌───────────────────┬──────────────┬──────────────┬──────────────┐
> │ 3  1.5  1 0.75 0.6│ 7  8  9 10 11│ 1  2  3  4  5│ 2  1  0 _1 _2│
> │12    6  4    3 2.4│23 24 25 26 27│ 5 10 15 20 25│11 10  9  8  7│
> │21 10.5  7 5.25 4.2│39 40 41 42 43│ 9 18 27 36 45│20 19 18 17 16│
> │30   15 10  7.5   6│55 56 57 58 59│13 26 39 52 65│29 28 27 26 25│
> │39 19.5 13 9.75 7.8│71 72 73 74 75│17 34 51 68 85│38 37 36 35 34│
> └───────────────────┴──────────────┴──────────────┴──────────────┘
>
> A quick solution is,
>
>    ". noun define -. CRLF
>
> f1=.
> ((<<0 6),(<(<,'X'),(<'@.'),(<<(,'0');0),(<'&.'),(<,'>'),(<,'/'),<,
> 'Y'),<(,0);(,1);(,2);(,3);(,4);(,5);,6)&((1&({::)
> ((<'@.') (0:`)(,^:)) 2&({:
> :))@:(<@:((0: 0&({::)@:]`(<@:(1&({::))@:])`(2&({::)@:])} ])@:(3 0
> 1&{)) 1} ])@:(, <))@:,&:(<@:((,'0') ,&< ]))"_1
>
> )
>
>    |.F0 f1 (<R0),. D0
> ┌───────────────────┬──────────────┬──────────────┬──────────────┐
> │ 3  1.5  1 0.75 0.6│ 7  8  9 10 11│ 1  2  3  4  5│ 2  1  0 _1 _2│
> │12    6  4    3 2.4│23 24 25 26 27│ 5 10 15 20 25│11 10  9  8  7│
> │21 10.5  7 5.25 4.2│39 40 41 42 43│ 9 18 27 36 45│20 19 18 17 16│
> │30   15 10  7.5   6│55 56 57 58 59│13 26 39 52 65│29 28 27 26 25│
> │39 19.5 13 9.75 7.8│71 72 73 74 75│17 34 51 68 85│38 37 36 35 34│
> └───────────────────┴──────────────┴──────────────┴──────────────┘
>
> How was f1`s code produced?  Quite easily, using the latest version of a
> modified interpreter (Jx) that takes literacy incorrectness to new lows...
>
>    JVERSION
> Installer: j602a_win.exe
> Engine: j701/2012-12-06/12:20/x
> Library: 6.02.023
>
>    f1=. [: X Y 'X @.0&.>/Y' mu o ,&:an f. "_1 f.
>
> The rest required to wrap and repair its linear representation (for the
> purpose of showing f1 to this forum running on an official interpreter),
>
>    66 (Wrap=.-@:[ ]\ 5!:5@<@:]) 'f1'
> ((<<0 6),(<(<,'X'),(<'@.'),(<<(,'0');0),(<'&.'),(<,'>'),(<,'/'),<,
> 'Y'),<(,0);(,1);(,2);(,3);(,4);(,5);,6)&((1&({::) ,^:(0:`@.) 2&({:
> :))@:(<@:((0: 0&({::)@:]`(<@:(1&({::))@:])`(2&({::)@:])} ])@:(3 0
> 1&{)) 1} ])@:(, <))@:,&:(<@:((,'0') ,&< ]))"_1
>
>    ((<'@.') (0:`)(,^:))
> ,^:(0:`@.)
>
> The definitions of an and o are,
>
>    an
> <@:((,'0') ,&< ])
>
>    o
> @:
>
> What is mu?
>
>    66 Wrap 'mu'
> (2?:(<(,'0');({:@:] (?:(<'`:'))&6 :.(<@:((,'0') ,&< ]))@:, <@:((,'
> 0') ,&< ])@:(?:(<'`.')))`((?:(<'`:'))&6 :.(<@:((,'0') ,&< ]))@:({:
>  ; <@:((,'0') ,&< ])@:}:)@:}:@:])@.(>@:((<[:)"_) -: [)))((<(,'0');
> ([ (?:(<,'&')) >@:])&(<(1&({::) ,^:(0:`@.) 2&({::))@:(<@:((0: 0&({
> ::)@:]`(<@:(1&({::))@:])`(2&({::)@:])} ])@:(3 0 1&{)) 1} ])@:(, <)
> )@:(1 2 3&{)@:(<@:(<@:(2&({::) (i."_ 0) 1&({::))) 1} ])@:((((,&< ~
> .)@:[ (1&({::)@:[ ,&< (1&({::)@:[ i. ] { 0&({::)@:[)L:_ 0) ]) ((;:
> '()') >@:{.^:(1 = #)L:1^:_@:(>@:{.L:1)@:((('';1) <@:,;.1 ] <@:(}.@
> :}:^:(1 < #));.2&>~ (= <./)&.>@:{:)L:1^:(1 + >./@:>@:{:))@:(i.@#@]
>  ,&< +/\@:(-/)@:(=/)) ]))@:((<@:((,'0') ,&< ])@:".@:]^:[&.>~ ([: (
> ('''' = {.) +. (':' ~: {:) *. '_0123456789' e.~ {.)@|: 2 {.&> ]))@
> :(}.~ (_1 * 'NB.' (('.:' e.~ {:@]) < (-: }:)) 4 {.&> {:))@:;:)@:((
> ?:(<'`:'))&6 :.(<@:((,'0') ,&< ])))@:{:@:(0&({::)) 2 3} ])@:(<@:(}
> :@:(0&({::))) 1} ])@:('W E I'&(] , ;:@:[))@:<),<(,'0');(2?:(<(,'0'
> );({:@:] (?:(<'`:'))&6 :.(<@:((,'0') ,&< ]))@:, <@:((,'0') ,&< ])@
> :(?:(<'`.')))`((?:(<'`:'))&6 :.(<@:((,'0') ,&< ]))@:({: ; <@:((,'0
> ') ,&< ])@:}:)@:}:@:])@.(>@:((<[:)"_) -: [))))
>
> Alright, alright; its linear representation is seriously faulty anyway.  In
> English words: mu is an adverb written after its sibling adverb lambda
> which I have mentioned before.  Mu allows the production of a wicked verb
> specified by a sentence written in a lambda/strand notation style.  The
> sentence implies the sequential production of multiple adverbs that
> culminates with the production of the wicked verb.  For example mu in the
> sentence ( [: X Y 'X @.0&.>/Y' mu ) is what Pascal could refer as a
> "multiple" adverb, in this particular case, a "quadruple" adverb [5].
>
> Dan, if you are reading this, you might have noticed that you very own
> nest2Box and gTxt verbs [6] are embedded in mu; thanks for writing and
> sharing them.  I understand your reasons for writing nest2Box cutting
> bottom-up rather than recursing top-down.  However, one can now embed
> anonymous recursive verbs even when one is using an official interpreter.
> I wonder if you wrote a recursive prototype for nest2Box, or if you could
> write one, which you could share.  I am curious if a possible TCO Jx
> version of nest2Box could be competitive.
>
> What else can mu allow one to do?
>
>    plus=. [: X Y 'X+Y  NB. Are X and Y nouns or verbs?' mu
>    type'plus'
> ┌────┐
> │verb│
> └────┘
>
>    plus o (an"0) 2 3      NB. Plus producing a noun
> 5
>    2 plus o (an"0) o , 3
> 5
>    plus 2`.3              NB. `. is a Jx extension
> 5
>
>    plus *`%               NB. Plus producing a verb :)
> * + %
>    (*`'') plus o , (%`'')
> * + %
>    1 2 3 (*`'') plus o , (%`'') 4 5 6
> 4.25 10.4 18.5
>
>    plus 2`.%
> 2 + %
>    plus 2`.% 3 4 5
> 2.33333333 2.25 2.2
>
> Mu allows the use multiple formal parameters, continuing with the applying
> gerund example [4],
>
>    g0=. [: F D R '|.F f1 (<R),. D  NB. Three parameters' mu o (an e) f.
> NB. "Quintuple" adverb
>
>    g0 (F0;D0;R0)  NB. Boom shakalaka!
> ┌───────────────────┬──────────────┬──────────────┬──────────────┐
> │ 3  1.5  1 0.75 0.6│ 7  8  9 10 11│ 1  2  3  4  5│ 2  1  0 _1 _2│
> │12    6  4    3 2.4│23 24 25 26 27│ 5 10 15 20 25│11 10  9  8  7│
> │21 10.5  7 5.25 4.2│39 40 41 42 43│ 9 18 27 36 45│20 19 18 17 16│
> │30   15 10  7.5   6│55 56 57 58 59│13 26 39 52 65│29 28 27 26 25│
> │39 19.5 13 9.75 7.8│71 72 73 74 75│17 34 51 68 85│38 37 36 35 34│
> └───────────────────┴──────────────┴──────────────┴──────────────┘
>
> 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.  It is ironic that naming arguments
> facilitates the production of some kind of verbs and adverbs that do not
> name arguments.  Oh well, "We do what we have to do so that we can do what
> we want to do."
>
> [0]  Conjunction in tacit verb
>
> http://www.jsoftware.com/pipermail/programming/2015-January/040965.html
>
> [1]  Substitution with under
>       http://www.jsoftware.com/pipermail/programming/2014-May/037213.html
>
> [2]  Tacit?
>
> http://www.jsoftware.com/pipermail/programming/2014-January/034499.html
>
> [3]  Tacit help needed
>       http://www.jsoftware.com/pipermail/programming/2009-August/015798.html
>
> [4]  Applying gerund
>       http://www.jsoftware.com/pipermail/programming/2009-August/016023.html
>
> [5]  Double adverbs vs conjunctions
>
> http://www.jsoftware.com/jwiki/PascalJasmin/double%20adverbs%20vs%20conjunctions
>
> [6]  Anonymous Evoke (ae), take 2
>
> http://www.jsoftware.com/svn/DanBron/trunk/environment/anonymous_evoke2.ijs
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to