Module Codec


module Codec: Libs.Common.Compress
Common compression/decompression interfaces.

This module provides abstract interfaces for manipulating compressed data. The interfaces are abstract in the sense that they are not specific of any underlying (de)compression libraries. Each of such library integrated with Batteries is required to implement the abstract interfaces. This way, switching from one compression library to another should be as easy as switching module name.

Library-specific features can be provided by offering additional functions with respect to the common abstract interfaces.
Author(s): Stefano Zacchiroli


exception Compression_error of string * exn option
Error while compressing/decompressing.

First argument is a human-readable error explanation. Second argument is the low-level exception raised by the underlying (de)compression library, if any.

module type Decompressor = sig .. end
Common interface for decompressing (i.e., inflating) data.
module type Compressor = sig .. end
Common interface for compressing (i.e., deflating) data.