2013-03-04 6 views
5

Also, mein Ziel ist es, die Genauigkeit der Abhängigkeiten in einer Clique Datei zu bewerten, indem sichergestellt wird, dass alle Unternehmen, die die Projektimport in den Versionen vorhanden ist, die es zu arbeiten behauptet mit.eine Liste aller Einfuhren in einem Haskell Projekt

wäre ein guter Anfang eine Liste aller importierten Entitäten werden zu finden aus, dass eine einzige Quelldatei verwendet, wahlweise mit Informationen darüber, woher sie kommen.

Ich bin bereit, den Fall von Klasseninstanzen für den Moment zu ignorieren, da ihre Verwendung Erkennung ist nicht so einfach.

Ideale Antwort wäre ein Zeiger auf ein Werkzeug, das genau dies tut, aber ich werde auch eine Antwort akzeptieren, die mich auf die Ressourcen verweist, die ich selbst schreiben müsste (sammelt GHC diese Informationen? wohin ?, kann es dazu überredet werden?)

+3

Wie weit dauert die Markierung "-ddump-minimal-imports"? –

+0

Das ist der größte Teil dort! (Von Interesse ist, dass Flag dokumentiert überall?) –

+0

(Arbeiten in Kombination mit -fno-Code zu, das ist schön) –

Antwort

4

Letztendlich sollte haskell-names in der Lage sein, solche Dinge mit minimalem Aufwand zu tun. Eine Einschränkung besteht darin, dass Sie jedes Paket, das Sie verwenden, mit haskell-name eigenen "Compiler" neu kompilieren müssen, um Schnittstellendateien zu generieren. In der Zukunft plane ich auch, vorkompilierte Schnittstellen für alle Hack-Pakete zu verteilen (wahrscheinlich von via hackage selbst).

Gerade jetzt haskell-Name ist im Gang Arbeit und base noch nicht zusammenstellen kann.

GHC API hat den Vorteil, dass Sie bereits die Interface-Dateien haben, wenn Sie die Pakete installiert haben, aber ich bin nicht sicher, ob es Zugriff auf die Liste der importierten Einheiten gibt.