Haskell: uzyskanie statycznego typu wyrażenia
Szukam funkcji, która robi to, co robi polecenie GHCi: type.
Idealnie byłoby mieć podpis podobny do tego
<code>getStaticType :: a -> String a = getStaticType (1+2) -- a = "(Num t) => t" b = getStaticType zipWith -- b = "(a -> b -> c) -> [a] -> [b] -> [c]" </code>
(Uwaga: nie ma to nic wspólnego z Data.Dynamic. Po prostu chcę, aby typ statyczny wywnioskowano z kompilatora. W rzeczywistości funkcja nie będzie w ogóle potrzebować implementacji środowiska wykonawczego, ponieważ wszystkie wywołania mogą być kompilowane jako stałe. Zakładam, że gdzieś istnieje, ponieważ GHCi może to zrobić)