diff options
author | Ian Lynagh <igloo@earth.li> | 2010-10-31 15:49:53 +0000 |
---|---|---|
committer | Ian Lynagh <igloo@earth.li> | 2010-10-31 15:49:53 +0000 |
commit | e44eac21d911766dec925245a12a8c71eba63bf6 (patch) | |
tree | f7cb4e84de5f0480ad707b26431ad9a1a3b108d2 /libraries/base/codepages | |
parent | f5dc1f616882fd463626d742834f2d0f78a43e09 (diff) | |
download | haskell-e44eac21d911766dec925245a12a8c71eba63bf6.tar.gz |
Fix whitespace in codepages/MakeTable.hs
Diffstat (limited to 'libraries/base/codepages')
-rw-r--r-- | libraries/base/codepages/MakeTable.hs | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/libraries/base/codepages/MakeTable.hs b/libraries/base/codepages/MakeTable.hs index af123df4dd..408d932a75 100644 --- a/libraries/base/codepages/MakeTable.hs +++ b/libraries/base/codepages/MakeTable.hs @@ -1,6 +1,6 @@ -{-- +{-- This is a script to generate the necessary tables to support Windows code page -encoding/decoding. +encoding/decoding. License: see libraries/base/LICENSE @@ -15,7 +15,7 @@ tables required for the CJK double-byte codepages are too large to be statically linked into every executable. We plan to add support for them once GHC is able to produce Windows DLLs. ---} +--} module Main where @@ -70,7 +70,7 @@ readCharHex :: String -> Char readCharHex s = if c > fromEnum (maxBound :: Word16) then error "Can't handle non-BMP character." else toEnum c - where c = readHex' s + where c = readHex' s ------------------------------------------- @@ -90,13 +90,13 @@ makeTableFile moduleName files maps = concat ++ [" ]"] mkTableEntry (i,m) = " (" ++ show i ++ ", " ++ makeSBE m ++ " )" blockSizeText = ["blockBitSize :: Int", "blockBitSize = " ++ show blockBitSize] - + makeSBE :: Map.Map Word8 Char -> String makeSBE m = unlines [ "SingleByteCP {" , " decoderArray = " ++ mkConvArray es - , " , encoderArray = " ++ mkCompactArray (swapMap m) + , " , encoderArray = " ++ mkCompactArray (swapMap m) , " }" ] where @@ -167,7 +167,7 @@ mkCompactArray m = unlines [ type CompressState b = (Map.Map Int [b], Map.Map [b] Int) -- each entry in the list corresponds to a block of size n. -compress :: (Bounded a, Enum a, Ord a, Bounded b, Ord b) => Int -> Map.Map a b +compress :: (Bounded a, Enum a, Ord a, Bounded b, Ord b) => Int -> Map.Map a b -> ([Int], CompressState b) compress n ms = runState (mapM lookupOrAdd chunks) (Map.empty, Map.empty) where @@ -226,7 +226,7 @@ class (Ord a, Enum a, Bounded a, Show a) => Embed a where instance Embed Word8 where mkHex = showHex' - + instance Embed Word16 where mkHex = repDualByte @@ -241,7 +241,7 @@ showHex' :: Integral a => a -> String showHex' s = "\\x" ++ showHex s "" repDualByte :: Enum c => c -> String -repDualByte c +repDualByte c | n >= 2^(16::Int) = error "value is too high!" -- NOTE : this assumes little-endian architecture. But we're only using this on Windows, -- so it's probably OK. |