If the implementer(s) had done his/her/their job properly, ∧@o., ∧@:o., and
[:∧o. should all be supported by special code.  For example,
http://www.jsoftware.com/help/release/edot504.htm .

Special codes are documented in
http://www.jsoftware.com/help/dictionary/special.htm .



2011/12/7 Linda Alvord <lindaalv...@verizon.net>

> Here's the stuff I was preparing to send you:
>
>   d=:0 0.5 1 1.5
>   f=: 13 :'o.j.y'
>   f
> [: o. j.
>   ]a=:f d
> 0 0j1.5708 0j3.14159 0j4.71239
>  ]g=:^a
> 1 6.12323e_17j1 _1j1.22465e_16 _1.83697e_16j_1
>
> This has to be the correct answer!  So, I compared the three versions:
>
>   h=: 13 :'^o.j.y'
>   h
> [: ^ [: o. j.
>   h d
> 1 6.12323e_17j1 _1j1.22465e_16 _1.83697e_16j_1
>   5!:4 <'h'
>  -- [:
>  +- ^
> --+    -- [:
>  L----+- o.
>       L- j.
>
> This was as I expected. Since I copied that all from jijx, I got suspicious
> when I pasted it into the message.  It is a different type face. That
> seemed
> odd.
>
>  i=: 13 :'^@o.@j.y'
>  i
> ^@o.@j.
>  i d
> 1 0j1 _1 0j_1
>  5!:4 <'i'
>
>            -- ^
>      -- @ -+- o.
> -- @ -+- j.
>
> This seemed like the wrong answer.  I never did like  @  anyway. But,  @:
> should work.
>
>   j=: 13 :'^@:o.@:j.y'
>   j
> ^@:o.@:j.
>   j d
> 1 6.12323e_17j1 _1j1.22465e_16 _1.83697e_16j_1
> 5!:4 <'j'
>              -- ^
>       -- @: -+- o.
> -- @: -+- j.
>
> Again this is as I expected. I finally realized that:
>
>    1 0j1 _1 0j_1 -: 1 6.12323e_17j1 _1j1.22465e_16 _1.83697e_16j_1
> 1
>
> I was going to post this when I read about your special code.  It is hiding
> were  @  and  @:  are supposed to be alike.  But I must admit that the
> third
> element of the list:
>
> 1 0j1 _1 0j_1
>
> is more comforting than:
>
> _1j1.22465e_16
>
> How about advertising that  @  is always a hiding place for special code.
> Actually I don't know where the rest of the special code is hiding.
>
> Linda
>
>
>
>
> -----Original Message-----
> From: programming-boun...@jsoftware.com
> [mailto:programming-boun...@jsoftware.com] On Behalf Of Roger Hui
> Sent: Tuesday, December 06, 2011 4:09 AM
> To: Programming forum
>
> ^@o.@j. 0 0.5 1 1.5
> 1 0j1 _1 0j_1
>
>   ^@o.@j. 0.5 * i.5 4
> 1 0j1 _1 0j_1
> 1 0j1 _1 0j_1
> 1 0j1 _1 0j_1
> 1 0j1 _1 0j_1
> 1 0j1 _1 0j_1
>
>   ^@o.@j. 1e9 + 0.5 * i.5 4
> 1 0j1 _1 0j_1
> 1 0j1 _1 0j_1
> 1 0j1 _1 0j_1
> 1 0j1 _1 0j_1
> 1 0j1 _1 0j_1
>
>
>
> 2011/12/6 Linda Alvord <lindaalv...@verizon.net>
>
> > Can you make a simple example that looks like this  u@v@w  ?  Please use
> > actual verbs so that it is a tight little nugget that might come about in
> a
> > fairly simple mathematical situation. Use it in a situation that does not
> > require rank. Next, write it in explicit form without  @
> >
> > Here's what I would like.  Remember  foo  ?
> >
> >    foo=: 13 :'an expression with x's and y's and three verbs like # , %:
> ,
> > ? or  * '
> >
> >
> > Also:
> >
> > Let us use   [: u v    or  u@:v  as we like, and specify a rank when we
> > need one.
> >
> > I think I could live with:
> >
> > Let us use   [: u v   unless rank is involved.  Only use u@:v  if rank
> is
> > needed, thus  @  vanishes from the planet.
> >
> >
> > Linda
> >
> >
> > -----Original Message-----
> > From: programming-boun...@jsoftware.com
> > [mailto:programming-boun...@jsoftware.com] On Behalf Of Henry Rich
> > Sent: Monday, December 05, 2011 10:08 PM
> > To: Programming forum
> > Subject: Re: [Jprogramming] Turkey Roll - Challenge 2
> >
> > If you are OK with @: , then we agree.  @ is hard for beginners.
> >
> >
> > u@v  is equivalent to   u@:v"v   or  ([: u v)"v
> >
> > u@v@w is u@:v"v@:w"w  or  ([:   ([: u v)"v   w)"w
> >
> > Henry Rich
> >
> > On 12/5/2011 9:57 PM, Linda Alvord wrote:
> > > Can you make a simple example that looks like this  u@v@w  .  Is it
> > possible
> > > to write an explicit version that will create a tacit expression to do
> > the
> > > same thing?
> > >
> > > I don't have a problem with  @:  .  My concern is only with  @
> > >
> > > Linda
> > >
> > > -----Original Message-----
> > > From: programming-boun...@jsoftware.com
> > > [mailto:programming-boun...@jsoftware.com] On Behalf Of Henry Rich
> > > Sent: Monday, December 05, 2011 9:28 PM
> > > To: Programming forum
> > > Subject: Re: [Jprogramming] Turkey Roll - Challenge 2
> > >
> > > I don't understand why u@v is anything other than 'right to left'.  It
> > > means do v, then do u.  u@v@w means w, then v, then u.
> > >
> > > The complication of @ is not its ordering, it's its rank.  In my
> classes
> > > I teach @: as a primitive.  We don't use [:, or @  .
> > >
> > > Henry Rich
> > >
> > > On 12/5/2011 9:15 PM, Linda Alvord wrote:
> > >>
> > >> Compare your expression for  dice :
> > >>
> > >>      faces=: {&' o'@((i.3 3)e.&":"1])&.>4 80 840 8620 86420 865320
> > >>      faces
> > >> ------T-----T-----T-----T-----T-----┐
> > >> │     │o    │o    │o   o│o   o│o   o│
> > >> │  o  │     │  o  │     │  o  │o   o│
> > >> │     │    o│    o│o   o│o   o│o   o│
> > >> L-----+-----+-----+-----+-----+------
> > >>
> > >> With Kip Murray's version:
> > >>
> > >>       one =:   '   ',' o ',:'   '
> > >>       two =:   'o  ','   ',:'  o'
> > >>      three =: 'o  ',' o ',:'  o'
> > >>      four =:  'o o','   ',:'o o'
> > >>      five =:  'o o',' o ',:'o o'
> > >>      six =:   'o o','o o',:'o o'
> > >>      ]dice =: one;two;three;four;five;six
> > >> ----T---T---T---T---T---┐
> > >> │   │o  │o  │o o│o o│o o│
> > >> │ o │   │ o │   │ o │o o│
> > >> │   │  o│  o│o o│o o│o o│
> > >> L---+---+---+---+---+----
> > >>
> > >> Your dice are great looking! However that change has greatly increased
> > the
> > >> complexity of the code.  Also, there is a condition of the challenge
> to
> > >> exclude  @  in each expression. This requirement encourages
> considering
> > > the
> > >> execution from the right toward the left. In your example  4 80 840
> > 8620
> > >> 86420 865320   could  be puzzling to a beginner. Your other ideas are
> > >> thoughtful ideas to incorporate in an actual design of a program. At
> > this
> > >> stage, I'm trying to raise issues that can be discussed and explored
> > >> further.
> > >>
> > >>   From your design so far, is it possible for you to capture the
> actual
> > > values
> > >> of the  and display them following each   toss  ?  It is this data
> that
> > > will
> > >> be useful as you finish the challenge.
> > >>
> > >> Linda
> > >>
> > >>
> > >> -----Original Message-----
> > >> From: programming-boun...@jsoftware.com
> > >> [mailto:programming-boun...@jsoftware.com] On Behalf Of Raul Miller
> > >> Sent: Monday, December 05, 2011 9:50 AM
> > >> To: Programming forum
> > >> Subject: Re: [Jprogramming] Turkey Roll - Challenge 2
> > >>
> > >> Personally, I have been baffled by a number of the choices and
> > > requirements
> > >> here.  And, by this, I mean that I do not understand them.
> > >>
> > >> That said, here is my current interpretation of a mix of some of the
> > >> statements expressed here, about what is being accomplished:
> > >>
> > >> faces=: {&' o'@((i.3 3)e.&":"1])&.>4 80 840 8620 86420 865320
> > >> toss=: (] {~ (?@$ #)) ".bind 'faces'
> > >>
> > >> Example use, with ascii box drawing enabled:
> > >>
> > >>      toss 2 10
> > >> +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
> > >> |o    |o    |o   o|o    |o    |o    |o    |o   o|o   o|o   o|
> > >> |  o  |  o  |  o  |  o  |  o  |     |     |     |  o  |o   o|
> > >> |    o|    o|o   o|    o|    o|    o|    o|o   o|o   o|o   o|
> > >> +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
> > >> |o    |o   o|o    |o   o|o   o|o    |o    |o    |o   o|o    |
> > >> |  o  |  o  |     |  o  |     |     |     |     |     |     |
> > >> |    o|o   o|    o|o   o|o   o|    o|    o|    o|o   o|    o|
> > >> +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
> > >>      toss 2 10
> > >> +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
> > >> |o    |o    |o   o|o    |o   o|o    |o   o|o   o|o   o|o    |
> > >> |     |     |     |  o  |o   o|  o  |     |  o  |o   o|     |
> > >> |    o|    o|o   o|    o|o   o|    o|o   o|o   o|o   o|    o|
> > >> +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
> > >> |o   o|o    |o   o|o   o|o   o|o   o|     |o   o|o   o|o   o|
> > >> |     |     |  o  |     |     |  o  |  o  |     |     |     |
> > >> |o   o|    o|o   o|o   o|o   o|o   o|     |o   o|o   o|o   o|
> > >> +-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
> > >>
> > >> Notes:
> > >>
> > >> 1. I spaced my pips out wider, horizontally, than the original.  I
> think
> > >> this looks better.
> > >> 2. toss has 'faces' as an implicit dependency
> > >> 3. I can change the number of dice being tossed by changing the
> argument
> > > to
> > >> toss
> > >>
> > >> In my opinion, this is not a very good design.  In "real life" code, I
> > >> would either replace (". bind 'faces') with (faces) or I would make it
> > an
> > >> argument to the function.
> > >>
> > >> I could probably compress a few characters out of the definition of
> > faces,
> > >> but it would become more mysterious if I did so.
> > >>
> > > ----------------------------------------------------------------------
> > > 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
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to