From: simonpj Date: Tue, 10 Aug 2004 11:35:24 +0000 (+0000) Subject: [project @ 2004-08-10 11:35:24 by simonpj] X-Git-Tag: nhc98-1-18-release~280 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=f1d94f7b61a91b7898376badd757fee9091a85ca;p=haskell-directory.git [project @ 2004-08-10 11:35:24 by simonpj] Add a Haddock note about dynamic linking --- diff --git a/Data/Typeable.hs b/Data/Typeable.hs index 3e5b7c2..69ed9a0 100644 --- a/Data/Typeable.hs +++ b/Data/Typeable.hs @@ -18,6 +18,15 @@ -- and type-safe cast (but not dynamics) to support the \"Scrap your -- boilerplate\" style of generic programming. -- +-- Note, only relevant if you use dynamic linking. If you have a program +-- that is statically linked with Data.Typeable, and then dynamically link +-- a program that also uses Data.Typeable, you'll get two copies of the module. +-- That's fine, but behind the scenes, the module uses a mutable variable to +-- allocate unique Ids to type constructors. So in the situation described, +-- there'll be two separate Id allocators, which aren't comparable to each other. +-- This can lead to chaos. (It's a bug that we will fix.) None of +-- this matters if you aren't using dynamic linking. +-- ----------------------------------------------------------------------------- module Data.Typeable