an implementation of LZ77 compression algorithm written in Clojure