Issue 94

Welcome to another issue of Haskell Weekly! Haskell is a safe, purely functional programming language with a fast, concurrent runtime. This is a weekly summary of what’s going on in its community.

Want to see something featured in Haskell Weekly? Open an issue or pull request on GitHub.

Featured

  • Cellular Christmas tree

    In which we create a program displaying a Christmas tree from a single dot on an infinite tape using two cellular automata computed with comonads as used in Haskell. You can also call it yet another comonad tutorial if you like.

  • Domain modeling with Haskell: Factoring out recursion

    In the final part of the “Domain modeling with Haskell” series we factor out recursion from the Project data type, and use Fixplate to traverse the tree and accumulate reports. Although a highly flexible and powerful technique, it should not be employed prematurely due to its more advanced nature.

  • Existential crisis

    I decided to experiment with different ways of storing values with mixed types in the same data structure. This post aims to explain some of the things I found, and should hopefully compliment the good material that others have already published.

  • Stack patching policy

    What do we do in a situation where an upstream package has a bug, and either cannot (within the timeframe desired) or will not release a new version with a fix?

  • Day 21: On Haskelling

    We could use some guidelines when trying to learn something. So here’s my very amateurish advice to learning Haskell.

  • MMark status update

    In November 2017 I announced MMark — a the strict markdown processor for writers. I worked on it actively for some time since then and this post is a little update about the project, which by the way even has its own GitHub organization now.

  • Google Summer of Code: Haskell.org

    We have compiled an ideas list together with long-time Haskell users, compiler contributors and researchers, and as such we believe these are important projects for the industry and academia both.

  • How to derive Generic for (some) GADTs using QuantifiedConstraints

    It turns out that while we won’t be able to derive Generic for all GADTs, we can in fact derive them for a subset of them. The trick that makes this possible is QuantifiedConstraints, an experimental GHC language feature that hasn’t been merged yet.

  • An opinionated guide to Haskell in 2018

    In the interest of both sharing with others the small amount of wisdom I’ve gained and preserving it for my future self, I’ve decided to write a long, rather dry overview of a few select parts of the Haskell workflow I developed and the ecosystem I settled into.

  • Humble Book Bundle: Functional Programming

    More awesome tech ebooks for you. We’ve teamed up with O’Reilly for another bundle full of top-quality books! Get titles like Functional Thinking, Clojure Programming, Learning Scala, and Programming Rust. Plus, your purchase will support Code for America!

Jobs

  • Senior developer at ITProTV in Gainesville

    We are currently accepting applications for Senior to Technical Lead full-stack software professionals to join our small but talented multidisciplinary team.

  • Functional programmer at Mood Media in Bucharest

    We are currently looking for a Functional Programmer to join our very talented team situated in Bucharest. If you have a grasp of functional programming or you are extremely passionate and willing to learn and evolve, this job is for you.

In brief

Package of the week

This week’s package of the week is feed, a library for parsing, querying, and rendering RSS and Atom feeds.

Call for participation

Events