RSS Newsfeeds

See all RSS Newsfeeds

Global Regions

Global Regions ( XML Feed )
United States ( XML Feed )

Nov 5, 2015 1:11 EDT

Haskell Web Development – A Freely Available Book: Help fund a freely available, accessible book covering Haskell web development in detail

iCrowdNewswire - Nov 5, 2015

Haskell Web Development – A Freely Available Book



Haskell Web Development Book

Update 1 (Nov. 02): by popular demand, shipping for print copies is now available internationally!

Hi! My name is Allele Dev. I want to write a book that teaches Haskell for web development. It’s my goal to provide a freely available text that builds on existing Haskell texts like:

– with a focus on practical backend Haskell. I will expand on those books and provide more coverage on topics like:

  • Modern Haskell project, build, and dependency management
  • Library evaluation and selection: routing, JSON, storage, and more
  • Data modeling with types: connecting logic to storage and views
  • Testing: property-based, spec-based, doc-tests, and ad-hoc
  • Benchmarking: end-to-end and component-based
  • Profiling
  • Metrics collection, logging, and error-handling

I’ve worked in Haskell web development for over a year now, in Haskell for three years, and in web development in general for three years. I’m comfortable writingon technical subjects, as well as writing code. I’ve taught Haskell at every company I’ve been employed at, and I’ve hosted two workshops teaching Haskell this year:

This book will be a gift from me to everyone, and it is exactly what I want to be working on. Help me make it happen!


What I Need & What You Get

I want to work full-time on this book for 3 months. $20,000 covers my cost of living for that long.

For this much support, I guarantee that the following will be completed within 3 months. This is the core of the project:

  • Source code (BSD-3 licensed) freely available with guaranteed reproducible builds via stack
  • Source for book chapters available under CC-BY-4.0 license
  • Instructions to build PDF/ePUB using pandoc
  • Exercises for each chapter
  • Solutions linked separately (spoiler-free!) for all exercises
  • Explanations for given solutions
  • Public issue tracker for typos/clarifications/etc.
  • Support for 3 months after the project for addressing issues

The book will always be freely available.

Here is a preliminary outline of the book chapters:

Testing will be a focus throughout. After being introduced in chapter 4, tests will be used along with code snippets when introducing new ideas. This will develop a coding style that makes effective use of types where possible, yet continues to validate assumptions during development.

Each chapter will also give some coverage to relevant, alternative libraries. There’s many ways to do things in Haskell, and I intend to  provide a sampling of that variety.

Underfund Goals

If I do not meet the goals, here’s what can be expected:


Stretch Goals

If I do meet the minimum goal, there’s a lot more I can write about to make the coverage more comprehensive! In particular, I can add chapters on:

  • Frontend development: PureScript, Elm, GHCJS, Om, etc.
  • Haskell HTTP API Clients
  • Foreign Function Interface: C, Rust, C++
  • Other serialization: XML, HTML, etc.
  • More abstraction and type techniques for safer code
  • Performance tuning
  • Advanced authentication/authorization
  • Interfacing with other systems
  • Additional storage engines: document stores, file system, etc.
  • Caching
  • Data streaming

If I make it to the minimum funding point, I will announce a poll that allows funders to choose in what order these will be addressed. You’re welcome to suggest additional topics of interest.

For every additional $3000, I will dedicate half a month towards providing coverage on one of these topics in the order determined by poll votes.

Risks & Challenges

The primary risk is that I won’t be able to write the core of the book in three months.

In the case that I don’t complete the primary content in three months for whatever reason, here’s the contingency plan:

  • Dedicate a quarter of my time each month towards completing the book
  • Seek additional funding via Patreon to cover my living costs

Content will be published while the book is in development, so you’ll be able to track progress!

Another potential risk: what if breaking changes appear in the Haskell web development ecosystem? Here’s a few possibilities and how I plan to deal with them:

  • New compiler, GHC 8.0: book targets GHC 7.10 and ensures builds via stack
  • Library changes will be dealt with similarly

Other Ways You Can Help

Let others know I’m working on this! Tweet about the campaign. Let me know what you think.

Contact Information:

Allele Dev

View Related News >