Issue 147 2019-02-21
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.
A pure function does no funny business by Joseph Abrahamson
Before we can talk about the tradeoffs of using pure functional style, we need to understand it. What does it mean for a function to be pure anyway?
stdio - A simple and high-performance IO toolkit for Haskell by Han Dong Zhu
Yesterday I and my friend Tao He write a short release message at a local cafe, we released a new IO library for GHC based on our previous work on combining libuv and GHC.
January Teardown: Bowling by Stephen Paul Weber
It’s time to announce the winner for January’s challenge and do some teardown! A lot of what makes this code bad is not being idiomatic for the language or problem, starting even with basic syntax choices.
Towards a better API for I/O by Tim Spence
In this post we’ll skip over some of the more complex implementation details and focus more on the core design of iteratees and the reasoning behind the types Oleg defines.
Freer Monads: Too Fast, Too Free by Sandy Maguire
So without further ado, I’d like to share my work-in-progress with you, tentatively named too-fast-too-free. This is ready for prime-time, but I’d prefer to merge it to someone upstream rather than pollute hackage with yet another free(r) monad extensible effects package.
Freer doesn’t come for free by Eric Torreborre
After being involved with 2 large applications (both in Scala and Haskell) using a “Freer monad” I would not recommend this anymore. Why is that?
Embedding Haskell in AsciiDoc by Jonathan Dowland
For various convoluted reasons I wanted to embed Haskell into an AsciiDoc-formatted document and I couldn’t use Bird-style literate Haskell, which would be my preference.
Haskell Style Guide by Kowainik
The purpose of this document is to help developers and people working on Haskell code-bases to have a smoother experience while dealing with code in different situations.
Shower by Monadfix
A tool for pretty-printing Haskell data types, even ones with broken
UUID, and various hash types).
Quantifiers in Agda by Vladimir Ciobanu
This post will go a bit further than that and show the type theoretic equivalents of existential and universal quantifiers. I’ll then explore some interesting properties of these types.
ITProTV is disrupting the eLearning world with engaging online training that people actually want to watch. We are currently accepting applications for full-stack software professionals to join our small but talented multidisciplinary team.
Taylor Fausak, the editor of Haskell Weekly, is the lead engineer at ITProTV.
We hear the same from people trying to adopt DevOps and the other quality engineering techniques we advocate: people don’t know what’s available, whether it’s usable on their own projects, or how to get help. So I’m creating a new job at FP Complete for an articulate developer to focus on outreach and communication.
We build a platform for matching consultants with customers without slow and expensive intermediates. We love statically typed functional programming, so our main technologies are Elm and Haskell. This enables us to move fast without breaking things.
- A Brief Introduction to the λ-Calculus (Part 1)
- A three-stage program you definitely want to write
- A Touch of Topological Quantum Computation 3: Categorical Interlude
- Adding bit vectors - Branchless Comparisons
- Align, These, and HTTP headers
- Bank kata in Haskell - printing a statement
- Build Haskell stuff in your browser
- C◦mp◦se NYC 2019 CFP
- Haskell Symposium 2019 CFP
- Pirate Roguelike Dev Log #1
deriving GenericCompile Times
- Shutting down haskell-lang.org
- Upgrading My Development Setup!
Package of the week
This week’s package of the week is
a library that provides utilities for manipulating type-level strings.