Thanks a lot for the verb and also the explanation! I found that kind of
construction very useful for my work.

 Kairit Sirts


> 
> Raul wrote:
> >  alp=: a.{~,65 97+/i.26
> >  f=: (('='={.&>) # }.&.>) @ (-.@(e.&alp) <;.1 ])
> 
> Alan Stebbens responded:
> > Can any of you honestly say that the above sentence is 
> > "straightforward"? :^)
> 
> As odd as it sounds, yes.  Once you learn the language (in 
> particular the tacit style), Raul's expression really isn't 
> complicated at all.
> 
> I see an  @  gluing two processes together.  Let's call these 
> the primary-processor and the post-processor.  Let's look at 
> the primary-processor (rightmost) first.
> 
> I see a train.  The right tine is  ]  , the identity.  The 
> middle tine is  <;.1  , cut.  The left tine is longer; but 
> knowing cut and knowing the relavant J patterns that surround 
> it, it's almost certain it calculates a boolean mask based on 
> the input (to determine where to partition that input).  
> Looking deeper, this tine starts with  -.@  "the negation 
> of".  It ends with  e.&alp  .
> I do not even decompose this -- it reads as a cohesive whole: 
>  "members of the alphabet", rendering the entire verb "mark 
> non-alphabetic characters".  
> 
> So the primary-processor simply cuts up the input into boxes, 
> putting a partition wherever there is a non-alphabetic character.
> What about the post-processor?  
> 
> Again, I see a train.  The middle tine is  #  , which (most 
> often) means the left tine calculates a boolean mask to filter the
> right argument.  That left tine is   '='={.&>  , a NVV (noun, 
> verb, verb) train.  It compares the lead item of every partition to
> the character  '='  , resulting in a boolean mask with one 
> bit per partition.  The right tine removes the lead item from 
> every partition (because it's served its purpose).  The 
> result that only partitions which start with  '='  remain 
> (but without that character).
> 
> I hope that clarifies Raul's code.  But remember that once 
> you become fluent in J, you won't have to go through this exercise.
> What I've done above is basically what my teachers did for me 
> in Spanish class: they broke down the grammar and translated 
> the vocabulary (and common idioms), resulting in a lengthy 
> explanation.  Whereas for a native speaker, no explanation is 
> required -- he just reads the sentence "naturally".  It's no 
> different for J.
> 
> Well, maybe one thing is different.  It took me 4 paragraphs 
> to explain one line of J.  That's potency.  And maybe a 
> motivation to become fluent.
> 
> -Dan
> 
> ----------------------------------------------------------------------
> 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