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
