Though not my usual position on J development, I'd support decommissioning 13 : .
I see its function as more appropriate to a standard library than a primitive. For one thing, libraries are easier to change than primitives, and therefore more amenable to user feedback. For another, I see 13 : 's role as primarily pedagogical, and the script could include additional teaching material that a primitive cannot. Also, I think using a script would discourage inappropriate (ab)use of the transformation, like blindly trusting it, or believing it has a role outside of learning how to write tacit verbs. -Dan PS: A note on usage; if we want an adverb to convert a (quoted) noun phrase to a tacit verb, then we only need to say 13 : . There is no need for curry, as in 13 & : , and in fact that phrase is a grammatical (syntax) error. Currying is only needed to bind a noun to a verb. Conjunctions like : have binding power already (in fact, that's why & is a conjunction). -----Original Message----- From: programming-boun...@jsoftware.com [mailto:programming-boun...@jsoftware.com] On Behalf Of Devon McCormick Sent: Saturday, March 17, 2012 2:07 PM To: Programming forum Subject: Re: [Jprogramming] why=: 13 :'y*y*y' It's not a good advertisement for J when something so simple is so clearly wrong. I would certainly rank fixing an obvious bug over, say, a performance improvement in a little-used feature like look-up of symbolic names. On Sat, Mar 17, 2012 at 1:26 PM, Tracy Harms <kalei...@gmail.com> wrote: > To clarify, I do think 13&: could be improved. I think your examples can > help with that. I don't find flaws in this modifier very interesting among > possible improvement efforts. > On Mar 17, 2012 3:45 AM, "Linda Alvord" <lindaalv...@verizon.net> wrote: > >> David Ward Lambert pointed out the known pitfall that occurs using : 13 : >> >> >> >> Would these examples help in correcting the problem? >> >> >> >> why=: 13 :'y+y' NB. wrong >> >> why >> >> + >> >> why 3 >> >> 3 >> >> why=: 13 :'y-y' NB. right >> >> why >> >> -~ >> >> why 3 >> >> 0 >> >> why=: 13 :'y*y' NB. wrong >> >> why >> >> * >> >> why 3 >> >> 1 >> >> why=: 13 :'y%y' NB. right >> >> why >> >> %~ >> >> why 3 >> >> 1 >> >> why=: 13 :'y+y+y' NB. wrong >> >> why >> >> ] + + >> >> why 3 >> >> 6 >> >> why=: 13 :'y-y-y' NB. right >> >> why >> >> ] - -~ >> >> why 3 >> >> 3 >> >> why=: 13 :'y*y*y' NB. wrong >> >> why >> >> ] * * >> >> why 3 >> >> 3 >> >> why=: 13 :'y%y%y' NB. right >> >> why >> >> ] % %~ >> >> why 3 >> >> 3 >> >> >> >> Linda >> >> >> >> >> >> ---------------------------------------------------------------------- >> For information about J forums see http://www.jsoftware.com/forums.htm >> > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm -- Devon McCormick, CFA ^me^ at acm. org is my preferred e-mail ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm