Issue 108

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

  • Typesafe, Polymorphic, Parallel Map Algebra in Haskell

    Repeated, sequential operations over large imagery have been a thorn in the side of Raster processing systems for a long time. The new library mapalgebra leverages the Array library massiv to bring rigour and efficiency back to GIS, outperforming similar libraries in the field written in C and Scala.

  • Cloning FluxBB

    Writing a forum software is one of a few things that I-wish-I-had-but-hadn’t in the last of couple of years. For example, among a gazillion of abandoned repos on this GitLab account, Forum is one of them. If you take a glance of it, you will see that it’s an unfinished forum software. So, I decided to take a different approach to finally do it, no matter what it takes.

  • Cartography in Haskell

    Suppose you want to analyze your local election results and visualize them using a choropleth but you’d like to use Haskell. You could try using the shapefile package but you will have to do a lot of the heavy lifting yourself.

  • Extensible ADT (EADT)

    In basic Haskell it is straightforward to add new functions over a data type. We can independently add an evaluator function, potentially in another module. However if we want to add a new case to the data type, we have to modify both the data type definition and the functions using it.

  • Fast Haskell coding with cushions

    I like to say ComponentM implements a Monad to avoid the usual pyramid of withResourceX functions at the beginning of your application. It composes them all together once, so you don’t need to worry about it.

  • Ghcid for the win!

    Ghcid is — at the current moment — the most important tool for Haskell development environments. It is fast, reliable, works on all kinds of projects, and is remarkably versatile. You can use it with any editor workflow, primarily by not integrating your editor!

  • Haskell lens operator onboarding

    Lenses are immensely useful to the Haskell programmer, but suffer from a discovery problem — without enough exposure or experience, it’s hard to know which operator to use in a given situation. This post provides explanations for common lens operators as well as example-driven references for developers just getting started with lenses.

  • How I evaluate Haskell packages

    This post summarizes the rough heuristics that I use for evaluating Haskell packages. Usually I use these rules of thumb when choosing between multiple similar packages or deciding whether to depend on a package at all. Some of these guidelines work for other programming languages, too, but some of them are unique to Haskell.

  • The Hillelogram Verifier Rodeo I (LeftPad)

    A month ago, Hillel Wayne posted a verification challenge comprising three problems that might sound frivolous, but which, in fact, hit the sweet spot of being easy to describe and yet interesting to implement and verify. I had a lot of fun hacking them up in LH, and learned some things doing so.

  • Tintin: A softer alternative to Haddock

    People like to get things done, and to do so, they have to use awesome libraries like yours. And to do so, they consume lots of tutorials and guides, which are a kind of soft documentation.

Jobs

  • Software engineer at ITProTV in Gainesville, Florida

    ITPro.TV is a fast-growing digital media business that focuses on continuing education in technical domains. We are currently accepting applications for full-stack software professionals to join our small but talented multidisciplinary team.

  • Weever Apps Is Hiring Haskell Developers

    Weever Apps is a software company based in Hamilton, Ontario Canada. We build cloud-based software products that large enterprises use to capture data, manage workflows, and access actionable reports. We replace clipboards and filing cabinets with tablets and databases and provide alerts, analysis, and other features that make data useful.

In brief

Package of the week

This week’s package of the week is Haxl, a library for efficient, concurrent, and concise data access.

Call for participation

Events