On Thu, Dec 13, 2012 at 5:37 PM, Boyko Bantchev <[email protected]> wrote: > On 13 December 2012 23:23, Raul Miller <[email protected]> wrote: >> Ok, I can see your point of view. >> >> That said, the DoJ is not the implementation. > > I consider what the DoJ says to be the final authority on how each > primitive in J works. In the case of #., we are free to assume that > its implementation *may* conform to the Horner's rule, but we may not > assume that it *must* do so.
I consider it a final authority on the results produced, but not the algorithms. That said, I know that Roger Hui has spent some considerable time making some implemented algorithms be matches for the descriptions, for correctness purposes. Also, since Horner's method is about efficient implementation, it's perhaps also worth noting that the examples I have tested seem to be slower than the mechanism defined in the dictionary. So, in that sense, the implementation specified in the DoJ is better. > That is why I had to disagree when you said that "J's #. implements > Horner's rule"; the word 'implementation' here refers not to the > implementation of J but to J's definition. While I am no longer convinced that I disagree with your philosophical position, I have a problem with how you have phrased this -- I cannot agree that the word "implementation" does not refer to the implementation. > For the same reason, the part about Horner's rule in J in rosettacode > must be considered misleading. Maybe. That said, rosettacode is supposed to be focused on specifications of results rather than the details of how they are achieved -- otherwise cross language comparisons become meaningless. Tasks are frequently written which conflict with this goal, but that is arguably a defect in those task descriptions rather than the implementations. -- Raul ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
