diff options
Diffstat (limited to 'Data/ByteStringBuilder.hs')
-rw-r--r-- | Data/ByteStringBuilder.hs | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/Data/ByteStringBuilder.hs b/Data/ByteStringBuilder.hs index 6f0222e..98b3db5 100644 --- a/Data/ByteStringBuilder.hs +++ b/Data/ByteStringBuilder.hs @@ -5,9 +5,10 @@ import Data.ByteString.Lazy.Char8 as BSLC import Data.Word data ByteStringBuilder a = ByteStringBuilder ByteString a + type Builder = ByteStringBuilder () -put :: ByteString -> Builder +put :: ByteString -> Builder put = flip ByteStringBuilder () putS :: String -> Builder @@ -30,13 +31,13 @@ instance Functor ByteStringBuilder where instance Applicative ByteStringBuilder where (<*>) afn aa = do - fn <- afn - a <- aa - return (fn a) + fn <- afn + a <- aa + return (fn a) pure = return instance Monad ByteStringBuilder where - ByteStringBuilder a _ >> ByteStringBuilder b c = ByteStringBuilder (a `append` b) c - a@(ByteStringBuilder _ b) >>= func = a >> func b - return = ByteStringBuilder BSL.empty + ByteStringBuilder a _ >> ByteStringBuilder b c = ByteStringBuilder (a `append` b) c + a@(ByteStringBuilder _ b) >>= func = a >> func b + return = ByteStringBuilder BSL.empty |