Функция dynApply
из 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
- конкретные типы). Заранее спасибо.