]> gitweb @ CieloNegro.org - Lucu.git/blobdiff - Network/HTTP/Lucu/HttpVersion.hs
Destroy Data.Attoparsec.Parsable; use Data.Default instead
[Lucu.git] / Network / HTTP / Lucu / HttpVersion.hs
index 983cb503f09d0f85a670af16a387906f3c8d1a02..0a850c7aa1cc30f5005b122c2cd7567b8c4b87b9 100644 (file)
@@ -3,6 +3,7 @@
   , MultiParamTypeClasses
   , OverloadedStrings
   , TemplateHaskell
+  , TypeSynonymInstances
   , UnicodeSyntax
   #-}
 -- |An internal module for HTTP version numbers.
@@ -14,11 +15,10 @@ import Control.Applicative
 import Control.Applicative.Unicode
 import Data.Ascii (Ascii, AsciiBuilder)
 import Data.Attoparsec.Char8
-import Data.Attoparsec.Parsable
-import Data.ByteString (ByteString)
 import Data.Convertible.Base
 import Data.Convertible.Instances.Ascii ()
 import Data.Convertible.Utils
+import Data.Default
 import Data.Monoid.Unicode
 import Prelude hiding (min)
 import Prelude.Unicode
@@ -58,8 +58,8 @@ deriveAttempts [ ([t| HttpVersion |], [t| Ascii        |])
                , ([t| HttpVersion |], [t| AsciiBuilder |])
                ]
 
-instance Parsable ByteString HttpVersion where
-    {-# INLINEABLE parser #-}
-    parser = string "HTTP/"
-             *>
-             (HttpVersion <$> decimal ⊛ (char '.' *> decimal))
+instance Default (Parser HttpVersion) where
+    {-# INLINEABLE def #-}
+    def = string "HTTP/"
+          *>
+          (HttpVersion <$> decimal ⊛ (char '.' *> decimal))