On 11/6/07, Oleg Kobchenko <[EMAIL PROTECTED]> wrote: > Why is u/ not equivalent to a loop? > There is a very severe performance penalty. > Lisp/SmallTalk can be defined by itself. > But because in APL control structure are deficient, it cannot. > That's the whole mud vs diamond argument; and this control flow issue > is at its core.
This seems like a bunch of unrelated issues. FIrst, u/ is A loop, but just as goto is more general than a while loop, a while loop is more general than / Second, performance has to do with language implementation. Language design is relevant to implementation but a language lends itself to a wide variety of implementations. J can be defined by itself, there's even a wiki page showing many J primitives implemented in J. More to the point, "defined by itself" usually refers to a minimal parser implementation, and J's trace mechanism does that. But I do not see how the generality of control structures matters here. Finally, I do not know about "mud' but diamond was basically an alternate line-end character (albeit, one which got special treatment from APL's goto, in that goto did not recognize diamonds when counting lines). -- Raul ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
