[project @ 2004-12-22 16:58:34 by simonpj]
authorsimonpj <unknown>
Wed, 22 Dec 2004 16:59:22 +0000 (16:59 +0000)
committersimonpj <unknown>
Wed, 22 Dec 2004 16:59:22 +0000 (16:59 +0000)
commit20e39e0e07e4a8e9395894b2785d6675e4e3e3b3
treedd82345461086491f435581008bfcd6641382ead
parentd7c402a3cedbe49345a34f2e58a3f3050638dcb4
[project @ 2004-12-22 16:58:34 by simonpj]
----------------------------------------
     Add more scoped type variables
----------------------------------------

Now the top-level forall'd variables of a type signature scope
over the right hand side of that function.

f :: a -> a
f x = ....

The type variable 'a' is in scope in the RHS, and in f's patterns.

It's implied by -fglasgow-exts, but can also be switched off independently
using -fscoped-type-variables (and the -fno variant)
22 files changed:
ghc/compiler/iface/TcIface.lhs
ghc/compiler/main/CmdLineOpts.lhs
ghc/compiler/main/DriverFlags.hs
ghc/compiler/main/HscTypes.lhs
ghc/compiler/rename/RnBinds.lhs
ghc/compiler/rename/RnEnv.lhs
ghc/compiler/typecheck/Inst.lhs
ghc/compiler/typecheck/TcArrows.lhs
ghc/compiler/typecheck/TcBinds.lhs
ghc/compiler/typecheck/TcClassDcl.lhs
ghc/compiler/typecheck/TcDeriv.lhs
ghc/compiler/typecheck/TcEnv.lhs
ghc/compiler/typecheck/TcHsType.lhs
ghc/compiler/typecheck/TcInstDcls.lhs
ghc/compiler/typecheck/TcMType.lhs
ghc/compiler/typecheck/TcPat.lhs
ghc/compiler/typecheck/TcRnMonad.lhs
ghc/compiler/typecheck/TcType.lhs
ghc/compiler/types/InstEnv.lhs
ghc/compiler/types/Unify.lhs
ghc/docs/users_guide/flags.xml
ghc/docs/users_guide/glasgow_exts.xml