Làm cách nào để xác định hàm tương đương của hàm này (lấy từ learningnyouahaskell ) bên trong GHCi?
import Data.List
numUniques :: (Eq a) => [a] -> Int
numUniques = length . nub
Nếu không có khai báo kiểu, GHCi chấp nhận định nghĩa hàm, nhưng nó kết thúc với một kiểu không hữu ích:
Prelude Data.List> import Data.List
Prelude Data.List> let numUniques' = length . nub
Prelude Data.List> :t numUniques'
numUniques' :: [()] -> Int
Hàm kết quả chỉ chấp nhận một danh sách các đơn vị làm tham số.
Có cách nào cung cấp khai báo kiểu trong GHCi không? Hoặc có cách nào khác để xác định các hàm như thế này mà không yêu cầu khai báo kiểu không?
Tôi không thấy manh mối rõ ràng nào trong hướng dẫn GHCi và đã thử nghiệm với các biểu thức như sau (vô ích):
> let numUniques' = ((length . nub) :: (Eq a) => [a] -> Int)
> :t numUniques'
numUniques' :: [()] -> Int