2009-05-04 8 views

Odpowiedz

34
zipWith (*) [1,2,3] [2,3,4] 

użyteczny sposób znalezienia funkcji, takiej jak zipWith jest Hoogle. Tam możesz wpisać typ funkcji, której szukasz, i spróbuje znaleźć pasujące funkcje w standardowych bibliotekach.

W tym przypadku szukasz funkcji, aby połączyć dwie listy Int s na pojedynczej liście Int s wykorzystujących funkcję sumatora (*), więc to byłoby zapytanie: (Int -> Int -> Int) -> [Int] -> [Int] -> [Int]. Hoogle znajdzie nawet poprawną funkcję, jeśli zmienisz kolejność argumentów.

+4

Co ważniejsze, w tym przypadku (ponieważ rzeczywisty typ pliku zipWith to (a -> b -> c) -> [a] -> [b] -> [c]), Hoogle unifikuje zapytanie z dowolnym Ogólne parametry typu ... –

+0

Dobrze, to też. –