Bug hopping

Skip to first unread message


Jul 4, 2023, 2:35:59 AMJul 4
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.


Jul 5, 2023, 3:35:56 AMJul 5
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)):


Jul 5, 2023, 4:44:49 AMJul 5
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?


Jul 8, 2023, 1:12:58 AMJul 8
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.
Reply all
Reply to author
0 new messages