2016-05-19 14 views
8

Tytuł jest dość oczywisty. Często dodajemy ślady podczas debugowania, co wymaga dodania importu Debug.Trace. Jednak równie często zapominam o usuwaniu tych, kiedy skończę.Czy mogę poprosić GHC o zaimportowanie Debug.Trace dla każdego modułu podczas programowania?

Chciałbym użyć przełącznika "dev", który doda import, więc gdy go wyłączysz, z łatwością znajdę wszystkie ślady pozostawione w kodzie.

+3

Dlaczego nie importować 'trace' z wewnętrznego? ModułUtils zamiast bezpośrednio z 'Debug.Trace' i usunąć eksport' trace' z tego modułu, kiedy skończysz? – Michael

+0

@Michael hah, to naprawdę dobry pomysł. IOW, powinien być odpowiedzią :) –

+0

W rzeczywistości można stworzyć moduł "OnOffTrace", w którym flaga kompilatora zdecydowała się na eksport. Może to jest coś, co warto włożyć w Hackage. Bardziej lubię Util, ponieważ wygląda mniej inwazyjnie. Jednak rozwiązanie * idealne * nie wymagałoby w ogóle dodawania żadnego importu. –

Odpowiedz

4

Dlaczego nie importować śledzenia z wewnętrznego modułu .Utils zamiast bezpośrednio z Debug.Trace i usunąć eksport z trace z tego modułu, kiedy skończysz?

Jest inny, ale innym sposobem, który podniosłem gdzieś, jest przełączanie między trace _ = id i import Debug.Trace (trace). Następnie możesz np. wracaj i wracaj pomiędzy używaniem (real) trace i robienie rzeczy takich jak benchmarking, który jest oczywiście zniszczony przez trace. Następnie, gdy skończysz z tym wszystkim, możesz usunąć eksport (albo) trace i wyłapać wszystkie pozostałe dowody, z których kiedykolwiek korzystałeś w swoim projekcie ...