All that said, "absolute" isn't a magic bullet but, neither are variants and, there are many cases where "absolute" is a significantly superior way of solving a problem than using variants/unions.
To get back to the core issue here, I think that everything absolute can do, can also be done using pointers, but better. To get back to my original example in #26:
uses
SysUtils;
var
vCurr : Currency;
vInt64 : PInt64 = @vCurr;
begin
{ Trunc currency cheaply (much simpler than FPC implementation) }
vCurr := 12345.6789;
WriteLn(vCurr);
vInt64^ := vInt64^ - (vInt64^ mod 10000); // Trunc the currency
WriteLn(vCurr);
ReadLn;
end.
This does exactly the same as "vInt64 : Int64 absolute vCurr" but because it is a pointer, it signalizes to the user that it actually is not it's own variable but just a reference. So same functionality but more expressive at point of use. Also there isn't much of a penalty for doing this, in this exampole it is actually shorter than the absolute variant. If you are accessing foreign memory, your code should make that clear, and absolute is designed to hide this.
So I do think that absolute should always be avoided, because I don't see any reason why not to use a pointer which does the same but gives more clarity about what it is.
The whole topic on variant records was about your example. But for the things you brought up here (e.g. quicksort with generic pointers), there a variant record would be useless, I agree, but I still think that simply casting it to a typed pointer and using that afterwards is a much cleaner solution
Or to put it simply: if you do something special (which accessing another variables memory is) it should look special in the code
On a side note, the scientific method is great stuff but, it rarely _proves_ something. The best it can normally do is show that under very specific conditions, the behavior of a system (usually a physical system) can be represented by one or more mathematical equations.
Nowadays, the scientific method faces a great adversary, namely "the money method". There are too many financial interests out there throwing money at "proving" whatever it is that will bring more money to them. The result is, there are a lot of rather dubious claims about a great number of things out there. It's wise to take "proofs" with a grain of salt.
As someone who worked in research I can tell you, when we are talking about public research (i.e. universities), which is most of the research, while funding is always a fight for, there is not necessarily a specific interest to find something specific (it's more of an interest to find something interesting), so while there is a clear bias to finding new shiny things (and for example negative results are underrepresented in publications), it's not like most papers are just bought to find something.
And it's also not just about mathematical formulas, it's often about finding correlations that are to unlikely to be random, so when you test a new medical product, you want to know if the health improvements correlate with the use of that product, while trying eliminating all other factors. Real mathematical models are mostly in the "hard" sciences (like physics and to a certain degree chemistry), where the systems are so "simple" that you can make a formular, but for example in medicine (where I for example have a certification for doing meta analysis of medical studies, if I ever bother to grab it from the university chair where I did it), the systems are way to complex to model them with formulars, where we can only use very simplified models, and most of the time it boils down to "does the treatment work or not" (and with what probability)
Even beginners should grasp this.
In short ONE counter example disproofs many confirmations.
Yes and no. One counterexample disproves a hypothesis, but the confirmations already found must therefore belong to another hypothesis that encompasses the knowledge already gained.
Going back to newtonian gravity. For example the orbit of mercury does not follow newtons law, so one observation disproves it. That doesn't mean that because of that a stone on earth won't fall with an acceleration of 9.81 m/s². Newtons law still holds for most cases, even though we know it is wrong, it is still useful.
Same holds for other things like the atom model according to Bohr or others. Findings today are still useful, even though they might not be correct and be disproven in the future.
This is the beauty of the scientific method, it is not just a good way of finding truth, but it also gives useful results along the way, even if they might not be correct