Clojure supports unboxed signatures for fns with up to 4 params. jank can do the same thing, but it comes in two steps:
We support type hints on fns and generate the appropriate primitive version
When we already have the type/box info for each param, we can generate code to invoke accordingly
Right now, jank tracks boxing info, but not type info. This may be required, if we support unboxed things which aren't numbers. I'm not yet sure if we will.
Clojure supports unboxed signatures for fns with up to 4 params. jank can do the same thing, but it comes in two steps:
Right now, jank tracks boxing info, but not type info. This may be required, if we support unboxed things which aren't numbers. I'm not yet sure if we will.
Alex Miller covers an example of this here: https://youtu.be/s_xjnXB994w?t=2529