Я ищу функцию, которая делает то, что делает команда типа GHCi :.
В идеале она должна иметь сигнатуру вроде
getStaticType :: a -> String
a = getStaticType (1+2)
-- a = "(Num t) => t"
b = getStaticType zipWith
-- b = "(a -> b -> c) -> [a] -> [b] -> [c]"
(Примечание :это не имеет ничего общего с Data.Dynamic. Я просто нужен статический тип, выведенный из компилятора.На самом деле функция вообще не нуждается в реализации во время выполнения, так как все вызовы к ней могут быть встроены как константы во время компиляции.Я предполагаю, что он где-то существует, так как GHCi может это сделать)