Haskell: Compress with GZip and write to file
Problem:
In Haskell, you want to gzip-compress a string and write it to a file.
Solution
We’ll use the zlib module for that. You might need to run
install_zlib_cabal.sh
cabal install zlib
if you haven’t done that already.
Here’s the code that writes the string foobar
to the gzip-compressed file foo.gz
:
example.txt
-- GZip compression
import qualified Codec.Compression.GZip as GZip
-- Needed to convert String literals to ByteString
import Data.ByteString.Lazy.Char8(pack)
-- ByteString.writeFile
import qualified Data.ByteString.Lazy as ByteString
main = do
let compressedContent = pack "foobar"
ByteString.writeFile "foo.gz" (GZip.compress compressedContent)has
Check out similar posts by category:
Haskell
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow