I moved this response to a new thread.

 

I am rethinking my concern with  @  and  [:  and am leaning toward using
explicit definitions as a way of teaching  J  to beginners as a natural
mathematical language.

 

Some of the programmers responding to the forum think in idioms and use  @
happily.

 

  f

<:@-@[ C.&.|. ]

   i

-@#@[ |. C.

   k

<@i.@-@>:@[ C. ]

   

0thers favor the tacit approach with lots of  [:

 

   g

] C.&.|.~ [: <: [: - [

   h

[: |. ([: <: [: - [) C. [: |. ]

   j

C. |.~ [: - [: # [

   

 

Both styles are appropriate and I should not suggest one way or the other.
Many of you have suggested this.

 

 

We are looking for a simple way to introduce  J  to beginners. In my opinion
we would introduce J  as a mathematical language for solving problem.

 

 

I am suggest starting with expressions that produce desired results.

Developing from right to left may come naturally.

 

    (<:-3 6)C.&.|.'abc*ef*g'

**abcefg    

   

The next step is making explicit functions indicating if the intended use is
monadic or dyadic. There is no use of  @  or  [: allowed at this point.

    g=: 13 :'(<:-x)C.&.|.y'

    h=: 13 :'|.(<:-x)C.|.y'

   j=: 13 :'(-#x)|.x C.y'

 

Now exploring the tacit definitions would be appropriate in some
environments and can be explored an studied in terms of forks and hooks.

At this special code and common idioms can be explored and timing of
expressions can be compared. In the end all roads lead to Rome.

 

   3 6 f 'abc*ef*g'

**abcefg

   3 6 g 'abc*ef*g'

**abcefg

   3 6 h 'abc*ef*g't

**abcefg

   3 6 i 'abc*ef*g'

**abcefg

   3 6 j 'abc*ef*g'

**abcefg

   

So all roads lead to Rome.

 

Beginning with Challenge 6 I will not exclude  @ .  Instead I will try some
other suggestion  to keep  J  simple. Please respond with any concerns or
suggestions.

 

In the future I hope to accept  @  and  [:  gracefully.

 

Linda 

 

 

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to