For myself I remember finding it easier to parse tacit expressions
without conjunctions initially. For that reason I preferred the use of
[: to @ . Over time, as I became more fluent with J words/symbols and
was able to easily identify verbs, conjunctions and adverbs I found
myself preferring @ in many cases because of the way it binds
component verbs together visually.

So yes reducing the vocabulary helps, but I can see that reducing the
complexity of the grammar by reducing the usage of conjunctions helps
too.

Other things that I think may make life easier for new J users is
syntax highlighting that differentiates words by their part-of-speech
(jgtk does this by default) and the use of whitespace when composing
tacit expressions to group compound verbs together.
  (+/ % #) vs (+/%#)


On Wed, Nov 30, 2011 at 7:04 AM, Raul Miller <rauldmil...@gmail.com> wrote:
> Personally, I do not find |. 3 $ |. n easier to read at a glance. than
> 3&$&.|. n
>
> But I think your point is that by reducing the vocabulary expected of the
> reader, you open the door to a larger audience.
>
> But, given that the vocabulary of J is rather small to begin with, and
> given that you are still going to have to be able to read J to understand J
> sentences, I am not sure how significant this effect can be.
>
> --
> Raul
>
>
> On Tue, Nov 29, 2011 at 11:51 AM, Kip Murray <k...@math.uh.edu> wrote:
>
>> Let me try.
>>
>> The expression 3$&.|.n occurs on the Vocabulary page for Rank u"n .
>>  From the definition of &. we can decipher that
>>
>> 3 $&.|. n  is  |. (|. 3) $ (|. n)  that is  |. 3 $ |. n
>>
>> Isn’t that last easier to understand at a glance?
>>
>> Simple J prefers trains with no conjunction other than Rank " .
>>
>> Expressed in Simple J the verb applied to n is [: |. 3 $ |. .
>>
>> Perhaps a better name would be Beginner's J.  Keep the syntax simple,
>> make ranks explicit when you need to think about them.  Eventually you
>> will need to graduate from Beginner's J.
>>
>>
>> On 11/29/2011 9:35 AM, Tracy Harms wrote:
>> > 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
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to