Suboptimal design in Base.Fix, also applying to Base.Fix1 and Base.Fix2, causes things like Base.Fix1(convert, Bool) to have a greater than zero representation in memory, because Bool isa Type. Fixing this in Base would be arguably breaking, so here’s a new package providing a stand-in replacement to Base.Fix, Base.Fix1, Base.Fix2. The design is meant to be a straight improvement over Base.Fix, without unnecessary changes.
The package has now entered the three-day waiting period, after which it can be registered.
Here’s also the relevant issue ticket on Github:
Update:
-
I realized the same issue as with
Base.Fixis also present withReturns,ComposedFunctionandBase.Splat. -
I made a PR which attempts to fix the issues in
Base: -
The registration of the package is on hold until the PR is resolved. Furthermore, if the PR does not get accepted, the design of the package(s) may be adjusted, as I came to some realizations in the mean time.