我有這樣的功能:無法找出一個函數的類型是什麼
import Data.Aeson
import Network.HTTP.Conduit
getJSON url = eitherDecode <$> simpleHttp url
將其稱作:
maybeJson <- getJSON "https://abc.com" :: IO (Either String Value)
不過,我想不出什麼樣的類型getJSON是。我一直在嘗試這些:
getJSON :: FromJSON a => String -> Either String a --1
getJSON :: String -> Either String Value --2
加上一些其他的但失敗。它是什麼?
當然,我不必。但是在使用它之前先聲明一個函數的類型是個好習慣。 –
@Grienders是的,但「首先寫入沒有類型簽名的函數,然後問編譯器它的類型是什麼,然後添加簽名」是一個完美的方法。 –