Issue 180
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.
Featured
-
Verifying the Titular Properties of a Leftist Heap by Mistral Contrastin
In which my job search leads me to verify the leftist and heap properties of a leftist heap using Haskell’s type-level features and to test various implementations by way of simulation using QuickCheck.
-
Bazel, Cabal, Stack: Why choose when you can have them all? by Mathieu Boespflug & Andreas Herrmann
Users frequently ask which build tool to use for their next project. It turns out that “all of them at once” is a compelling answer (including Nix, though we covered that previously and won’t be rehearsing that in this post).
-
You are already smart enough to write Haskell by William Yao
Picking up any other language seems like a straightforward endeavor; read a few tutorials, try to write a project that interests you, and you’re off. Why is Haskell so much more intimidating?
-
A new book about programming with Haskell by John Whitington
Haskell from the Very Beginning will appeal both to new programmers, and to experienced programmers eager to explore functional languages such as Haskell.
-
Good design and type safety in Yahtzee
We can’t just expect to sprinkle type safety on a bad design and get something good. Type safety and good design are qualities that evolve symbiotically.
-
Nicer Data Types a la Carte with
DefaultSignatures
by Yair ChuchemBack in 2008, Swierstra’s Functional Pearl Data Types a la Carte showed how to construct the following data structure:
data Expr = Val Int | Add Expr Expr
, from simple and re-usable individual components
Jobs
-
Full Stack Haskell Software Engineer
Trying to hire a Haskell developer? You should advertise with us!
In brief
-
speedscope by Jamie Wong
Welcome to speedscope, an interactive flamegraph visualizer. Use it to help you make your software faster.
-
Episode 21: Event Log by Haskell Weekly Podcast
Cody Goodman and Taylor Fausak explore the event log that GHC can produce when compiling or running.
-
Why we decided to go for the Big Rewrite by Robert Kreuzer
In this post we will try to give a more general framework on how to answer this question for a specific project and we will also tell our story of rewriting the core data processing system that powers Channable.
Package of the week
This week’s package of the week is bitvec
, a library that provides a newtype
over Bool
with a better Vector
instance: 8x less memory, up to 1000x faster.
Call for participation
Looking for something to work on? Browse Haskell Hacktoberfest issues on GitHub.