Issue 170
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
-
Client-side web programming in Haskell: A retrospective by Chris Done
At the beginning of this decade, a few of us Haskellers were exploring how best to do client-side web programming. We didn’t want to write JavaScript.
-
Generating castles for Minecraft using Haskell by Tim Philip Williams
My kids and I have enjoyed building various structures in the game Minecraft, but it can get rather monotonous placing blocks one-at-a-time.
-
Introducing the Haskell Phrasebook by Type Classes
We are excited to announce The Haskell Phrasebook. Taking an approach similar to Go by Example, it emphasizes how to get started writing programs quickly.
-
Practical event driven & sourced programs in Haskell by Adam Piper
I’m going to provide a quick overview of the technique of driving a system through events, and what sourcing those events means in this context, and then show some code.
-
Right fold superpowers! by Igal Tabachnik
It’s amazing how sometimes just having a different framing of the problem helps with developing a much deeper understanding of the problem.
-
Solving a puzzle in Haskell by Chris Smith
At some point, I unfolded it and attempted it myself. It was not a success! So now I had an unfolded puzzle on my desk.
-
Student Blog: Testing Bipartiteness with Monad Transformers by Vasily Alferov
I’m here to tell you about my implementation of the algorithm for testing bipartiteness of graphs. A graph is called bipartite if its vertices can be split into two parts in such way that there are no edges inside one part.
-
The Power of RecordWildCards by Dmitrii Kovanikov
RecordWildCards is one of the language extensions that improve the situation with records. However, it’s one of the most controversial extensions at the same time.
-
Writing efficient free variable traversals by Ben Gamari
GHC’s free variable traversals are some of the most heavily used pieces of code in the compiler and we try hard to ensure that they are efficient.
Jobs
-
Arcesium LLC, New York is hiring Infrastructure Engineers! (ad)
Join the infrastructure team of a fintech company using AWS, Kubernetes, Python, Haskell, and Nix to build a declarative infrastructure. We’re looking for someone experienced in design, development, and systems engineering. Compensation is competitive.
Trying to hire a Haskell developer? You should advertise with us!
In brief
- Arithmetic on Algebraic Data Types
- Bidirectional typechecking with dependent typing
- Cursors, Part 6: The Forest Cursor
- Custom firmware for the YQ8003 bicycle light
- Haskell: A Functional Love Story
- Haskell.build: Build Haskell fast
- Haskell Cosmos
- Haskell From Scratch Re-Opened!
- Haskell Weekly Podcast episode 16: Game Development
- In Praise of Strong FP
- Monthly Hask Anything (August 2019)
- Not made for this world
- Practical deforestation for fixed-point structures – introducing tungsten
- Purescript-native can now target Golang
- Should fmap coerce = coerce hold?
- Stroll: an experimental build system
Package of the week
This week’s package of the week is musikell, an example GraphQL application backed by Neo4j.
Call for participation
Events
Meetup will change their API soon. As a result we decided to stop maintaining this section. Please see this issue for details: https://github.com/haskellweekly/haskellweekly.github.io/issues/272.