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.
My first try implement Thinkster’s Conduit API can be found at RealWorldTM which I think should be fully functional. But, it doesn’t feel right if I don’t write it up. So, here we go again.
We are pleased to announce the release of
lts-12.0, the first in a new LTS Haskell snapshot series, using
ghc-8.4.3. We thank all of the package authors involved in supporting the Haskell ecosystem. LTS Haskell would not be possible without you!
In the first part of this series of posts, we wrote a simple Sudoku solver in Haskell which used a constraint satisfaction algorithm with backtracking. The solution worked well but was very slow. In this post, we are going to improve it and make it fast.
cumulativeRseems harder to write. After all, we really want to start traversing from the right instead of the left. But
Traversableallows no such thing. So how might we implement this generalized
Funflow is a workflow management tool. It turns out that workflow management tools and build tools are closely related. So if you’re more familiar with the latter, this post might be of interest to you.
When defining new data types, instance derivation can generate basic functionality for free. However, that mechanism cannot handle all types. For example, deriving
Showassumes that all constructor fields are instances of
I have been working on a very interesting and sophisticated project called
typerep-map. A lot of advanced features and tricks were used during the development process and I have discovered many amusing and new sides of Haskell.
I have a toy problem that I like to test on anyone who thinks they’ve “solved” parsing: Haskell list comprehensions. The problem is that when parsing a clause, until you see a
<-, you don’t know whether you’ve been parsing a pattern or an expression.
In my roles both as a library author and as a Hackage Trustee, I find myself needing to run builds against multiple versions of the Glasgow Haskell Compiler on a daily basis. I thought it would be worth putting together a post on how I manage my installations of GHC.
ITPro.TV is a fast-growing digital media business that focuses on continuing education in technical domains. We are currently accepting applications for full-stack software professionals to join our small but talented multidisciplinary team.
- Benchmarking Haskell graph libraries
- Gauging interest in a type-level programming book
- Idiom brackets via source plugin
- Inside the paper: Build systems a la carte
- Lamping’s abstract algorithm
- Nix, Docker, and Haskell
- Scrap your
- Static analysis of free monads
- Video player improvements
Package of the week
This week’s package of the week is Pandoc, a Haskell library and command-line tool for converting from one markup format to another.
Call for participation
- lts-haskell: Proposal: twice as frequent LTS and stable timeline
- ngless: tar expansion should not use so much memory
- stack: Stack produces wrong terminal color codes for file paths
- July 12 in Bellevue, Washington: John De Goes: FP to the max
- July 13 in Austin, Texas: Going through Software Foundations by Benjamin Pierce et al
- July 14 in Norcross, Georgia: Norcross Haskathon
- July 15 in Bangalore, India: Monoid and semigroup
- July 16 in Auckland, New Zealand: The unusual effectiveness of the Haskell type system
- July 17 in Carmel, Indiana: Building a pattern matcher and query engine with unification
- July 18 in London, England: Comonads all the way down by Tom Harding
- August 1 in Dublin, Ireland: Self-paced Haskell study group with special talk