Haskell bit by bit is a free, open-source beginner's guide to the Haskell programming language, published as a Jekyll static site using the Coo theme. The project takes Markdown content and builds it into a readable online book that introduces functional programming concepts gradually, as promised by its title.
What is Haskell bit by bit?
Haskell bit by bit is a documentation website and educational resource that teaches basic Haskell concepts through short, digestible sections. It is built with Jekyll, a static site generator, and styled with the open-source Coo Jekyll theme (linked in the project's acknowledgements). The repository is hosted on GitHub, currently has one star, and is organized as a collaborative open-source project. The written content is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International, while the underlying code is covered by the MIT license.
Key Features
- Jekyll static site — Content is authored in Markdown and rendered to static HTML, making the site fast to serve and easy to host on any static hosting service.
- Coo Jekyll theme — The site uses the community-maintained Coo theme, which provides the layout and styling without requiring custom CSS work.
- Beginner-focused structure — The guide explicitly aims to break down Haskell's intimidating reputation by covering basic ideas "bit by bit," avoiding information overload.
- Development tooling — The project includes a Makefile; running
make buildcompiles the entire book and surfaces any compilation, spelling, or other errors before changes are merged. - Open-source licensing — The text is CC BY-NC-SA 4.0 (non-commercial, share-alike, attribution required), while code samples are MIT licensed, giving contributors clear reuse terms.
- Contribution workflow — Contributors fork the repo, edit content, build locally, and submit pull requests, following a simple quality check via the build command.
Who is it for?
- Haskell beginners — People who want a gentle, step-by-step introduction to functional programming and Haskell syntax without being overwhelmed by advanced topics.
- Educators and course authors — Teachers who need a concise, openly licensed Haskell primer that can be adapted for non-commercial teaching materials under the CC BY-NC-SA license.
- Open-source contributors — Developers interested in improving the guide by fixing errors, expanding sections, or enhancing the Jekyll setup; the project's build tooling makes verification straightforward.
What can you do with it?
- Haskell learners: Read the guide sequentially to build a mental model of the language, with each section adding one concept at a time.
- Content contributors: Fork the GitHub repository, edit the Markdown files, run
make buildto ensure everything compiles, and submit a pull request with your improvements. - Non-commercial remixers: Copy and adapt the text for your own non-commercial Haskell tutorial, provided you attribute the original and license derivatives under the same CC BY-NC-SA terms.
How does it work?
To develop the site locally, install GNU Make, Node, and Ruby, then run bundle config set --local path 'vendor/bundle', bundle install, and npm update to set up dependencies. After editing content, run make build to compile the Jekyll site and check for errors; the project also uses prettier for formatting consistency. Contributions are integrated through pull requests after a successful build.
FAQ
Is Haskell bit by bit free?
Yes, the content is free to access online and the repository is public on GitHub. The text is licensed under CC BY-NC-SA 4.0, which allows free non-commercial use with attribution, and the code is MIT licensed, so both content and code have permissive free-culture terms.
What prerequisites do I need to build the site?
You need GNU Make, Node, and Ruby installed on your local machine. The setup also uses Bundler (via bundle install) and npm (via npm update) to install project dependencies.
Can I use the content in a commercial course?
No, the CC BY-NC-SA 4.0 license explicitly restricts use to non-commercial purposes. Any derivative work must be shared under the same license and must credit the original source.








