Linda,

If you want a one-liner ... such that 13 : '...' would reproduce
   [: <"2 ({~ [: \:"1~ |. $ [: ?.~ */)~
[: <"2 ({~ ([: \:"1~ |. $ [: ?.~ */))~

then you can work backward starting with

   13 : 'x ([: <"2 ({~ ([: \:"1~ |. $ [: ?.~ */))~) y'
[: <"2 ({~ ([: \:"1~ |. $ [: ?.~ */))~

followed by,

   13 : '<"2 y ({~ ([: \:"1~ |. $ [: ?.~ */)) x'
[: <"2 ({~ ([: \:"1~ |. $ [: ?.~ */))~

However, the next step produces a different form of the verb,

   13 : '<"2 (([: \:"1~ |. $ [: ?.~ */)x) { y'
[: <"2 ] {~ [: ([: \:"1~ |. $ [: ?.~ */) [

because 13 : '...' is smart but not smart enough.  You could continue as,

   13 : '<"2 (\:"1~ (|.x) $ ?.~ */x) { y'
[: <"2 ] {~ [: \:"1~ ([: |. [) $ [: ?.~ [: */ [

but the tacit verb produced might disappoint you,

You might be interested to know that 13 : '...' occasionally is too smart;
some verbs, such as ?, which do not always produce the same result given
the same argument, sometimes do not mix well with 13 : '...'; for example,

   ( u=.  3 : ' T + (T=. ? y)' )
3 : ' T + (T=. ? y)'

and
   ( v=. 13 : ' T + (T=. ? y)' )
? + ?

do not mean the same process.

I hope it helps


On Tue, Oct 16, 2018 at 4:23 PM Linda Alvord <lindaalvor...@outlook.com>
wrote:

> It may have lots of caps when you display it. I don't think 13 : allows
> caps in the definition..
>
> Linda
>
> Sent from my Verizon, Samsung Galaxy smartphone
> -------- Original message --------
> From: Raul Miller <rauldmil...@gmail.com>
> Date: 10/16/18 1:28 PM (GMT-05:00)
> To: Programming forum <programm...@jsoftware.com>
> Subject: Re: [Jprogramming] Using rank to avoid looping - reference?
>
> I'm not quite sure what you have said here (which, sadly for me, is
> not that all that uncommon of an experience).
>
> Are you saying that you want an explicit definition for h (without any
> use of [:) such that 13 : gives a tacit definition?
>
> Thanks,
>
> --
> Raul
>
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to