Uczę się Haskella przez jakiś czas, więc zdecydowałem się obejrzeć jakiś popularny projekt, aby poczuć, jak to wygląda w rzeczywistości i być może odwrócić proces inżynierii.Znajdź źródło funkcji w Haskell (workflow)
Wybrałem Hakylla, ponieważ robi coś, co znam i jest umiarkowanie skomplikowane. I od razu utknąłem w pytaniu: jak śledzić import?
Powiedz, w JavaScript każdy import jest jawny.
let Q = require("Q") // namespace
let {foo} = require("Q/foo") // value
Haskell domyślnie
import Q
który psuje wszystko na raz, a ludzie wydają się naprawdę nadużywanie.
Teraz patrzę na tutorial, następnie u źródła i zdaję sobie sprawę, że nie mam pojęcia, gdzie znajduje się jedna lub druga funkcja i nie mam pojęcia, jak ją znaleźć, z wyjątkiem wyszukiwania.
Czy jest jakaś sztuczka polegająca na wykryciu tego rodzaju informacji, takich jak błąd składni, który ujawniłby plik źródłowy? Jak rozwiązujesz takie zadania w swoim obiegu pracy?
Możesz wyszukiwać nazwy funkcji, a nawet podpisy w hoogle: https://www.haskell.org/hoogle/ – erdeszt
Pamiętaj, że możesz wyraźnie określić, co chcesz zaimportować, pisząc 'import Q (foo)'. Ponadto: użyj [hoogle] (https://www.haskell.org/hoogle/) lub [hayoo] (http://hayoo.fh-wedel.de/), aby wyszukać funkcje haskell. – Bakuriu
@Bururiu - specyfikacja nie może pomóc w inżynierii wstecznej po podaniu kodu i predefiniowaniu. –