Closed anfelor closed 8 months ago
This seems to be fixed on the latest dev branch, maybe even the latest release?
Yes, I can confirm that this is fixed now. From bisecting, it appears that this was fixed in b6067e75235bd5e6625ce4d0288134f5efc3280c when Daan re-discovered this issue in the code we were working on back then.
Consider the following implementation of weight biased leftist heaps as in section 3.1 of Okasaki (though the details aren't important):
As you can see,
merge
andbroken-merge
are nearly identical; except that inmerge
we have inlinedh1
andh2
after the match. But their output is different:Koka v2.1.9, clang 12.0.5, macOS Big Sur on an M1 processor