From: simonpj@microsoft.com Date: Fri, 2 Oct 2009 11:14:00 +0000 (+0000) Subject: Document -XMonoLocalBinds X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=7defebee53964996947d1dee2c6606519d796429;p=ghc-hetmet.git Document -XMonoLocalBinds --- diff --git a/docs/users_guide/flags.xml b/docs/users_guide/flags.xml index 182b2fd..b87044f 100644 --- a/docs/users_guide/flags.xml +++ b/docs/users_guide/flags.xml @@ -757,6 +757,13 @@ + + Enable do not generalise local bindings. + + dynamic + + + Enable Template Haskell. No longer implied by . diff --git a/docs/users_guide/glasgow_exts.xml b/docs/users_guide/glasgow_exts.xml index fb21918..befb416 100644 --- a/docs/users_guide/glasgow_exts.xml +++ b/docs/users_guide/glasgow_exts.xml @@ -5999,6 +5999,21 @@ pattern binding must have the same context. For example, this is fine: + +Monomorphic local bindings + +We are actively thinking of simplifying GHC's type system, by not generalising local bindings. +The rationale is described in the paper +Let should not be generalised. + + +The experimental new behaviour is enabled by the flag . The effect is +that local (that is, non-top-level) bindings without a type signature are not generalised at all. You can +think of it as an extreme (but much more predictable) version of the Monomorphism Restriction. +If you supply a type signature, then the flag has no effect. + + +