aleph 2023-07-09

This is so weird... Why does removing the ^Type hint solve the problem when just a line later Type. is actually instantiated? Shouldn't that break AOT too? https://github.com/clj-commons/byte-streams/issues/68

I don't know, but historically, AOT is the source of exotic bugs. The most common is building/deploying/depending on uberjars, but there's also been weird compiler bugs involving incorrect compilation order, lein/maven classpath bugs for multiple deps with different versions, etc. It's happened enough that I generally shy away from AOT unless I have a good reason to use it. I'd like to support Graal better, but since it's effectively AOT, I rarely use it. Would love some help sorting all those issues out because Graal support is commonly requested.

I was thinking of resolving the boxed math / reflection warnings in manifold too.

manifold doesn't (yet) depend on primitive-math though, so I wasn't sure if I should add that new dep and use it like in byte-streams

I'm fine with a primitive-math dep in manifold. Most people use manifold via aleph, which already requires it

I was about to cut primtiive-math 1.0.1 today

rc1 has been out for a couple months, and nobody's complained, so it's time

I'll wait for that then ~

It won't affect anything you'd do in Manifold, with the exception of the addition of p/rem in 1.0.1

Yeah, definitely don't wait for me, I'm trying to straighten out a deployment perm bug for primitive-math with slipset. But DO let me know if you encounter math fns in Manifold that aren't part of primtive-math, but should be. I know it's missing fns like quot and (surprisingly) neg? and pos?

Yeah pos? is the only one that'd be used in manifold (I'll just replace it with gt 0 for now)

I saw rem is used in a few places

Go for it