この関数 ( learnyouahaskellから取得) に相当する関数を GHCi 内で定義するにはどうすればよいですか?
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