encoding 0.8.3 → 0.8.4
raw patch · 4 files changed
+47/−14 lines, 4 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Control.Throws: instance GHC.Exception.Type.Exception e => Control.Throws.Throws e Data.Functor.Identity.Identity
- Control.Throws: instance GHC.Exception.Type.Exception e => Control.Throws.Throws e GHC.Types.IO
- Data.Encoding.Exception: instance GHC.Exception.Type.Exception Data.Encoding.Exception.DecodingException
- Data.Encoding.Exception: instance GHC.Exception.Type.Exception Data.Encoding.Exception.EncodingException
+ Control.Throws: instance GHC.Exception.Exception e => Control.Throws.Throws e Data.Functor.Identity.Identity
+ Control.Throws: instance GHC.Exception.Exception e => Control.Throws.Throws e GHC.Types.IO
+ Data.Encoding.Exception: instance GHC.Exception.Exception Data.Encoding.Exception.DecodingException
+ Data.Encoding.Exception: instance GHC.Exception.Exception Data.Encoding.Exception.EncodingException
- Data.Encoding.ByteSink: PutME :: Either EncodingException (PutM (), a) -> PutME a
+ Data.Encoding.ByteSink: PutME :: (Either EncodingException (PutM (), a)) -> PutME a
- Data.Encoding.ByteSink: StrictSinkE :: StrictSink (Either EncodingException a) -> StrictSinkE a
+ Data.Encoding.ByteSink: StrictSinkE :: (StrictSink (Either EncodingException a)) -> StrictSinkE a
- Data.Encoding.ByteSink: StrictSinkExplicit :: StrictSink (Either EncodingException a) -> StrictSinkExplicit a
+ Data.Encoding.ByteSink: StrictSinkExplicit :: (StrictSink (Either EncodingException a)) -> StrictSinkExplicit a
- Data.Encoding.ByteSource: fetchAheadState :: MonadState s m => m (Maybe a) -> m (Maybe a)
+ Data.Encoding.ByteSource: fetchAheadState :: MonadState s m => m Maybe a -> m Maybe a
Files
- CHANGELOG +6/−0
- Data/Encoding/ISO88591.hs +23/−0
- System/IO/Encoding.hs +12/−8
- encoding.cabal +6/−6
CHANGELOG view
@@ -1,3 +1,9 @@+Changes from 0.8.3 to 0.8.4+---------------------------++* Fixed builds with GHC 8.2, 8.4+* Adopted to upgraded Hackage (Cabal 3.0)+ Changes from 0.8.2 to 0.8.3 ---------------------------
+ Data/Encoding/ISO88591.hs view
@@ -0,0 +1,23 @@+{-# LANGUAGE DeriveDataTypeable #-}+{- | Implements ISO\/IEC 8859-1 alias latin-1 encoding. See <http://en.wikipedia.org/wiki/ISO/IEC_8859-1> for further information.+ -}+module Data.Encoding.ISO88591 where++import Control.Throws+import Data.Encoding.Base+import Data.Encoding.Exception+import Data.Encoding.ByteSource+import Data.Encoding.ByteSink+import Data.Char (ord,chr)+import Data.Typeable++data ISO88591 = ISO88591 deriving (Show,Eq,Typeable)++instance Encoding ISO88591 where+ encodeChar _ c+ | c > '\255' = throwException (HasNoRepresentation c)+ | otherwise = pushWord8 (fromIntegral $ ord c)+ decodeChar _ = do+ w <- fetchWord8+ return (chr $ fromIntegral w)+ encodeable _ c = c <= '\255'
System/IO/Encoding.hs view
@@ -1,4 +1,6 @@-{-# LANGUAGE ImplicitParams,ForeignFunctionInterface #-}+{-# LANGUAGE CPP #-}+{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE ImplicitParams #-} {- | This module provides a replacement for the normal (unicode unaware) IO functions of haskell. By using implicit parameters, it can be used almost as a drop-in replacement. For example, consider the following simple echo program:@@ -31,7 +33,7 @@ > e <- getSystemEncoding > let ?enc = e > str <- getContents- > putStr str + > putStr str -} module System.IO.Encoding (getSystemEncoding@@ -54,14 +56,16 @@ ,print ,hPrint) where -import Foreign.C.String+import Foreign.C.String -import Data.Encoding-import System.IO (Handle,stdout,stdin)-import Prelude hiding (print,getContents,readFile,writeFile,appendFile,interact,putStr,putStrLn,getChar,getLine,putChar)+import Control.Monad.Reader (runReaderT)+import qualified Data.ByteString as BS import qualified Data.ByteString.Lazy as LBS-import qualified Data.ByteString as BS-import Control.Monad.Reader (runReaderT)+import Data.Encoding+import Prelude hiding (appendFile, getChar, getContents,+ getLine, interact, print, putChar,+ putStr, putStrLn, readFile, writeFile)+import System.IO (Handle, stdin, stdout) -- | Like the normal 'System.IO.hGetContents', but decodes the input using an -- encoding.
encoding.cabal view
@@ -1,5 +1,5 @@ Name: encoding-Version: 0.8.3+Version: 0.8.4 Author: Henning Günther Maintainer: daniel@wagner-home.com License: BSD3@@ -9,7 +9,7 @@ Haskell has excellect handling of unicode, the Char type covers all unicode chars. Unfortunately, there's no possibility to read or write something to the outer world in an encoding other than ascii due to the lack of support for encodings. This library should help with that. Category: Codec Homepage: http://code.haskell.org/encoding/-Cabal-Version: >=1.8+Cabal-Version: >=1.10 Build-Type: Custom Extra-Source-Files: CHANGELOG@@ -32,7 +32,7 @@ Source-Repository this Type: git Location: http://github.com/dmwit/encoding- Tag: 0.8.3+ Tag: 0.8.4 Custom-Setup Setup-Depends: base >=3 && <5,@@ -53,7 +53,7 @@ mtl >=2.0 && <2.3, regex-compat >=0.71 && <0.95 - Extensions: CPP+ Default-Language: Haskell2010 Exposed-Modules: Data.Encoding@@ -125,7 +125,6 @@ Data.Static Data.CharMap Autogen-Modules:- Data.Encoding.ISO88591 Data.Encoding.ISO88592 Data.Encoding.ISO88593 Data.Encoding.ISO88594@@ -167,7 +166,7 @@ Data.Encoding.CP869 Data.Encoding.CP874 Data.Encoding.CP932- Data.Encoding.GB18030 + Data.Encoding.GB18030 Data.Encoding.JISX0201 Data.Encoding.JISX0208 Data.Encoding.JISX0212@@ -195,3 +194,4 @@ , HUnit , QuickCheck ghc-options: -threaded -rtsopts -with-rtsopts=-N+ Default-Language: Haskell2010