From 4c55f14d0ab0f2b099c475a9810012f645bb059e Mon Sep 17 00:00:00 2001 From: Ben Gamari Date: Wed, 5 Aug 2015 14:21:28 +0200 Subject: [PATCH] users_guide: Add note about #367 to Bugs section This is a long-standing bug and should be mentioned in the users guide, as noted in #10639. Test Plan: Carefully check language. Reviewers: simonpj, rwbarton, austin Subscribers: rwbarton, thomie Differential Revision: https://phabricator.haskell.org/D1127 GHC Trac Issues: #10639, #367 --- docs/users_guide/bugs.xml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/docs/users_guide/bugs.xml b/docs/users_guide/bugs.xml index 8673d71..1b4d5c9 100644 --- a/docs/users_guide/bugs.xml +++ b/docs/users_guide/bugs.xml @@ -476,6 +476,21 @@ checking for duplicates. The reason for this is efficiency, pure and simple. + GHC's runtime system implements cooperative multitasking, with + context switching potentially occurring only when a program allocates. + This means that programs that do not allocate may never context switch. + See + Trac #367 + for further discussion. + + If you are hit by this, you may want to compile the affected module + with -fno-omit-yields. This flag ensures that yield points + are inserted at every function entrypoint (at the expense of a bit of + performance). + + + + GHC can warn about non-exhaustive or overlapping patterns (see ), and usually does so correctly. But not always. It gets confused by -- 1.9.1