From a4f0d4f0d7bec8afda3aadd6eb10d12f40374995 Mon Sep 17 00:00:00 2001 From: bjorn Date: Thu, 27 Nov 2008 08:36:18 +0000 Subject: [PATCH] Remove ununsed GF.Source.SharedString module. --- src/GF/Source/SharedString.hs | 20 -------------------- 1 file changed, 20 deletions(-) delete mode 100644 src/GF/Source/SharedString.hs diff --git a/src/GF/Source/SharedString.hs b/src/GF/Source/SharedString.hs deleted file mode 100644 index 358f70494..000000000 --- a/src/GF/Source/SharedString.hs +++ /dev/null @@ -1,20 +0,0 @@ -module GF.Source.SharedString (shareString) where - -import Data.Map as M -import Data.IORef -import qualified Data.ByteString.Char8 as BS -import System.IO.Unsafe (unsafePerformIO) - -{-# NOINLINE stringPoolRef #-} -stringPoolRef :: IORef (M.Map BS.ByteString BS.ByteString) -stringPoolRef = unsafePerformIO $ newIORef M.empty - -{-# NOINLINE shareString #-} -shareString :: BS.ByteString -> BS.ByteString -shareString s = unsafePerformIO $ do - stringPool <- readIORef stringPoolRef - case M.lookup s stringPool of - Just s' -> return s' - Nothing -> do let s' = BS.copy s - writeIORef stringPoolRef $! M.insert s' s' stringPool - return s'