encoding 0.6.3 → 0.6.4
raw patch · 5 files changed
+18/−5 lines, 5 files
Files
- Data/Encoding/ASCII.hs +5/−2
- Data/Encoding/ByteSink.hs +3/−1
- Data/Encoding/ByteSource.hs +3/−1
- NEWS +6/−0
- encoding.cabal +1/−1
Data/Encoding/ASCII.hs view
@@ -1,10 +1,12 @@ {-# LANGUAGE DeriveDataTypeable #-} module Data.Encoding.ASCII where +import Control.Throws import Data.Char import Data.Encoding.Base import Data.Encoding.ByteSource import Data.Encoding.ByteSink+import Data.Encoding.Exception import Data.Typeable data ASCII = ASCII deriving (Show,Eq,Typeable)@@ -13,6 +15,7 @@ decodeChar _ = do w <- fetchWord8 return $ chr $ fromIntegral w- encodeChar _ c = do- pushWord8 $ fromIntegral $ ord c+ encodeChar enc c+ | encodeable enc c = pushWord8 . fromIntegral . ord $ c+ | otherwise = throwException . HasNoRepresentation $ c encodeable _ c = c < '\128'
Data/Encoding/ByteSink.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE FlexibleInstances,FlexibleContexts,MultiParamTypeClasses #-}+{-# LANGUAGE FlexibleInstances,FlexibleContexts,MultiParamTypeClasses,CPP #-} module Data.Encoding.ByteSink where import Data.Encoding.Exception@@ -101,10 +101,12 @@ pushWord64be w = PutME $ Right (putWord64be w,()) pushWord64le w = PutME $ Right (putWord64le w,()) +#ifndef MIN_VERSION_mtl(2,0,0,0) instance Monad (Either EncodingException) where return x = Right x Left err >>= g = Left err Right x >>= g = g x+#endif instance Throws EncodingException (State (Seq Char)) where throwException = throw
Data/Encoding/ByteSource.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE FlexibleInstances,FlexibleContexts,MultiParamTypeClasses #-}+{-# LANGUAGE FlexibleInstances,FlexibleContexts,MultiParamTypeClasses,CPP #-} module Data.Encoding.ByteSource where import Data.Encoding.Exception@@ -121,10 +121,12 @@ put chs return res +#ifndef MIN_VERSION_mtl(2,0,0,0) instance Monad (Either DecodingException) where return = Right (Left err) >>= g = Left err (Right x) >>= g = g x+#endif instance ByteSource (StateT [Char] (Either DecodingException)) where sourceEmpty = gets null
NEWS view
@@ -1,3 +1,9 @@+Changes from 0.6.3 to 0.6.4+---------------------------++* Throw an error when encoding non-ascii chars with ascii+* Fix compilation with mtl-2+ Changes from 0.6.2 to 0.6.3 ---------------------------
encoding.cabal view
@@ -1,5 +1,5 @@ Name: encoding-Version: 0.6.3+Version: 0.6.4 Author: Henning Günther Maintainer: h.guenther@tu-bs.de License: BSD3