summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorBen Gamari <bgamari.foss@gmail.com>2015-08-05 14:21:28 +0200
committerBen Gamari <ben@smart-cactus.org>2015-08-05 14:45:16 +0200
commit4c55f14d0ab0f2b099c475a9810012f645bb059e (patch)
tree9258b99ca02347dd157f80fa74e0e6cdd7657f8f /docs
parentdd7e1880ae078a2d9f254dc5d8f330121e0ec291 (diff)
downloadhaskell-4c55f14d0ab0f2b099c475a9810012f645bb059e.tar.gz
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
Diffstat (limited to 'docs')
-rw-r--r--docs/users_guide/bugs.xml15
1 files changed, 15 insertions, 0 deletions
diff --git a/docs/users_guide/bugs.xml b/docs/users_guide/bugs.xml
index 8673d71f6b..1b4d5c93a2 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.
<itemizedlist>
<listitem>
+ <para>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
+ <ulink url="https://ghc.haskell.org/trac/ghc/ticket/367">Trac #367</ulink>
+ for further discussion.
+ </para>
+ <para>If you are hit by this, you may want to compile the affected module
+ with <literal>-fno-omit-yields</literal>. This flag ensures that yield points
+ are inserted at every function entrypoint (at the expense of a bit of
+ performance).
+ </para>
+ </listitem>
+
+ <listitem>
<para> GHC can warn about non-exhaustive or overlapping
patterns (see <xref linkend="options-sanity"/>), and usually
does so correctly. But not always. It gets confused by