This is an old revision of the document!
Hoogle
Hoogle este un motor de căutare pentru funcții, tipuri, clase etc. de Haskell. Puterea sa constă în abilitatea de a căuta funcții atât după nume cât și după tip.
Căutare după nume
Considerați că tocmai ați auzit de funcția Haskell scanl, dar nu știți ce face. Căutând numele pe Hoogle (https://www.haskell.org/hoogle/?hoogle=scanl) obțineți o listă de rezultate similare; observați că hoogle face matching parțial și vă găsește și funcții numite scanl1.
Anatomia unui rezultat
Fiecare rezultat are următoarele componente:
- pe prima linie este numele complet al funcției, urmat de tipul funcției
- click pe numele sau pe tipul funcției vă va duce la descrierea completă a acesteia din cadrul pachetului în care e definită
- următoarea linie (cu verde) conține o listă separată cu virgulă de forma “pachet modul-din-pachet” în care se găsește funcția (nu e necesar să înțelegeți bine noțiunile de “pachet” și de “modul”; vă veți uita în principal după funcții care conțin
base Prelude) - următoarea linie conține o descriere a comportamentului funcției; butonul
+de la începutul rândului expandează acest câmp, dacă descrierea este lungă
Citind descrierea funcției scanl, observăm că aceasta operează ca foldl, dar întoarce o listă cu toate rezultatele parțiale; astfel încât primul element al listei este acumulatorul, iar ultimul rezultatul final:
Prelude> foldl (+) 0 [14, 28, 2] 44 Prelude> scanl (+) 0 [14, 28, 2] [0,14,42,44] Prelude>
