• Bug hopping

    From [email protected]@21:1/5 to All on Mon Jul 3 23:35:57 2023
    Maple has developed a sophisticated strategy to ensure that the experience of its users is one of hopping from bug to bug.

    It is based on two pillars: To change basic definitions (which are in fact fixed since Euclid) from time to time, and, secondly, to rely on the fact that their long-time users can't always adapt that quickly.

    A nice example with the current Maple version (2023) is:

    restart; with(numtheory):
    A027375 := n -> local d; add(mobius(d)*2^(n/d), d = divisors(n)): seq(A027375(n), n = 1..9);

    2, 2, 6, 12, 30, 54, 126, 240, 504

    restart; with(NumberTheory):
    A027375 := n -> local d; add(Moebius(d)*2^(n/d), d = divisors(n)): seq(A027375(n), n = 1..9);

    2, -2, -2, 0, -2, 2, -2, 0, 0

    If you have nothing better to do, you can waste your time trying to find the bug.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From acer@21:1/5 to [email protected] on Wed Jul 5 00:35:55 2023
    On Tuesday, July 4, 2023 at 2:35:59 AM UTC-4, [email protected] wrote:
    Maple has developed a sophisticated strategy to ensure that the experience of its users is one of hopping from bug to bug.

    It is based on two pillars: To change basic definitions (which are in fact fixed since Euclid) from time to time, and, secondly, to rely on the fact that their long-time users can't always adapt that quickly.

    A nice example with the current Maple version (2023) is:

    restart; with(numtheory):
    A027375 := n -> local d; add(mobius(d)*2^(n/d), d = divisors(n)): seq(A027375(n), n = 1..9);

    2, 2, 6, 12, 30, 54, 126, 240, 504

    restart; with(NumberTheory):
    A027375 := n -> local d; add(Moebius(d)*2^(n/d), d = divisors(n)): seq(A027375(n), n = 1..9);

    2, -2, -2, 0, -2, 2, -2, 0, 0

    If you have nothing better to do, you can waste your time trying to find the bug.

    In your second example you call `divisors(n)` even though `numtheory` hasn't been loaded.
    Did you intend this, instead?

    restart; with(NumberTheory):
    A027375 := n -> local d; add(Moebius(d)*2^(n/d), d = Divisors(n)): seq(A027375(n), n = 1..9);
    2, 2, 6, 12, 30, 54, 126, 240, 504

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From [email protected]@21:1/5 to All on Wed Jul 5 01:44:47 2023
    Of course, that's the bug. But do you understand the frustration
    of a long-time Maple user who has written 'divisors' hundreds
    of times and now has to realize that from now on, he has to
    write 'Divisors' with a capital 'D,' contrary to his practiced
    routine, and without that there is any reason to believe that
    the meaning of this term has changed in the last 2000 years,
    just because Maple has changed some internal routines for
    whatever reason? And that precisely such mistakes are inevitably
    provoked as a result?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From jfh@21:1/5 to [email protected] on Fri Jul 7 22:12:55 2023
    On Tuesday, July 4, 2023 at 6:35:59 PM UTC+12, [email protected] wrote:
    Maple has developed a sophisticated strategy to ensure that the experience of its users is one of hopping from bug to bug.

    It is based on two pillars: To change basic definitions (which are in fact fixed since Euclid) from time to time, and, secondly, to rely on the fact that their long-time users can't always adapt that quickly.

    A nice example with the current Maple version (2023) is:

    restart; with(numtheory):
    A027375 := n -> local d; add(mobius(d)*2^(n/d), d = divisors(n)): seq(A027375(n), n = 1..9);

    2, 2, 6, 12, 30, 54, 126, 240, 504

    restart; with(NumberTheory):
    A027375 := n -> local d; add(Moebius(d)*2^(n/d), d = divisors(n)): seq(A027375(n), n = 1..9);

    2, -2, -2, 0, -2, 2, -2, 0, 0

    If you have nothing better to do, you can waste your time trying to find the bug.

    At least one of Euclid's definitions did not stay fixed. Our circle is what he called the circumference of a circle, and his circle is what we would call a closed disc (the set of points inside and on the circumference). Euclid's definition caused
    trouble. In my copy of his Elements, Book 1 Proposition 1 has two circles meeting in two points, not in a ()-shaped region. Among later Greeks, Apollonius usually followed Euclid's definition, but sometimes he too said "circle" when he should have said "
    circumference of a circle". Archimedes seems never to have made the same mistake.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)