I am trying to experiment with System-F types in Haskell and have implemented church natural number coding via type .
When loading this code
{-
in ghci 7.8.2 I get a warning:
λ: :l test.hs [1 of 1] Compiling Main ( test.hs, interpreted ) test.hs:29:1: Warning: Top-level binding with no type signature: pair3 :: forall t t1. (((t1 -> t1) -> t1 -> t1) -> [Char] -> t) -> t Ok, modules loaded: Main. λ:
The question is whether the type should be
pair3 :: forall t. ((forall t1. (t1 -> t1) -> t1 -> t1) -> [Char] -> t) -> t
?
UPD: A simple example is given.
source share