Issue 92
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
-
A 3 part series with a step-by-step tutorial on setting up, using and testing Haskell with MySQL using YeshQL.
-
Hash based package downloads: Part 2 of 2
In our previous post, we define a common problem around reproducible build plans. The solution we desired was some form of cryptographic hash based configuration and download system for packages, package metadata, and snapshot definitions.
-
Design patterns in Haskell: The strategy pattern
This is part one of a series of posts translating the Gang of Four design patterns for object-oriented languages into Haskell. It is intended to be an expansion of Edward Z. Yang’s Design Patterns in Haskell, elaborating each pattern into its own post.
-
Should Stackage ignore version bounds?
Stackage is a curated build process. We should be able to build a snapshot, run the test suites, and then say that, despite the package’s claims to the contrary, two versions of a package are in fact compatible.
-
The aim of this proposal is to separate these two purposes, by allowing authors to distinguish if they wish to opt-out of following the PVP and the attendant curation process that helps to maintain correct dependency information.
-
Making GHC an order of magnitude faster with one neat trick
Under certain benchmarks, GHC is slower than C by 2x to 3x, and this GHC slowdown grows non-linearly with problem size. This is the story of identifying the source of the slowdown.
-
Here is my attempt at explaining the case for laziness to those who aren’t already persuaded. The following contains no tedious code examples, and, I hope, appeals to principles that all developers care about.
-
Building a simple Hoogle GUI with Brick
bhoogle is a simple Hoogle terminal GUI written using Brick. This post is the annotated source code that should give you an idea of how to use Brick and how easy Brick makes building terminal UIs.
-
So with all of the above frustrations in mind, and a lot of time to kill in a Thai airport, I felt like I could make a better ECS. Better is obviously subjective for things like this, but I wanted to optimize it for being used by humans.
-
Monday Morning Haskell: Upgraded!
Welcome to the new Monday Morning Haskell! We just went live with the latest changes to the website this week. So it’s time to announce what’s coming next.
Jobs
-
Automation engineer at Holland & Hart in Boulder
Automation and AI are poised to radically change the legal industry. We are at the vanguard of that change. We are a creative, dynamic technology development team that operates like a startup, but works inside one of the largest law firms in the region.
In brief
- Dhall survey results
- GHC: Extended plugins proposal
- Hackage: Improve appearance and readability
- Haskell <3 SQL
- hpack-dhall: Dhall support for Hpack
- Now there is a branch to play with
-XQuantifiedContexts
in GHC - Vty needs your help supporting Windows!
- What I wish I knew: Haskell and dependent pairs
Package of the week
This week’s package of the week is Fixer, a Haskell client for the Fixer foreign exchange rate API.
Call for participation
- Idris-dev: :exec power 10 100000 prints 0 as the output
- purescript: Functor deriving should support quantified arguments of a constructor
- stack: Use hpack executable from PATH if it is newer than what stack ships with?
Events
- February 1: Functional programming Graz meetup
- February 2: Inductively Defined Propositions chapter of Software Foundations
- February 5: Vancouver’s Haskell Peer Study Group
- February 6: Morning Haskell coding session
- February 7: “Why s t a b?”, a talk about lens by Samuel Gélineau
- February 8: Gotta test fast: Property testing in Haskell with Hedgehog
- February 22: PureScript happy hour with Justin Woo