Newsletter
Issue 171 2019-08-08
Subscribe now! We'll never send you spam. You can also follow us on Twitter or with our feed. Read more issues in the archives.
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
-
Dead-simple TCP/IP services using servant by Justin Le
Servant is usually advertised as a tool for writing web servers, web applications, and REST APIs, but it’s easily adapted to write non-web things as well. Let’s dive in and write a simple TCP/IP service (a todo list manager) to see how straightforward the process is!
-
reflex-vty by Ali Abrar
A library for building functional reactive terminal applications.
-
Polysemy is fun! - Part 2 by Raghu Kaippully
So far we have seen how to define an effect as a data type and how to embed such effect values in the
Sem
monad. But those effects were not “doing” anything. It’s all nice to have a good looking program, but what is the point if it does not do something? -
type-sets by Sandy Maguire
How much do you hate programming at the type level, but only being able to use lists? A million? Two million? Some mathematicians suspect that there may be even larger degrees of hate.
-
Exploring Cloud Builds in Hadrian by David Eichmann
GHC’s new build system, Hadrian, now supports a cloud build option:
--share
. With that enabled, build artifacts will be cached and shared between builds. -
HSoC — Hadrian Optimisation: Profiling and getting ahead of Shake changes (Update 5) by James Foster
This past couple weeks I’ve fixed some documentation, submitted a bug report for –rebuild and -B doing seemingly wrong but useful things, profiled Hadrian, and opened an MR to get ahead of some Shake changes.
Jobs
- Senior Haskell Engineer at Artificial in London
- Haskell Developer at Atidot in Tel-Aviv
- Senior Technical Lead at Bellroy in Melbourne
- Functional Compiler Engineer at IOHK
Trying to hire a Haskell developer? You should advertise with us!
In brief
- A Haskell implementation of Conway’s Game of Life, viewable on the console, no external libs
- Beginner’s guide to Haskell ecosystem
- Code Line Patterns: Creating maps of Stackage and PyPi
- Considering the order of results when computing Cartesian product
- Haskell Weekly Podcast episode 17: Haskell Phrasebook
- Secure smart contracts with the Plutus ebook
- Stack-based Clash environment
Package of the week
This week’s package of the week is monad-validate, a monad transformer for data validation. It provides the ValidateT
monad transformer, which is designed for writing data validations that provide high-quality error reporting without much effort.
Call for participation
- pretty-simple: change doctests to use
cabal-doctest
- servant: Verb with headers checks content type differently than Verb without headers in servant-client-core
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.