haskell - 有什么解决方法可以在 Data.Dynamics 中获取多态函数吗?

标签 haskell dynamic-typing

来自 Data.Dynamics 的函数 dynApply 看起来非常好,但实际上它需要单态函数类型。所以,你不能写

dynApply (toDyn id) (toDyn 3)

我有一些需要多态返回类型的代码。它们的形式受到限制,例如功能

forall t. (a -> t) -> t
forall t. (a -> t) -> b -> t
forall t. (a -> t) -> b -> c -> t
...

(其中 abc 是具体类型)。提前致谢。

最佳答案

不,多态函数与Data.Dynamic不兼容。为此,需要多态 Data.Typeable 并在运行时使用类型检查器。

但是,此功能有一张票:Polymorphic Data.Dynamic

关于haskell - 有什么解决方法可以在 Data.Dynamics 中获取多态函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8888837/

相关文章:

haskell - 如何让 ReaderT 与另一个 monad 转换器一起工作?

php - 使用多态时,如何让 PHP 代码知道传递给它的特定类子类型?

c - 如何在不引用 c 对象的情况下导入使用 FFI 的 haskell 模块?

haskell - "lemma"函数的一般类型应该如何理解?

haskell - 需要多少个 fmap?

haskell - Haskell 中的程序设计 : how to do simulation without mutability

d - 为什么 D 的变体看起来令人困惑

java - 如何在 Java 中创建动态变量?

dynamic-typing - 您从动态类型中受益的地方在哪里?