unison icon indicating copy to clipboard operation
unison copied to clipboard

Use full length hashes for jit definition names

Open dolio opened this issue 1 year ago • 1 comments

This should avoid any possibility of picking conflicting names for distinct functions. I'm not aware of any actual examples of this, but it could in principle happen.

I decided to use the full length hashes because picking just-long-enough names starts to become very cumbersome when doing dynamic loading. You need to keep track of all your past choices, not just the choices for the module you're loading, because the one you're loading could refer to things in previously loaded modules. It would be possible to use shorter names in a compile-time context, since you have all the names up front. But you'd still have to remember those for runtime loading, and it seemed not worth it.

This doesn't include any custom error formatting, because I'd like to see error messages I get randomly before doing anything, but if they're too verbose, it's possible to override the Racket error reporting to produce shorter names there, rather than generating them up front.

dolio avatar May 06 '24 19:05 dolio

@dolio If you merge trunk into here, it should fix CI

aryairani avatar May 06 '24 20:05 aryairani