git.iko.soy/typeable/attoparsec
on master help sign in
Merge pull request #30 from sol/use-equational-constraints

Use equational constraints for IsString instances

commitb17af7f01b6ce5dfeb62f20ddf2cea145cc8f1fa authorBryan O'Sullivan <bos@serpentine.com> dateTue 20 Nov 2012, 13:46 (14 years ago) parentf6f9a46d4ef0de
3 files changed+5−5
Data/Attoparsec/ByteString/Char8.hs+2−2 Data/Attoparsec/Text/Internal.hs+2−2 examples/RFC2616.hs+1−1
Data/Attoparsec/ByteString/Char8.hs+2−2
@@ -1,4 +1,4 @@
1−{-# LANGUAGE BangPatterns, FlexibleInstances, TypeSynonymInstances #-}
1+{-# LANGUAGE BangPatterns, FlexibleInstances, TypeSynonymInstances, GADTs #-}
22{-# OPTIONS_GHC -fno-warn-orphans #-}
33
44-- |
@@ -123,7 +123,7 @@ import qualified Data.Attoparsec.Internal as I
123123import qualified Data.ByteString as B8
124124import qualified Data.ByteString.Char8 as B
125125
126−instance IsString (Parser B.ByteString) where
126+instance (a ~ B.ByteString) => IsString (Parser a) where
127127 fromString = I.string . B.pack
128128
129129-- $encodings
Data/Attoparsec/Text/Internal.hs+2−2
@@ -1,5 +1,5 @@
11{-# LANGUAGE BangPatterns, CPP, FlexibleInstances, OverloadedStrings,
2− Rank2Types, RecordWildCards, TypeSynonymInstances #-}
2+ Rank2Types, RecordWildCards, TypeSynonymInstances, GADTs #-}
33{-# OPTIONS_GHC -fno-warn-orphans #-}
44-- |
55-- Module : Data.Attoparsec.Text.Internal
@@ -92,7 +92,7 @@ type Added = T.Added Text
9292type Failure r = T.Failure Text r
9393type Success a r = T.Success Text a r
9494
95−instance IsString (Parser Text) where
95+instance (a ~ Text) => IsString (Parser a) where
9696 fromString = string . T.pack
9797
9898lengthAtLeast :: T.Text -> Int -> Bool
examples/RFC2616.hs+1−1
@@ -36,7 +36,7 @@ data Request = Request {
3636 } deriving (Eq, Ord, Show)
3737
3838httpVersion :: 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)
4040
4141requestLine :: Parser Request
4242requestLine = do