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.
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
Semmonad. 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.
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.
- 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!
- 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
- servant: Verb with headers checks content type differently than Verb without headers in servant-client-core
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.