>From my point of view: verb grammar is structured left to right:  The part
on the left happens at a higher level than the part on the right.  And,
adverb grammar is structured right to left:  the part on the right happens
at a higher level than the part on the left.

In other words, these are equivalent:
   1 - 2 - 3 - 4
    1 - (2 - (3 - 4))

And, these are equivalent:
   -/\ 1 2 3 4
   ((-/)\) 1 2 3 4

If you use the reverse order you are thinking procedurally and not
structurally.  Procedural points of view are valid points of view, but if
you limit someone to thinking only procedurally you lose perspective.
 (Losing perspective can be valid to keep someone from panicking at being
presented with too much all at once, but in the long run it's a crutch and
a blindfold.)

But note also that eliminating conjunctions does not get rid of either
ordering, and conjunction grammar has strong parallels with adverb grammar.

-- 
Raul

On Tue, Nov 29, 2011 at 7:30 PM, Linda Alvord <lindaalv...@verizon.net>wrote:

> If you remove my main objection  @   you will begin to consider functions
> from right to left. Each function on the left is then applied to the
> already
> composed expression on the right. The trains you create will be composed of
> hooks and forks which can be expressed in tacit form.
>
> My interest is really in improving how you analyze any problem. The other
> focus is on how you can create expressions that are easy to interpret.
> Communicating your idea in a way that can be easily understood is very
> helpful to the reader. Once you have mastered the skill of solving problems
> concisely and simply, you can begin to make improvements allowing your
> definitions to extend to other cases or look for ways to increase the speed
> of execution. My target audiences are new users and those who wish to
> extend
> their skill in attacking problems. Hopefully both groups will have a good
> base to become versatile "speakers" of the language.
>
> Linda
>
>
> -----Original Message-----in
> From: programming-boun...@jsoftware.com
> [mailto:programming-boun...@jsoftware.com] On Behalf Of Tracy Harms
> Sent: Tuesday, November 29, 2011 10:35 AM
> To: Programming forum
> Subject: Re: [Jprogramming] FW: A simple function
>
> Linda,
>
> It does not seem to me that rephrasing to avoid @ (rank-zero composition)
> makes expressions simpler, either in this specific case or in general.
>
> If you'd like to elaborate on why that seems simpler to you, I'd like to
> hear your perspective.
>
> --Tracy
>
>
> On Sat, Nov 26, 2011 at 9:46 AM, Linda Alvord
> <lindaalv...@verizon.net>wrote:
>
> > A function that works.  It is not simple. Remove the @
> >
> > Linda
> >
> > -----Original Message-----
> > From: programming-boun...@jsoftware.com
> > [mailto:programming-boun...@jsoftware.com] On Behalf Of EelVex
> > Sent: Saturday, November 26, 2011 9:15 AM
> > To: matxinle...@hotmail.com
> > Cc: Programming forum
> > Subject: Re: [Jprogramming] FW: A simple function
> >
> > On Sat, Nov 26, 2011 at 11:29 AM, m l <matxinle...@hotmail.com> wrote:
> >
> > >
> > > I`m a beginner in J programming.
> > > I need writing a simple function:
> > >
> > > round ( x * sqrt (x*y))
> > >
> > > Thanks in advance.
> > >
> > > Matxin
> > >
> > >
> > Among the gazillion ways to do this:
> >
> > f =: [: <.0.5+ {. * %:@*/
> > f 15 30
> > 318
> > ------
> > 1. If you have a list of two numbers: x,y, you multiply them with `*/`:
> > */ 15 30
> > 450
> >
> > 2. You then take the square root (`%:`) of (`@`) that:
> > (%: @ */) 15 30
> > 21.2132
> >
> > 3. and multiply that by the first term of your list (`{.`)
> > ({.  * (%: @ */)) 15 30
> > 318.198
> >
> > 4. You then "apply" (`[:`) rounding (`<.0.5+`) to that:
> > ([: <.0.5+ {. * (%:@*/)) 15 30
> > 318
> >
> > Note that the construct in step 3 is a train of 3 verbs (see:
> > http://www.jsoftware.com/help/learning/09.htm).
> > (f g h) y  == (f y) g (h y)
> > where
> > y = 15 30
> > f = {.  (take first)
> > g = *  (multiply)
> > h = %:@*/  (square root of product)
> >
> > Also, you round a number n by taking the floor of (n + 0.5).
> >
> ----------------------------------------------------------------------
> 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