Issue 243 2020-12-24
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.
GHC 8.10.3 released by Ben Gamari
The GHC team is happy to announce the release of GHC 8.10.3.
beauty and the bytestring by Norman Liu
What does Data.ByteString do differently from builtin lists, then?
Don’t think, just defunctionalize by Joachim Breitner
CPS-conversion and defunctionalization can help you to come up with a constant-stack algorithm.
How to initialize data from IHP directly to Elm by Lars Lillo Ulvestad
Generate types, encoders and decoders for Elm automatically in IHP.
Improving Haskell (GHC) Error Messages by Marc Scholten
A good error message should be clear, actionable, and practical. In this aspect GHC could be a lot more user-friendly.
lower case haskell by Tony Day
In noodling around with stan, a wonderful tool developed with obvious care and attention by the talented kowainik troupe, I created hcount, a cheap and cheerful attempt to count symbol usage in Haskell projects.
Refactoring using type classes and optics by Fraser Tweedale
This post is a case study of a refactoring in the jose library demonstrating how type classes help achieve API stability while admitting new use cases.
Santa Wrap by Lucas Di Cioccio
The main goal for this article is to relate how to iterate quickly on a practical one short day project. Secondary goals are to pike your interest about MiniZinc and introduce you a library named minizinc-process.
Try.do for recoverable errors in Haskell by Chris Done
We get a trivial, syntactically-lightweight, way to string possibly-failing actions together, while retaining all the benefits of being an unliftio-able monad.
Support Haskell.org by Rebecca Skinner
This year we’ve continued to support a significant part of the Haskell community infrastructure- including haskell.org, Hackage, Hoogle, and GHC build infrastructure.
Trying to hire a Haskell developer? You should advertise with us!
The twist is that validation, when it fails, should return not only a list of error messages; it should also retain that part of the input that was valid.
An introduction to property-based testing with QuickCheck by Jesper Cockx
I hope this post closes a gap in the current menu of tutorials for at least a few people.
Open Sourcing Haskellings! by Monday Morning Haskell
In the last couple months we’ve been working on “Haskellings”, an automated Haskell tutorial inspired by Rustlings.
Reconciling concepts from FP and OOP by Thomas Mahler
In the following sections I will have a look at the Haskell language to see how the principles of Ad-hoc Polymorphism and Referential Transparency are covered in our favourite language.
Scripting the Hell out of Trello with Haskell by Riccardo Odone
Trello is excellent when it comes to one-off cards. Unfortunately, it doesn’t offer any support for recurring tasks out of the box.
Silly Haskell Code Formatting Is Prevalent by Yair Chuchem
With proper formatting the context and parameters take whole lines. We could easily tell which part is the context, which are parameters, and which is the function output.
Show & tell
- Hetris by Vitor Coimbra de Oliveira
A guideline compliant (as far as I can tell) Tetris clone made with SDL2.