Trying again and adding more...
A neat measure of neatness,
   neat=. #@:|:@:":@:(5!:2)@<      neat e ('waveVC' ; 'waveJQ' ; 'waveR' ; 
'waveR0' ; 'cheat')┌───┬───┬───┬───┬──┐│117│114│108│102│94│└───┴───┴───┴───┴──┘ 
but it is not invulnerable.
_______________________________________________________________

I agree, counting the number of tokens (especially focusing on the string used 
to define the verb) is not particularly productive,     nt=. # @: ;: @: lr @: < 
  nt e ('waveVC' ; 'waveJQ' ; 'waveR')┌──┬──┬──┐│41│40│32│└──┴──┴──┘
Counting the number of structural components is, in my opinion, better as a 
measure of the complexity of (honest) fixed tacit verbs,
   nsc=.  # @: (<S:0) @: (5!:2) @: <   nsc'nsc'11      nsc0=. [: # [: (<S:0) [: 
(5!:2) <   nsc0 e ('nsc';'nsc0')┌──┬──┐│11│11│└──┴──┘   nsc1=.  # @: ((<S:0) @: 
((5!:2) @: <))   nsc e ('nsc';'nsc0';'nsc1')┌──┬──┬──┐│11│11│11│└──┴──┴──┘   
nt e ('nsc';'nsc0';'nsc1')┌──┬──┬──┐│15│11│15│└──┴──┴──┘   waveR0=. [: <"_1 [: 
|.&|:^:(<5) [: (|."_1~ ([: >. +/ .=&' ' % _2:)) [: > ;:
   nsc e ('waveVC' ; 'waveJQ' ; 'waveR' ; 
'waveR0')┌──┬──┬──┬──┐│32│31│28│28│└──┴──┴──┴──┘

> From: jmq...@hotmail.com
> To: programming@jsoftware.com
> Date: Sun, 3 Jun 2012 15:32:33 -0400
> Subject: Re: [Jprogramming] Challenge 11 Wave the Flag
> 
> 
> 
> I agree, counting the number of tokens (especially focusing on the string 
> used to define the verb) is not particularly productive,
>      nt=. # @: ;: @: lr @: <   nt e ('waveVC' ; 'waveJQ' ; 
> 'waveR')┌──┬──┬──┐│41│40│32│└──┴──┴──┘
> Counting the number of structural components is, in my opinion, better as a 
> measure of the complexity of (honest) fixed tacit verbs,
>    nsc=.  # @: (<S:0) @: (5!:2) @: <      nsc'nsc'11   nsc0=. [: # [: (<S:0) 
> [: (5!:2) <   nsc0 e ('nsc';'nsc0')┌──┬──┐│11│11│└──┴──┘   nsc1=.  # @: 
> ((<S:0) @: ((5!:2) @: <))   nsc e 
> ('nsc';'nsc0';'nsc1')┌──┬──┬──┐│11│11│11│└──┴──┴──┘   nt e 
> ('nsc';'nsc0';'nsc1')┌──┬──┬──┐│15│11│15│└──┴──┴──┘
>    waveR0=. [: <"_1 [: |.&|:^:(<5) [: (|."_1~ ([: >. +/ .=&' ' % _2:)) [: > ;:
>    nsc e ('waveVC' ; 'waveJQ' ; 'waveR' ; 
> 'waveR0')┌──┬──┬──┬──┐│32│31│28│28│└──┴──┴──┴──┘
> 
> > Date: Sun, 3 Jun 2012 11:22:57 -0400
> > From: rauldmil...@gmail.com
> > To: programming@jsoftware.com
> > Subject: Re: [Jprogramming] Challenge 11 Wave the Flag
> > 
> > If by simplification you mean "fewer tokens while avoiding text
> > definitions and @ and @: then here is a variation on Jose's approach:
> > 
> >  waveR=: [:<"_1 [:|.&|:^:4 3 2 1 0 [:(|."_1~ [:>. +/ .=&' ' % _2:) [:> ;:
> > 
> > I save 3 tokens by replacing (<5) with 4 3 2 1 0
> > 
> > I save 2 tokens by replacing
> >    [: - [: <. [: -: ' '+/ .=~
> > with
> >    [: >. +/ .=&' ' % _2:
> > 
> > I save 2 tokens by replacing
> >    ([: |. |:)
> > with
> >    |.&|:
> > 
> > Note, however that if you are purely counting tokens, u@v and u@:v can
> > be simpler than ([: u v).
> > 
> > Also, if you count text as a single token, text definitions are
> > automatically simpler than most everything.  (But if you add to the
> > token count the number of tokens represented in the text, this goes
> > away.)
> > 
> > -- 
> > Raul
> > 
> > On Sun, Jun 3, 2012 at 10:23 AM, Linda Alvord <lindaalv...@verizon.net> 
> > wrote:
> > >
> > > Viktor Cerovski and Jose Quintanta have provided solutions that are
> > > simplifying the waves.
> > >
> > >   B=:'a big arrow focused somewhere'
> > >   wave=: [: <"2 [: ([: |: |.)^:(<5) ([: > ;:)|."0 1~ [: - [: <. [: -: [:
> > > +/"1 ' ' = [: > ;:
> > >   #;:'[: <"2 [: ([: |: |.)^:(<5) ([: > ;:) |."0 1~ [: - [: <. [: -: [: 
> > > +/"1
> > > '' '' = [: > ;:'
> > > 40
> > >   waveVC=:[: <"2 [: ([: |: |.)^:(<5) [: (|."0 1~ [: - [: <. [: -: [: +/"1 
> > > '
> > > ' = ]) [: > ;:
> > >   #;:'[: <"2 [: ([: |: |.)^:(<5) [: (|."0 1~ [: - [: <. [: -: [: +/"1 '' 
> > > ''
> > > = ]) [: > ;'
> > > 39
> > >   waveJQ=.[: <"2 [: ([: |: |.)^:(<5) [: (|."0 1~ [: - [: <. [: -: ' '+/ 
> > > .=~
> > > ]) [: > ;:
> > >   #;:'[: <"2 [: ([: |: |.)^:(<5) [: (|."0 1~ [: - [: <. [: -: '' ''+/ .=~
> > > ]) [: > ;:'
> > > 38
> > >   Any more simplifications waiting in thewings?
> > >
> > > Linda
> > >
> > > -----Original Message-----
> > > From: programming-boun...@jsoftware.com
> > > [mailto:programming-boun...@jsoftware.com] On Behalf Of Jose Quintana
> > > Sent: Sunday, June 03, 2012 12:33 AM
> > > To: programming@jsoftware.com
> > > Subject: Re: [Jprogramming] Challenge 11 Wave the Flag
> > >
> > >
> > > Cheating...    wave1=. [: <"2 [: ([: |: |.)^:(<5) [: (|."0 1~ [: - [: <. 
> > > [:
> > > -: ' ' +/ .=~ ]) [: > ;:
> > >
> > >   cheat=. (lr<'wave1')&apply f.
> > >   lr<'cheat'
> > > '[: <"2 [: ([: |: |.)^:(<5) [: (|."0 1~ ([: - [: <. [: -: '' '' +/ .=~ ]))
> > > [: > ;:'&(128!:2)
> > >   #;:lr<'cheat'
> > > 7
> > > ... and without cheating
> > >   wave1=. [: <"2 [: ([: |: |.)^:(<5) [: (|."0 1~ [: - [: <. [: -: ' ' +/
> > > .=~ ]) [: > ;:
> > >   #;:    '[: <"2 [: ([: |: |.)^:(<5) [: (|."0 1~ [: - [: <. [: -: '' '' +/
> > > .=~ ]) [: > ;:'
> > > 38    > Date: Sat, 2 Jun 2012 02:38:40 -0700
> > >> From: viktor.cerov...@gmail.com
> > >> To: programming@jsoftware.com
> > >> Subject: Re: [Jprogramming] Challenge 11 Wave the Flag
> > >>
> > >>
> > >>
> > >>
> > >> Linda Alvord wrote:
> > >> >
> > >> >
> > >> >
> > >> > It was David Ward Lambert's idea to write a one line expression with
> > >> > the fewest tokens.  We worked together and got to 40 tokens.  Any
> > >> > ideas to make this any better.
> > >> >
> > >> >
> > >> >
> > >> >    B=:'a big arrow focused somewhere'
> > >> >
> > >> >    NB.  center justify (Hint from DWL  x |."0 1 y)
> > >> >
> > >> >    cj=: 13 :'(-<.-:+/"1 '' ''=>;:y)|."0 1>;:y'
> > >> >
> > >> >    cj
> > >> >
> > >> > ([: - [: <. [: -: [: +/"1 ' ' = [: > ;:) |."0 1 [: > ;:
> > >> >
> > >> >    cj B
> > >> >
> > >> >     a
> > >> >    big
> > >> >   arrow
> > >> >  focused
> > >> > somewhere
> > >> >
> > >> >    NB. quarter turns
> > >> >
> > >> >    qtla=: 13 :'y;(|:|.y);(|.|:|.|:y);(|.|:y);y'
> > >> >
> > >> >    qtla
> > >> >
> > >> > ] ; ([: |: |.) ; ([: |. [: |: [: |. |:) ; ] ;~ [: |. |:
> > >> >
> > >> >    qtla cj B
> > >> >
> > >> > ----------T-----T---------T-----T---------┐
> > >> > │    a    │s    │erehwemos│    e│    a    │
> > >> > │   big   │of   │ desucof │   dr│   big   │
> > >> > │  arrow  │moa  │  worra  │  wee│  arrow  │
> > >> > │ focused │ecrb │   gib   │ gosh│ focused │
> > >> > │somewhere│wuria│    a    │airuw│somewhere│
> > >> > │         │hsog │         │ brce│         │
> > >> > │         │eew  │         │  aom│         │
> > >> > │         │rd   │         │   fo│         │
> > >> > │         │e    │         │    s│         │
> > >> > L---------+-----+---------+-----+----------
> > >> >
> > >> >    NB. 5 quarter turns David Ward Lambert
> > >> >
> > >> >    qtdwl=: 13 :'<"2 ([:|:|.)^:(<5)y'
> > >> >
> > >> >    qtdwl cj B
> > >> >
> > >> > ----------T---------T---------T---------T---------┐
> > >> > │    a    │s        │erehwemos│    e    │    a    │
> > >> > │   big   │of       │ desucof │   dr    │   big   │
> > >> > │  arrow  │moa      │  worra  │  wee    │  arrow  │
> > >> > │ focused │ecrb     │   gib   │ gosh    │ focused │
> > >> > │somewhere│wuria    │    a    │airuw    │somewhere│
> > >> > │         │hsog     │         │ brce    │         │
> > >> > │         │eew      │         │  aom    │         │
> > >> > │         │rd       │         │   fo    │         │
> > >> > │         │e        │         │    s    │         │
> > >> > L---------+---------+---------+---------+----------
> > >> >
> > >> >    qtdwl
> > >> >
> > >> > [: <"2 ([: |: |.)^:(<5)
> > >> >
> > >> >
> > >> >
> > >> >    wave=: [: <"2 [: ([: |: |.)^:(<5) ([: > ;:)|."0 1~ [: - [: <. [: -:
> > > [:
> > >> > +/"1 ' ' = [: > ;:
> > >> >
> > >> >
> > >> Here is a 39 token version:
> > >>
> > >>    wave1=:[: <"2 [: ([: |: |.)^:(<5) [: (|."0 1~ [: - [: <. [: -: [: +/"1
> > > '
> > >> ' = ]) [: > ;:
> > >>
> > >>    #;:'[: <"2 [: ([: |: |.)^:(<5) [: (|."0 1~ [: - [: <. [: -: [: +/"1 ''
> > > ''
> > >> = ]) [: > ;:'
> > >> 39
> > >>
> > >>
> > >>
> > >> >
> > >> >    wave B
> > >> >
> > >> > ----------T---------T---------T---------T---------┐
> > >> > │    a    │s        │erehwemos│    e    │    a    │
> > >> > │   big   │of       │ desucof │   dr    │   big   │
> > >> > │  arrow  │moa      │  worra  │  wee    │  arrow  │
> > >> > │ focused │ecrb     │   gib   │ gosh    │ focused │
> > >> > │somewhere│wuria    │    a    │airuw    │somewhere│
> > >> > │         │hsog     │         │ brce    │         │
> > >> > │         │eew      │         │  aom    │         │
> > >> > │         │rd       │         │   fo    │         │
> > >> > │         │e        │         │    s    │         │
> > >> > L---------+---------+---------+---------+----------
> > >> >
> > >> >    wave
> > >> >
> > >> > [: <"2 [: ([: |: |.)^:(<5) ([: > ;:) |."0 1~ [: - [: <. [: -: [: +/"1 '
> > > '
> > >> > =
> > >> > [: > ;:
> > >> >
> > >> >    #;:'[:<"2[:([:|:|.)^:(<5)([:>;:)|."0 1~[:-[:<.[:-:[:+/"1'' ''=[:>;:'
> > >> >
> > >> > 40
> > >> >
> > >> >
> > >> >
> > >> > Hopefully David will send his version of 39 tokens but not simple J.
> > >> > Note also that you must paste the long line for wave together.
> > >> >
> > >> >
> > >> >
> > >> > Linda
> > >> >
> > >> >
> > >> >
> > >> >
> > >> >
> > >> >
> > >> >
> > >> >
> > >> >
> > >> >
> > >> >
> > >> > From: Linda Alvord [mailto:lindaalv...@verizon.net]
> > >> > Sent: Tuesday, May 01, 2012 3:17 AM
> > >> > To: 'Linda Alvord'
> > >> > Subject: Challenge 11 Wave the Flag
> > >> >
> > >> >
> > >> >
> > >> > Challenge 10 Wave the Flag    PLEASE DO NOT RESPOND UNTIL 5/28/2012  12
> > > am
> > >> > EST
> > >> >
> > >> >
> > >> >
> > >> > Here's a little preparation for Memorial Day.
> > >> >
> > >> >
> > >> >
> > >> >   S=:10 16$(16$' '),176$(16$'*  '),16$' * '
> > >> >
> > >> >    T=:10 36$(36$'#'),72$' '
> > >> >
> > >> >    U=:9 52$(104$' '),364$(52$'#'),104$' '
> > >> >
> > >> >    <' ',"1(((S,"1 ' '),.T),U),"1 ' '
> > >> >
> > >> > --------------------------------------------------------┐
> > >> > │                  #################################### │
> > >> > │ *  *  *  *  *  *                                      │
> > >> > │  *  *  *  *  *                                        │
> > >> > │ *  *  *  *  *  * #################################### │
> > >> > │  *  *  *  *  *                                        │
> > >> > │ *  *  *  *  *  *                                      │
> > >> > │  *  *  *  *  *   #################################### │
> > >> > │ *  *  *  *  *  *                                      │
> > >> > │  *  *  *  *  *                                        │
> > >> > │ *  *  *  *  *  * #################################### │
> > >> > │                                                       │
> > >> > │                                                       │
> > >> > │ ####################################################  │
> > >> > │                                                       │
> > >> > │                                                       │
> > >> > │ ####################################################  │
> > >> > │                                                       │
> > >> > │                                                       │
> > >> > │ ####################################################  │
> > >> > L--------------------------------------------------------
> > >> >
> > >> >
> > >> >
> > >> > Part 1:  Use viewmat and create a little flag. Next design a
> > >> > function to rotate it clockwise 90 degrees successively until it is
> > >> > in the original position.
> > >> >
> > >> >
> > >> >
> > >> >    load viewmat
> > >> >
> > >> >    flag=:
> > >> >
> > >> > wwwwwwww
> > >> > wwwwwwww
> > >> > wwwwwwww
> > >> > wwwwwwww
> > >> >
> > >> > wwwwwwwwwwwwww
> > >> >
> > >> > wwwwwwww
> > >> > wwwwwwww
> > >> > wwwwwwww
> > >> > wwwwwwww
> > >> >
> > >> > wwwwwwwwwwwwww
> > >> >
> > >> > wwwwwwww
> > >> > wwwwwwww
> > >> > wwwwwwww
> > >> > wwwwwwww
> > >> >
> > >> > wwwwwwwwwwwwww
> > >> >
> > >> > wwwwwwww
> > >> > wwwwwwww
> > >> > wwwwwwww
> > >> > wwwwwwww
> > >> >
> > >> > wwwwwwwwwwwwww
> > >> >
> > >> > wwwwwwww
> > >> > wwwwwwww
> > >> > wwwwwwww
> > >> > wwwwwwww
> > >> >
> > >> >
> > >> >
> > >> > Part 2:
> > >> >
> > >> >
> > >> >
> > >> >    A=:'we celebrate Memorial Day on May the twenty eighth'
> > >> >
> > >> >    wave=:
> > >> >
> > >> > ------------T-----------T-----------T-----------T-----------┐
> > >> > │----------┐│----------┐│----------┐│----------┐│----------┐│
> > >> > ││   we    │││      Mc │││  hthgie │││ e       │││   we    ││
> > >> > ││celebrate│││et    ee │││  ytnewt │││ tl      │││celebrate││
> > >> > ││Memorial │││iw    ml │││   eht   │││ aa    yh│││Memorial ││
> > >> > ││   Day   │││getMoDoew│││   yaM   │││ riy yett│││   Day   ││
> > >> > ││   on    │││hnhanarbe│││    no   │││ebranahnh│││   on    ││
> > >> > ││   May   │││ttey yir │││   yaD   │││weoDoMteg│││   May   ││
> > >> > ││   the   │││hy    aa │││ lairomeM│││ lm    wi│││   the   ││
> > >> > ││ twenty  │││      lt │││etarbelec│││ ee    te│││ twenty  ││
> > >> > ││ eighth  │││       e │││    ew   │││ cM      │││ eighth  ││
> > >> > │L----------│L----------│L----------│L----------│L----------│
> > >> > L-----------+-----------+-----------+-----------+------------
> > >> >
> > >> >
> > >> >
> > >> > Reshape A into a 9 9 square matrix. Justify all lines in the center.
> > >> > If a line has an even number of letters put the extra letter on the
> > >> > left. Now design a function to rotate the words in a similar fashion
> > >> > to the flag above.  Note the letters in "we" as they move around
> > >> > clockwise. Your function should work for any square literal matrix.
> > >> >
> > >> >
> > >> >
> > >> > Happy Memorial Day!
> > >> >
> > >> >
> > >> >
> > >> > Linda
> > >> >
> > >> > --------------------------------------------------------------------
> > >> > -- For information about J forums see
> > >> > http://www.jsoftware.com/forums.htm
> > >> >
> > >>
> > >> --
> > >> View this message in context:
> > >> http://old.nabble.com/Re%3A-Challenge-11-Wave-the-Flag-tp33948875s2419
> > >> 3p33948951.html Sent from the J Programming mailing list archive at
> > >> Nabble.com.
> > >>
> > >> ----------------------------------------------------------------------
> > >> 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