git.iko.soy/typeable/attoparsec
on master help sign in
Merge pull request #30 from sol/use-equational-constraints
b17af7fBryan O'Sullivan
Data/Attoparsec/ByteString/Char8.hs+2−2
@@ -1,4 +1,4 @@
1−{-# LANGUAGE BangPatterns, FlexibleInstances, TypeSynonymInstances #-}
1+{-# LANGUAGE BangPatterns, FlexibleInstances, TypeSynonymInstances, GADTs #-}
2{-# OPTIONS_GHC -fno-warn-orphans #-}
2{-# OPTIONS_GHC -fno-warn-orphans #-}
3
3
4-- |
4-- |
@@ -123,7 +123,7 @@ import qualified Data.Attoparsec.Internal as I
123import qualified Data.ByteString as B8
123import qualified Data.ByteString as B8
124import qualified Data.ByteString.Char8 as B
124import qualified Data.ByteString.Char8 as B
125
125
126−instance IsString (Parser B.ByteString) where
126+instance (a ~ B.ByteString) => IsString (Parser a) where
127 fromString = I.string . B.pack
127 fromString = I.string . B.pack
128
128
129-- $encodings
129-- $encodings
Data/Attoparsec/Text/Internal.hs+2−2
@@ -1,5 +1,5 @@
1{-# LANGUAGE BangPatterns, CPP, FlexibleInstances, OverloadedStrings,
1{-# LANGUAGE BangPatterns, CPP, FlexibleInstances, OverloadedStrings,
2− Rank2Types, RecordWildCards, TypeSynonymInstances #-}
2+ Rank2Types, RecordWildCards, TypeSynonymInstances, GADTs #-}
3{-# OPTIONS_GHC -fno-warn-orphans #-}
3{-# OPTIONS_GHC -fno-warn-orphans #-}
4-- |
4-- |
5-- Module : Data.Attoparsec.Text.Internal
5-- Module : Data.Attoparsec.Text.Internal
@@ -92,7 +92,7 @@ type Added = T.Added Text
92type Failure r = T.Failure Text r
92type Failure r = T.Failure Text r
93type Success a r = T.Success Text a r
93type Success a r = T.Success Text a r
94
94
95−instance IsString (Parser Text) where
95+instance (a ~ Text) => IsString (Parser a) where
96 fromString = string . T.pack
96 fromString = string . T.pack
97
97
98lengthAtLeast :: T.Text -> Int -> Bool
98lengthAtLeast :: T.Text -> Int -> Bool
examples/RFC2616.hs+1−1
@@ -36,7 +36,7 @@ data Request = Request {
36 } deriving (Eq, Ord, Show)
36 } deriving (Eq, Ord, Show)
37
37
38httpVersion :: Parser B.ByteString
38httpVersion :: Parser B.ByteString
39−httpVersion = string "HTTP/" *> P.takeWhile (\c -> isDigit_w8 c || c == 46)
39+httpVersion = "HTTP/" *> P.takeWhile (\c -> isDigit_w8 c || c == 46)
40
40
41requestLine :: Parser Request
41requestLine :: Parser Request
42requestLine = do
42requestLine = do