Hi Linda,

Thanks for your input.  I've added:

NB. boxed display for non-nouns.
9!:3 (2)

to my startup script so that lets me leave the parsing up to J which I'm
still taking advantage of quite a bit.  I take it that's for the most part
what you're trying to show me in addition to the clever use of -:

Cheers,

Mike

On Sun, Nov 4, 2012 at 2:14 AM, Linda Alvord <[email protected]>wrote:

> H.]ere are Raul's two definitions,  f  and  g  and an explicit definition
>  h
> which is turned  to tacit.
>    n=:2
>    d=:3
>    n(f=:4 : 'x>+:(?]) x#y')d
> 1 0 0
> 0 1 0
>    5!:4 <'f'
>       -- 4
> -- : -+- ,:'x>+:(?]) x#y'
>    n(g=:[>[:+:[:(?])#)d
> 0 1 0
> 1 0 0
>    5!:4 <'g'
>   -- [
>   +- >
> --+   -- [:
>   │   +- +:
>   L---+    -- [:
>       │    │    -- ?
>       L----+----+- ]
>            L- #
>    n(h=: 13 :'(-:x)>(]?])x#y')d
> 1 0 0
> 0 1 0
>    5!:4 <'h'
>       -- [:
>   ----+- -:
>   │   L- [
>   +- >
> --+   -- [:
>   │   │    -- ]
>   L---+----+- ?
>       │    L- ]
>       L- #
>    f
> 4 : 'x>+:(?]) x#y'
>    g
> [ > [: +: [: (? ]) #
>    h
> ([: -: [) > [: (] ? ]) #
>
>
>  I don't know why it took so long to notice I could do that. You might find
> it helpful.
>
> Linda
>
>
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Bo Jacoby
> Sent: Friday, November 02, 2012 7:16 AM
> To: [email protected]
> Subject: Re: [Jprogramming] Arc consistency in J
>
> Hi Mike
> You request comments regarding style. Style is a matter of taste, so don't
> take my comments as criticism.
> Your very first expression
>
>    (n%2)>(]?]) n$d
> can be written without division:
>
>    n>+:(?])n#dThe value depends on two variable, n and d, and so you may
> create a dyadic verb, focusing attention on functions rather than on
> variables.
>    n( 4 : 'x>+:(?]) x#y')d
>
> or, using tacit code:
>    n([>[:+:[:(?])#)d
>
>
> Your questions:
>
> 1) how do I avoid @ especially once we remove explicit arguments?
> - by using cap. ([:)
>
>
> 4) Is there a good way to have named variables (ie. avoid getx, gety)?
> replace
>    getx   =: 0{ ]
>    gety   =: 1{ ]
>    revDom =: getx *. +./ @ (gety # [)
> with
>    revDom =: (0{ ]) *. +./ @ ((1{ ]) # [)
>
>
> 5) Why is a hook the default and not composition?
> - Because J'ers love hooks! For composition use the capped fork ([: f g)
>
> -Bo
>
>
>
> >________________________________
> > Fra: Michal D. <[email protected]>
> >Til: [email protected]
> >Sendt: 6:01 fredag den 2. november 2012
> >Emne: [Jprogramming] Arc consistency in J
> >
> >Hi All,
> >
> >I've managed to write my first not-completely-trivial program in J.  It
> >implements an arc consistency algorithm (
> >http://en.wikipedia.org/wiki/Local_consistency#Arc_consistency).  I
> >would appreciate any comments regarding style, what I'm doing wrong in
> >J or how to improve the code.  I also have a couple of questions of my
> own:
> >
> >1) how do I avoid @ especially once we remove explicit arguments?
> >2) how do I avoid constant boxing/unboxing due to fill (see arcsX)?
> >3) Is a boxed value always a pointer? One could imagine implementing
> >'ragged' arrays without pointers.
> >4) Is there a good way to have named variables (ie. avoid getx, gety)?
> >5) Why is a hook the default and not composition?
> >
> >Code at: http://pastebin.com/k4XuKfFi
> >
> >Cheers!
> >
> >Mike
> >----------------------------------------------------------------------
> >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