dynApply
from函数Data.Dynamics
看起来很不错,但实际上它需要一个单态函数类型。所以,你不能写
dynApply (toDyn id) (toDyn 3)
我有一些需要多态返回类型的代码。它们是受限制的形式,例如函数
forall t. (a -> t) -> t
forall t. (a -> t) -> b -> t
forall t. (a -> t) -> b -> c -> t
...
(其中a
, b
,c
是具体类型)。提前致谢。
dynApply
from函数Data.Dynamics
看起来很不错,但实际上它需要一个单态函数类型。所以,你不能写
dynApply (toDyn id) (toDyn 3)
我有一些需要多态返回类型的代码。它们是受限制的形式,例如函数
forall t. (a -> t) -> t
forall t. (a -> t) -> b -> t
forall t. (a -> t) -> b -> c -> t
...
(其中a
, b
,c
是具体类型)。提前致谢。
不,多态函数与Data.Dynamic
. 要做到这一点,需要多态Data.Typeable
和在运行时使用类型检查器。
但是,此功能有一张票:Polymorphic Data.Dynamic