Issue 241 2020-12-10
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.
It’s our 20th survey anniversary! Discover new questions, prizes, and surprise perks.
Advent of Haskell by Armando Santos
Denotational Design, developed by Conal Elliott, is an abstract and rigorous design method, that forces the programmer to really understand the nature of his problem domain, stepping back and design the meaning of abstraction before implementing it.
Building a Bulletin Board Using Scotty and Friends by Gil Mizrahi
It’ll be so simple that we won’t even use a database, but hopefully it’ll provide enough information on scotty that you can continue it yourselves if you’d like.
Capturing the magic of Prelude.interact by Samuel Gélineau
The purpose of this post is to encourage you to consider the pure framework style more often.
Haskell documentation with Haddock: Wishes’n’tips by Veronika Romashkina & Dmitrii Kovanikov
The blog post is going to give Haddock overview, suggest documentation best practices, reveal the specialities of the Haddock tool, and show-and-tell lots of different examples of how to squeeze more out of your documentation.
Haskell: The Bad Parts, part 3 by Michael Snoyman
Note that this is the last blog post in this series where I had specific ideas queued up. So it’s likely that this will be the last post for a while until I get annoyed by something again.
Parser Combinators: a Walkthrough by Antoine Leblanc
Today, I want to explore Parsec, and most specifically how Parsec works. Parsing is ubiquitous, and most Haskell programs will use Parsec or one of its variants.
Processing CodeBlocks in Hakyll by Mario Lang
In this article, we will cover Pandoc as it is used in the Hakyll static site generator.
Santa’s Little Lua Scripts by Albert Krewinkel
Santa would just need to expose the relevant parts of the Haskell system, so the Elves could access and script it as their hearts desired.
The shrinks applicative by Arnaud Spiwack
The shrinker turns the output of a failed property test from “your function has a bug” to “here is a small actionable example where your function fails to meet the specification”.
Whirlwind Tour Of Stack For Beginners by School of FP
In this post, we will take a look at
stack. It is the 3rd in a series of posts about getting started with Haskell.
- Executive Directory of the Haskell Foundation
HF seeks a full-time Executive Director (ED) to lead and develop the organization going forward. The ED is responsible for furthering the HF’s mission and vision, ensuring that resources are in place to accomplish its goals.
Trying to hire a Haskell developer? You should advertise with us!
Adding Hints by Monday Morning Haskell
In this week’s video, we’ll see how to add “hints” to the Watcher. This way, a user can get a little extra help when they need it!
DAML: A Haskell-Based Language for Blockchain by Gints Dreimanis
In the interview, we talk about DAML, the benefits and downsides of functional programming languages, and their practical experience while building DAML.
Exaggerating the negatives by Chris Martin
Cussing is not the problem; hyperbolic non-communication is the problem. Grievances or laments about the “garbage fire” are heavy. Not light
The Halting Problem (Part 1) by Callan McGill
We will first prove halting for the lambda calculus and then see how the same argument looks when transplanted to Haskell.
Knowledge-as-Code by Mikael Tönnberg
When programming, we want to capture knowledge in a way understandable for both the computer and humans, now and in the future.
Show & tell
Brittany version 0.13.0.0 by Taylor Fausak
Added support for GHC 8.10 and dropped support for 8.4, 8.2, and 8.0.
group-theory by Emily Pillmore
This package includes definitions for Groups (monoids with invertibility), including finite, free, simple, cyclic, and permutation groups.
numhask-free by Tony Day
The Free Num is a Sequence of Bags.
password by Felix Paulusma
A library providing functionality for working with plain-text and hashed passwords with different types of algorithms.