diff options
author | Josh Rahm <joshuarahm@gmail.com> | 2022-12-03 17:37:59 -0700 |
---|---|---|
committer | Josh Rahm <joshuarahm@gmail.com> | 2022-12-03 17:37:59 -0700 |
commit | ba59711a51b4fee34009b1fe6afdce9ef8e60ae0 (patch) | |
tree | 7274bd2c9007abe08c8db7cea9e55babfd041125 /Data | |
parent | 601f77922490888c3ae9986674e332a5192008ec (diff) | |
download | terralloc-master.tar.gz terralloc-master.tar.bz2 terralloc-master.zip |
Diffstat (limited to 'Data')
-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 |