diff options
Diffstat (limited to 'docs/users_guide/bugs.xml')
-rw-r--r-- | docs/users_guide/bugs.xml | 15 |
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 |