Building a data compression utility in Haskell using Huffman codes
A tutorial on implementing a Huffman coding data compression utility in Haskell, focusing on constant memory usage and functional programming principles.
Marcelo Lazaroni is a Portugal-based software developer focused on Haskell, writing about programming, algorithms, and thoughtful reflections on life, focus, and learning through personal projects.
10 articles from this blog
A tutorial on implementing a Huffman coding data compression utility in Haskell, focusing on constant memory usage and functional programming principles.
A step-by-step implementation guide for a Virtual DOM library in ~200 lines of JavaScript, explaining the core concepts behind React and Vue.
Introduces haskell-docs-cli, a terminal tool for quickly searching Haskell package documentation and source code without leaving the editor.
Explains the lack of a native Nix method to search for old package versions and details the creation of the Nix Package Versions tool to solve this.
A guide to compiling a statically-linked Haskell program and deploying it to AWS Lambda using Nix, Cachix, and GitHub Actions.
A JavaScript snippet to download multiple images from a web page with a timeout to manage browser limitations.
Explains how to efficiently parse a set of known strings in Elm by building a trie-like structure to avoid the performance pitfalls of Parser.oneOf.
Explains tail recursion and techniques like accumulating parameters to prevent stack overflows in functional programming.
A guide to implementing zero-downtime Blue-Green deployments using Docker and a proxy tool, with a practical walkthrough.
Benchmarks comparing Haskell list length implementations, showing how strict tail recursion with accumulating parameters improves performance and memory safety.