Sure, the little puzzle, even after the spoiler, is not that easy :) ...
Notice the smiley at the end of
'I am presenting myself by executing this sentence :)'

There is no way the poor old untrusty linear representation (LR)  ;)  can
faithfully represent  WhoAmI  for two reasons (another spoiler follows
after a few blank lines):












First, the Superbug is pestering the LR of certain embedded gerunds, for
example,

   ^:(0:`(<'&'))
^:(0:`&)

Last, but certainly not least, the LR is trying its best to deal with a
noun that, arguably, should not be part of J's reality but fortunately it
is.  That is, a box containing a verb (in my mind this is the simplest way
for a noun to represent a verb , adverb or conjunction; to recover the word
just open the box); for example, if  V  is a box containing the verb  *
 then,

   V
┌─┐
│*│
└─┘
   (5!:5)<'V'
<*

Later I will show how I produced the recurrent verb  WhoAmI  which is,
giving the illusion of, taking arguments as a strand.





On Thu, Mar 23, 2017 at 12:15 AM, 'Pascal Jasmin' via Programming <
[email protected]> wrote:

> get syntax error
>
>
>
>
> ________________________________
> From: Jose Mario Quintana <[email protected]>
> To: "[email protected]" <[email protected]>
> Sent: Wednesday, March 22, 2017 11:44 PM
> Subject: Re: [Jprogramming] introducing j plus plus
>
>
>
> Thanks for the feedback Pascal.  I just realized that I might have used
> tacit anonymous continuations inadverterdly when I wrote, in Jx, the tacit
> recurrent (aka multiple) adverbs   sa   and   sna  which can convert
> adverbs taking arguments as a gerund into adverbs taking arguments  as a
> strand [0].  Incidentally, I have rewriten similar versions of
> adverbs which run in official J interpreters but that should be a subject
> for another thread in another time.
>
> In the meantime the following is a little puzzle in the same vain:
>
>
> WhoAmI '' 'I am presenting myself by executing this sentence :)' ''
> 'Spoiler coming in,' '' (,.|.i.33) '' (|.'...brev gnicudorper-fles eht
> ma I') ''
> I am presenting myself by executing this sentence :)
> Spoiler coming in,
> 32
> 31
> 30
> 29
> 28
> 27
> 26
> 25
> 24
> 23
> 22
> 21
> 20
> 19
> 18
> 17
> 16
> 15
> 14
> 13
> 12
> 11
> 10
> 9
> 8
> 7
> 6
> 5
> 4
> 3
> 2
> 1
> 0
> I am the self-reproducing verb...
> (<([ ,^:(0:`&) >)@:[ [ 0 0&$@(1!:2&2)@:])&(([ ,^:(0:`&) >)@:[ [ 0
> 0&$@(1!:2&2)@:])
>
>
> [0] [Jprogramming] Tacit recursion without $:
>
> *
> http://www.jsoftware.com/pipermail/programming/2014-February/035416.html
> <http://www.jsoftware.com/pipermail/programming/2014-February/035416.html
> >*
>
> On Wednesday, March 22, 2017, 'Pascal Jasmin' via Programming <
> [email protected]> wrote:
>
> > The f11 script for running a multiline definition from anywhere inside
> the
> > enclosing code is also pretty cool
> >
> > 0. for (0 {:: ]) 1. for (1 {:: ]) is a big convenience to  me too.  0.~
> is
> > (0 {:: [)
> >
> > but quoteless code is the big feature.  It makes it much easier to use
> > custom parsers.  Gerunds specifically are easier to input with a higher
> > priority than conjunction separator (Q uses ; the way gg uses ` as
> > separator)
> >
> > It should be compatible with existing code as well.  The one caveat is
> > that "fancy" multiline code (hides a (: 0) ) should use the magic
> constant
> > ML so the parser can know it is multiline.  or modify the nummultiline
> verb.
> >
> > it already handles code lines such as
> >
> >
> > 3 : 0 : (4 : 0)  NB. 2 multiline closing ) are needed.
> >
> >
> >
> > As to question on continuations, it is based closely on
> >
> >
> > http://code.jsoftware.com/wiki/Guides/Lexical_Closure
> >
> > but with the option of being fully anonymous.  Still currently a toy.
> >
> > One neat feature in the toy unrelated to closures/continuations is SNR -
> > self name reference.  This allows genericity in having a function return
> a
> > function of itself.
> >
> >
> > A function "should"/may return a new function and a result.  The best
> > example in the toy is
> >
> > mycycle
> > ┌───────────────────────────────────┬──┐
> > │┌───────────────┬───────────┬─────┐│11│
> > ││┌─┬───────────┐│cycle_base_│┌─┬─┐││  │
> > │││0│10 11 12 13││           ││0│2│││  │
> > ││└─┴───────────┘│           │└─┴─┘││  │
> > │└───────────────┴───────────┴─────┘│  │
> > └───────────────────────────────────┴──┘
> >
> >
> > This contains 2 items.  A gerund representing a function, and the last
> > result
> >
> > cont2 'mycycle'
> > 12
> > cont2 'mycycle'
> > 13
> >
> > these return the function result but also updates the function
> >
> >
> > mycycle
> >
> > ┌───────────────────────────────────┬──┐
> > │┌───────────────┬───────────┬─────┐│13│
> > ││┌─┬───────────┐│cycle_base_│┌─┬─┐││  │
> > │││0│10 11 12 13││           ││0│0│││  │
> > ││└─┴───────────┘│           │└─┴─┘││  │
> > │└───────────────┴───────────┴─────┘│  │
> > └───────────────────────────────────┴──┘
> >
> > cycle_base_ is a dyad returns a gerund, and result, but the gerund in
> > mycycle has both parameters bound to it.
> >
> > cycle SNR4.: (x  FNAME aar tiD ((#x) | >: y) tiD ) ,&< (y{x)
> >
> > the .: glyph quotes both left and right params (until any terminating ")"
> > or end if none found)
> > SNR expands the definition to
> >
> > cycle
> > 4 : 0
> > FNAME =. 'cycle_base_'
> > ( x FNAME aar tiD ( ( # x ) | >: y ) tiD ) , & < ( y { x )
> > )
> >
> > It rotates through x items.
> >
> >
> > Real applications include lazy data structures.  Functions that feed one
> > data item at a time can work identically with a file or slow-result
> socket
> > connection, or terminate after the right result found.  Anonymous and
> > classless versions of this process means there's nothing to cleanup when
> > you stop querying the next value(s).
> >
> >
> > ________________________________
> > From: Jose Mario Quintana <[email protected] <javascript:;>>
> > To: Programming forum <[email protected] <javascript:;>>
> > Sent: Wednesday, March 22, 2017 4:16 PM
> > Subject: Re: [Jprogramming] introducing j plus plus
> >
> >
> >
> > A quoteless J?  That is neat, I do not like quoting code particularly
> when
> > it leads to quotes within quotes within quotes within...
> >
> > I find the related continuations.ijs script intriguing.  Can you explain
> > what is the purpose of the continuations?  How can you use them?  Simple
> > examples would be appreciated.
> >
> >
> > On Fri, Mar 17, 2017 at 9:25 PM, 'Pascal Jasmin' via Programming <
> > [email protected] <javascript:;>> wrote:
> >
> > > A preparser for J that autocloses parentheses, and makes embedding
> quotes
> > > easier.  Also has user-defined primitives.
> > >
> > >
> > > https://github.com/Pascal-J/jpp
> > >
> > > as examples,
> > >
> > > 4 timespacex: +/ i.1000
> > >
> > > is equivalent to
> > >
> > > 4 timespacex '+/ i.1000'
> > >
> > > the suggested F11 macro is pretty neat.  Runs a section of code in a
> > > file.  Unlike ctrl-R, you don't need to be at the top level line in
> order
> > > to run the multiline group that encloses the current line.
> > > ----------------------------------------------------------------------
> > > For information about J forums see http://www.jsoftware.com/forums.htm
>
> >
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
> ----------------------------------------------------------------------
> 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