packages feed

convertible-ascii (empty) → 0.1

raw patch · 5 files changed

+246/−0 lines, 5 filesdep +asciidep +basedep +base-unicode-symbolssetup-changed

Dependencies added: ascii, base, base-unicode-symbols, blaze-builder, bytestring, convertible-text, failure, text

Files

+ COPYING view
@@ -0,0 +1,28 @@+<!-- -*- xml -*-++convertible-ascii is in the public domain.++See http://creativecommons.org/licenses/publicdomain/++-->++<rdf:RDF xmlns="http://web.resource.org/cc/"+	     xmlns:dc="http://purl.org/dc/elements/1.1/"+	     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">+  <Work rdf:about="http://cielonegro.org/Convertible-Ascii">+	<dc:title>convertible-ascii</dc:title>+	<dc:rights>+      <Agent>+	    <dc:title>PHO</dc:title>+	  </Agent>+    </dc:rights>+	<license rdf:resource="http://web.resource.org/cc/PublicDomain" />+  </Work>+      +  <License rdf:about="http://web.resource.org/cc/PublicDomain">+	<permits rdf:resource="http://web.resource.org/cc/Reproduction" />+	<permits rdf:resource="http://web.resource.org/cc/Distribution" />+	<permits rdf:resource="http://web.resource.org/cc/DerivativeWorks" />+  </License>++</rdf:RDF>
+ Data/Convertible/Instances/Ascii.hs view
@@ -0,0 +1,161 @@+{-# LANGUAGE+    FlexibleContexts+  , MultiParamTypeClasses+  , TemplateHaskell+  , TypeSynonymInstances+  , UnicodeSyntax+  #-}+{-# OPTIONS_GHC -fno-warn-orphans #-}+-- |Instances to convert amongst 'Ascii' strings and other things.+--+-- Note that data types are re-exported only for the documentation+-- purpose. They'll disappear as soon as Haddock's issue #54+-- (<http://trac.haskell.org/haddock/ticket/54>) gets resolved. So you+-- should always import this module as:+--+-- > import Data.Convertible.Instances.Ascii ()+module Data.Convertible.Instances.Ascii+    ( Ascii+    , CIAscii+    , AsciiBuilder+    ) where+import Blaze.ByteString.Builder (Builder)+import Control.Failure+import Data.Ascii (Ascii, CIAscii, AsciiBuilder)+import qualified Data.Ascii as A+import Data.ByteString (ByteString)+import Data.Convertible.Base+import Data.Convertible.Utils+import Data.Text (Text)+import Prelude.Unicode++instance ConvertSuccess Ascii AsciiBuilder where+    {-# INLINE convertSuccess #-}+    convertSuccess = A.toAsciiBuilder++instance ConvertSuccess Ascii ByteString where+    {-# INLINE convertSuccess #-}+    convertSuccess = A.toByteString++instance ConvertSuccess Ascii CIAscii where+    {-# INLINE convertSuccess #-}+    convertSuccess = A.toCIAscii++instance ConvertSuccess Ascii String where+    {-# INLINE convertSuccess #-}+    convertSuccess = A.toString++instance ConvertSuccess Ascii Text where+    {-# INLINE convertSuccess #-}+    convertSuccess = A.toText++instance ConvertSuccess AsciiBuilder Ascii where+    {-# INLINE convertSuccess #-}+    convertSuccess = A.fromAsciiBuilder++instance ConvertSuccess AsciiBuilder Builder where+    {-# INLINE convertSuccess #-}+    convertSuccess = A.toBuilder++instance ConvertSuccess AsciiBuilder ByteString where+    {-# INLINE convertSuccess #-}+    convertSuccess = convertSuccessVia ((⊥) ∷ Ascii)++instance ConvertSuccess AsciiBuilder CIAscii where+    {-# INLINE convertSuccess #-}+    convertSuccess = convertSuccessVia ((⊥) ∷ Ascii)++instance ConvertSuccess AsciiBuilder String where+    {-# INLINE convertSuccess #-}+    convertSuccess = convertSuccessVia ((⊥) ∷ Ascii)++instance ConvertSuccess AsciiBuilder Text where+    {-# INLINE convertSuccess #-}+    convertSuccess = convertSuccessVia ((⊥) ∷ Ascii)++instance ConvertAttempt ByteString Ascii where+    {-# INLINEABLE convertAttempt #-}+    convertAttempt bs+        = case A.fromByteString bs of+            Just a  → return a+            Nothing → nonAscii bs++instance ConvertAttempt ByteString AsciiBuilder where+    {-# INLINEABLE convertAttempt #-}+    convertAttempt = convertAttemptVia ((⊥) ∷ Ascii)++instance ConvertAttempt ByteString CIAscii where+    {-# INLINEABLE convertAttempt #-}+    convertAttempt = convertAttemptVia ((⊥) ∷ Ascii)++instance ConvertSuccess CIAscii Ascii where+    {-# INLINE convertSuccess #-}+    convertSuccess = A.fromCIAscii++instance ConvertSuccess CIAscii AsciiBuilder where+    {-# INLINE convertSuccess #-}+    convertSuccess = convertSuccessVia ((⊥) ∷ Ascii)++instance ConvertSuccess CIAscii ByteString where+    {-# INLINE convertSuccess #-}+    convertSuccess = convertSuccessVia ((⊥) ∷ Ascii)++instance ConvertSuccess CIAscii String where+    {-# INLINE convertSuccess #-}+    convertSuccess = convertSuccessVia ((⊥) ∷ Ascii)++instance ConvertSuccess CIAscii Text where+    {-# INLINE convertSuccess #-}+    convertSuccess = convertSuccessVia ((⊥) ∷ Ascii)++instance ConvertAttempt String Ascii where+    {-# INLINEABLE convertAttempt #-}+    convertAttempt s+        = case A.fromChars s of+            Just a  → return a+            Nothing → nonAscii s++instance ConvertAttempt String AsciiBuilder where+    {-# INLINEABLE convertAttempt #-}+    convertAttempt = convertAttemptVia ((⊥) ∷ Ascii)++instance ConvertAttempt String CIAscii where+    {-# INLINEABLE convertAttempt #-}+    convertAttempt = convertAttemptVia ((⊥) ∷ Ascii)++instance ConvertAttempt Text Ascii where+    {-# INLINEABLE convertAttempt #-}+    convertAttempt t+        = case A.fromText t of+            Just a  → return a+            Nothing → nonAscii t++instance ConvertAttempt Text AsciiBuilder where+    {-# INLINEABLE convertAttempt #-}+    convertAttempt = convertAttemptVia ((⊥) ∷ Ascii)++instance ConvertAttempt Text CIAscii where+    {-# INLINEABLE convertAttempt #-}+    convertAttempt = convertAttemptVia ((⊥) ∷ Ascii)++nonAscii ∷ Failure (ConvertBoundsException Char α) f ⇒ α → f β+{-# INLINE nonAscii #-}+nonAscii = failure ∘ ConvertBoundsException '\0' '\x7F'++deriveAttempts [ ([t| Ascii        |], [t| AsciiBuilder |])+               , ([t| Ascii        |], [t| ByteString   |])+               , ([t| Ascii        |], [t| CIAscii      |])+               , ([t| Ascii        |], [t| String       |])+               , ([t| Ascii        |], [t| Text         |])+               , ([t| AsciiBuilder |], [t| Ascii        |])+               , ([t| AsciiBuilder |], [t| Builder      |])+               , ([t| AsciiBuilder |], [t| ByteString   |])+               , ([t| AsciiBuilder |], [t| CIAscii      |])+               , ([t| AsciiBuilder |], [t| String       |])+               , ([t| AsciiBuilder |], [t| Text         |])+               , ([t| CIAscii      |], [t| Ascii        |])+               , ([t| CIAscii      |], [t| AsciiBuilder |])+               , ([t| CIAscii      |], [t| ByteString   |])+               , ([t| CIAscii      |], [t| String       |])+               , ([t| CIAscii      |], [t| Text         |])+               ]
+ README.rst view
@@ -0,0 +1,8 @@+======+README+======++This package provides `convertible`_ instances for `ascii`_.++.. _convertible: http://hackage.haskell.org/package/convertible-text+.. _ascii: http://hackage.haskell.org/package/ascii
+ Setup.hs view
@@ -0,0 +1,4 @@+#!/usr/bin/env runghc++import Distribution.Simple+main = defaultMain
+ convertible-ascii.cabal view
@@ -0,0 +1,45 @@+Name:          convertible-ascii+Synopsis:      convertible instances for ascii+Description:+    .+    This package provides convertible instances for ascii:+    .+      * <http://hackage.haskell.org/package/convertible-text>+    .+      * <http://hackage.haskell.org/package/ascii>+    .+Version:       0.1+License:       PublicDomain+License-File:  COPYING+Author:        PHO <pho at cielonegro dot org>+Maintainer:    PHO <pho at cielonegro dot org>+Stability:     experimental+Homepage:      https://github.com/phonohawk/convertible-ascii+Bug-Reports:   https://github.com/phonohawk/convertible-ascii/issues+Category:      Data, Failure+Tested-With:   GHC == 7.0.3+Cabal-Version: >= 1.6+Build-Type:    Simple+Extra-Source-Files:+    README.rst++Source-Repository head+    Type: git+    Location: git://github.com/phonohawk/convertible-ascii.git++Library+    Build-Depends:+        ascii                == 0.0.*,+        base                 == 4.*,+        base-unicode-symbols == 0.2.*,+        blaze-builder        == 0.3.*,+        bytestring           == 0.9.*,+        convertible-text     == 0.4.*,+        failure              == 0.1.*,+        text                 == 0.11.*++    Exposed-Modules:+        Data.Convertible.Instances.Ascii++    ghc-options:+        -Wall