From 03b0247b3edc402137d2db9099208e77ff479dfa Mon Sep 17 00:00:00 2001 From: simonpj Date: Thu, 1 Aug 2002 12:49:06 +0000 Subject: [PATCH] [project @ 2002-08-01 12:49:06 by simonpj] More documentation about hoisting --- ghc/docs/users_guide/glasgow_exts.sgml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/ghc/docs/users_guide/glasgow_exts.sgml b/ghc/docs/users_guide/glasgow_exts.sgml index 5af7633..43191f4 100644 --- a/ghc/docs/users_guide/glasgow_exts.sgml +++ b/ghc/docs/users_guide/glasgow_exts.sgml @@ -1570,6 +1570,18 @@ valid way to write g's type signature: g :: Int -> Int -> forall b. b -> Int + +When doing this hoisting operation, GHC eliminates duplicate constraints. For +example: + + type Foo a = (?x::Int) => Bool -> a + g :: Foo (Foo Int) + +means + + g :: (?x::Int) => Bool -> Bool -> Int + + -- 1.7.10.4