that is, bfloats sort after all other numbers (integers,
floats, and rats) regardless of their magnitude. I realize
that orderlessp does not and cannot in general sort by
magnitude, and I also realize that sort takes a predicate
as a second argument (e.g. "<"), but in the case of
explicit numbers, I think it would be better (principle of
least surprise) if it sorted strictly by magnitude.
Symbolic constants like %E and INF are a harder case.
Currently, they sort after numbers and before variables
and alphabetically among themselves:
We could sort them by magnitude, giving
But the user can always change the value of a *user-
defined* "constant", if not a system-defined constant.
This might lead to anomalies.
My suggested solution: sort system-defined constants
by magnitude (not %i of course), but not user-defined
constants (by the time a user understands user-defined
constants, he/she is no longer a beginner, and can deal
with the surprise above).
The basic problem here is that "constant" means two
different things: 1) a pseudo-variable such that diff(v)=0;
2) a mathematical constant defined for all time.