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

Reply via email to