
4 Jan
2012
4 Jan
'12
8:57 a.m.
So is there anyway to "force" the scoping of variables, so that f :: a -> a f x = x :: a becomes valid? Do we need to do it the Ocaml way, that is not declaring the first line, activate XScopedVariables and do: f :: a -> a = \x -> x :: a or f (x :: a) = x :: a or some other thing ? I don't see the point in universally quantifying over types which are already present in the environment; it would make better sense for me if only not yet declared types were used.