[ANN] tasty-cache 0.1.0.0

Hello everyone,

I had AI build me a Nix-inspired, HIE-based, test caching tool:

It works by using the HIE files to compute a hash of all the depenencies of a test function, and then decides whether to re-run on that basis.

I tried to explore all the potential failure cases; and of course there’s some ways to disable it entirely.

Very curious to know if you find it useful; and please do report any issues!

12 Likes

Thanks for the AI transparency disclosure.

But how does it work in the presence of overloaded identifiers? I assume you must somehow resolve which instances are used in each particular test case and track changes to respective definitions. Is it possible to do it just through HIE files, without type checking?

Say, you have factorial :: Num a => a -> a and want to test that factorial @Foo 5 = 120. The definition of factorial has not changed and same for the type declaration of Foo. But how do you check that instance Num Foo remains the same? We don’t even know upfront where it is defined.

3 Likes

Very nice question @Bodigrim ; thank you; I hadn’t thought about that.

Happily, the AI found a plan that seems to do the trick :slight_smile: - tasty-cache/CHANGELOG.md at main · silky/tasty-cache · GitHub

Released now as 0.1.1.0 !

I’m curious why your commits don’t show claude as co-author.

Would you mind adding an empty AGENTS.md? That makes it easier for tools to detect the vibecode status.

1 Like

I’ve made it quite clear it was made with AI; you can just blacklist it in your tool if you wish.