Haskell Weekly

Newsletter

Issue 33 2016-12-15

Subscribe now! We'll never send you spam. You can also follow us on Twitter or with our feed.

  • Haskell in the datacentre

    At Facebook we run Haskell on thousands of servers, together handling over a million requests per second. Obviously we’d like to make the most efficient use of hardware and get the most throughput per server that we can. So how do you tune a Haskell-based server to run well?

  • Stack version 1.3.0

    This release of Stack features 3 major changes, 3 behavior changes, 28 other enhancements, and 12 bug fixes. 29 people contributed to this release.

  • Summer of Haskell 2016 wrap-up

    We wanted to let folks know what happened with all our Summer of Haskell projects: Native metaprogramming in Haskell; GHCVM, a JVM backend for GHC; Completing the LLVM backend for Accelerate; Hackage improvements; Derivable Storable and Prim instances; Visual block-based programming language for CodeWorld; Jupyter for GHCJS; and Live profiling and performance monitoring server.

  • Bash on Ubuntu on Windows, build 14986

    Implement timer_create and related system calls. This enables GHC support.

  • Extensible records explained

    extensible is a library for extensible data types. It provides extensible product and sum types parameterized by type-level lists. This tutorial introduces extensible records, an application of the extensible products.

  • Strelka

    Haskell is famous for being best at parsing things. It’s all due to its great abstractions like Applicative, Alternative and Monad, which let us approach the infinitely complex problems with decomposition. Yet for some reason the area of web-routing hasn’t been approached that way much before.

  • Algebraic blindness

    Algebraic data types make data more flexible, but also prone to a form of generalized Boolean Blindness, making code more difficult to maintain. Luckily, refactoring the issues is completely type-safe.

Thanks for reading! Let us know on Twitter if you liked this issue. Open an issue on GitHub if you think it could be better.