Załóżmy, że utrzymuję złożoną aplikację podłączoną do systemów zewnętrznych. Pewnego dnia zaczyna zwracać nieoczekiwane wyniki dla pewnych danych wejściowych i muszę się dowiedzieć, dlaczego. Może to być problem z DNS, problem związany z plikami, zewnętrzna zmiana systemu, cokolwiek.Oprzyrządowanie kodu w haskell
Zakładając, że ilość przetwarzania jest duża, zanim będę mógł zidentyfikować możliwe lokalizacje problemu, będę potrzebował uzyskać szczegółowe ślady, których oryginalna aplikacja nie generuje.
W jaki sposób mogę istniejący kod instrumentu, aby móc (na przykład) dostarczyć nieulotnego dowodu (nie sesji debugowania na żywo), że pewien składnik lub funkcja ma błąd.
Nie podążam za tobą całkowicie, ale [ekg] (http://hackage.haskell.org/package/ekg) to całkiem niesamowite narzędzie i pozwala ci ustawić dowolne liczniki i wartości w 'IO'. – jberryman
@jberryman Wygląda na to, że to dobra odpowiedź. –