Haskell Weekly


Issue 28 2016-11-10

Subscribe now! We'll never send you spam. You can also follow our feed. Read more issues in the archives.

  • Exercism

    Level up your programming skills. There’s a gap when you’re past the basics but real-world problems leave you swamped by details and wandering down rabbit holes. Exercism aims to fill that gap with lots of small, self-contained practice problems with just enough complexity to stretch your mind around new concepts.

  • Exceptions best practices in Haskell

    I consider the safe-exceptions library uncontroversial, simply addressing the reality of exceptions in GHC today. This blog post is the opinionated part: how I recommend you use exceptions in Haskell, and how to structure your code around them.

  • Use MySQL safely in Yesod applications

    With the latest version of the mysql library, we now have the machinery needed to use it properly in a concurrent setting. In the past, any multi-threaded use was a little risky, although in practice it seems to have been satisfactory for applications which were not too demanding.

  • Designing APIs for extensibility

    Design your APIs from the outset to be extensible. There are common techniques employed in the Haskell world to make APIs that are resilient to changing feature-sets, and by employing them early on in your design process, you can hopefully avoid the painful choices between a better API and happy users.

  • Flame graphs for GHC time profiles with ghc-prof-flamegraph

    Visualizing profiling data is a common problem, and one neat solution is to use flame graphs to get a high-level view of where time is spent, and why it is spent there. That’s why we wrote ghc-prof-flamegraph, a new utility useful for turning textual .prof reports into a pretty picture.

  • Functional Geekery Episode 72: Gabriella Gonzalez

    In this episode I talk with Gabriella Gonzalez. We cover numerous topics around Haskell from stumbling blocks for beginners, to co-routines, to shell scripting with Haskell, to equational reasoning, and much, much more.

  • Type bombs in Elm

    If you want to make anyone on the core Elm team roll their eyes, just pick a feature that Haskell has and say, “Elm should have it too.” Typeclasses is the most common way to play the game, but you’ll get extra hipster points if you say higher-kinded types.

Did you like this issue? Let us know on Twitter! Think it could be better? Send us an email or open an issue. Thanks for reading!