From 7defebee53964996947d1dee2c6606519d796429 Mon Sep 17 00:00:00 2001 From: "simonpj@microsoft.com" Date: Fri, 2 Oct 2009 11:14:00 +0000 Subject: [PATCH] Document -XMonoLocalBinds --- docs/users_guide/flags.xml | 7 +++++++ docs/users_guide/glasgow_exts.xml | 15 +++++++++++++++ 2 files changed, 22 insertions(+) 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. + + + -- 1.7.10.4