重複の可能性:
不完全な型シグネチャ
次の点を考慮してください。
import Network.HTTP.Conduit
(parseUrl "http://stackoverflow.com") :: Maybe a
parseUrl
戻り値Failure HttpException m => m (Request m')
ドキュメントには次のように書かれています:
この関数は を使用するため、返されるモナドはやなど
Failure
、 のインスタンスであれば何でも構いません。Failure
IO
Maybe
ただし、強制的parseUrl
に使用しようとするMaybe
と、次のエラーが発生します。
main.hs:9:11:
Couldn't match type `a' with `Request m'0'
`a' is a rigid type variable bound by
an expression type signature: Maybe a at main.hs:9:10
Expected type: Maybe a
Actual type: Maybe (Request m'0)
Maybe
完全な正確な型を指定せずに型を強制する方法はありますか? GHC拡張機能を含む回答は問題ありません。
これが機能することに注意してください:
f :: Maybe a -> Maybe a
f x = x
f (parseUrl "http://stackoverflow.com")
しかし、それは私には醜いようです。