2015-04-26 15 views
13

Więc siedzę tutaj zastanawiając się, dlaczego do cholery nie mogę znaleźć funkcji, której szukam, i okazuje się, że nie istnieje ona w wersji pakietu, którą mam zainstalowany.Znajdź najwcześniejszą wersję pakietu z funkcją X

W jaki sposób sprawić, aby Hackage powiedział mi, do której wersji została dodana ta funkcja?

(w szczególności, więc mogę określić odpowiednie granice opakowaniu w moim opisie Cabal.)

+0

Czy czytasz https://wiki.haskell.org/Package_versioning_policy? –

+0

@BenjaminGruenbaum Zrobiłem. W jaki sposób pomaga mi to wiedzieć, która z kilkudziesięciu wersji dodała funkcję, którą chcę? – MathematicalOrchid

+0

Aby było jasne, chcesz uzyskać minimalną wersję biblioteki zawierającej określoną funkcję z danym podpisem? –

Odpowiedz

1

hackage-diff jest prawdopodobnie narzędzie szukasz.

N.B. Nigdy tego nie próbowałem.

+0

To miłe znalezisko ... chociaż muszę powiedzieć, że narzędzie wygląda nieco brutalnie, ponieważ musi wywoływać 'cabal' na tymczasowych katalogach. – leftaroundabout

+0

Oczywiście nie jest doskonały, ale to jedyne częściowe podejście, które znam. Najlepszymi opiekunami będą dodawanie * Od x.y.z * adnotacji do nowych eksportów. – phadej

+0

Nie jestem pewien ... Wolę po prostu przeglądać [repozytorium git] (http://hdiff.luite.com/cgit/), aby znaleźć konkretną zmianę. Używając 'hackage-diff', musisz w zasadzie ręcznie przecinać do tego celu, i kiedy zawsze musi całkowicie zbudować pakiet, który nie jest zbyt miły. – leftaroundabout