GHCi 내 에서이 함수 ( learnyouahaskell 에서 가져옴 )에 해당하는 것을 어떻게 정의 합니까?
import Data.List
numUniques :: (Eq a) => [a] -> Int
numUniques = length . nub
유형 선언이 없으면 GHCi는 함수 정의를 받아들이지 만 결국에는 도움이되지 않는 유형이됩니다.
Prelude Data.List> import Data.List
Prelude Data.List> let numUniques' = length . nub
Prelude Data.List> :t numUniques'
numUniques' :: [()] -> Int
결과 함수는 단위 목록 만 매개 변수로받습니다.
GHCi에서 유형 선언을 제공하는 방법이 있습니까? 아니면 유형 선언이 필요하지 않은 이와 같은 함수를 정의하는 다른 방법이 있습니까?
나는 GHCi 가이드에서 명백한 단서를 보지 못했고 다음과 같은 표현으로 실험했습니다 (소용이 없음).
> let numUniques' = ((length . nub) :: (Eq a) => [a] -> Int)
> :t numUniques'
numUniques' :: [()] -> Int