Zippy is a small file compression utility built purely in Haskell. It provides for two different data compression techniques, namely,
- Huffman Encoding
- Lempel–Ziv–Welch (LZW) Compression Algorithm
This project was built as a partial fullfilment towards CS2433-Principles of Programming Languages II (Spring'18) taught by Dr. Saurabh Joshi at IIT Hyderabad.
Open a terminal window.
$ ./zippy <option> <input_file> <output_file>Zippy requires three command-line arguments : , <input_file> and <output_file>.
-
<option>can take the following values:-c-huffor compression using Huffman encoding.-c-lzwfor compression using LZW compression algorithm.-d-huffor decompression using Huffman encoding.-d-lzwfor decompression using LZW compression algorithm.
-
<input_file>is the relative path of the file to be compressed. -
<output_file>is the relative path of the compressed/decompressed file.
Zippy requires GHC 8.0.2+ to build source. Clone the repository.
$ cd haskell-13
$ chmod +x build.sh
$ ./build.sh- Pawar Abhishek Dwarkanath (cs16btech11027@iith.ac.in)
- Ninad Akolekar (cs16btech11024@iith.ac.in)
- Saahil Sirowa (cs16btech11030@iith.ac.in)