2
我試過如下:在Haskell,如何做一個case語句動態TypeRef
intType = typeOf (5::Int)
stringType = typeOf "s"
dynFunc :: Dynamic -> IO()
dynFunc d =
case dynTypeRep d of
stringType -> polyFunc ((fromDyn d "") :: String)
intType -> polyFunc ((fromDyn d 0) :: Int)
_ -> error "Could not coerce dynamic value"
但是,該報告的重疊模式匹配和不工作的權利。它總是以第一種模式代替正確的模式。