13

So I'm sitting here wondering why the hell I can't find the function I'm looking for, and it turns out it doesn't exist in the version of the package I have installed.

So how do I make Hackage tell me what version that function was added in?

(In particular, so I can specify the correct package bounds in my Cabal description.)

MathematicalOrchid
  • 61,854
  • 19
  • 123
  • 220

1 Answers1

1

hackage-diff is probably the tool you are looking for.

N.B. I never tried it myself.

leftaroundabout
  • 117,950
  • 5
  • 174
  • 319
phadej
  • 11,947
  • 41
  • 78
  • That's a nice find... though I have to say, that tool looks a bit brute-force-ish seeing as it has to invoke `cabal` on temporary directories. – leftaroundabout Aug 15 '15 at 09:11
  • Obviously it's not perfect, but that's the only partial approach I'm aware of. Best would be maintainers adding *Since x.y.z* annotations to new exports. – phadej Aug 15 '15 at 09:39
  • I'm not sure... I'd rather just browse [the git repo](http://hdiff.luite.com/cgit/) to find a particular change. With `hackage-diff` you basically need to manually bisect for that purpose, and when it always needs to completely build the package that ain't too nice. – leftaroundabout Aug 15 '15 at 09:43
  • Ah, I thought it fetches [hoogle dbs from hackage](https://wiki.haskell.org/Hoogle#Installing_databases_from_Hackage) – phadej Aug 15 '15 at 09:45