Issue 88
Welcome to the first issue of Haskell Weekly in 2018! 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.
Featured
-
Haskell is not a strongly typed language. In fact, my claim is broader: There’s no such thing as a strongly typed language. Instead, you can write your code in strongly typed or weakly typed style.
-
Building static Haskell binaries with Nix
On Nix, we do in fact have the necessary static libraries and we can provide them as build inputs but keeping track of the library paths gets hairy quickly.
-
Advent of code and 25 days of Haskell
The very interesting and bite-sized problems of advent of code seemed like a perfect place to play with it. In this post, I wrote about the most interesting experiences I had with Haskell over the last month.
-
Haskell package attack: January 2018
To kick off the new year of 2018, this January I’m announcing a call for performance improvements to any random popular package of your choosing.
-
A beginner friendly introduction to Haskell containers
I’ve recently started contributing to the containers package, and when familiarizing myself with the code I was reminded how overwhelming the APIs are for core data structures.
-
Neovim for Haskell development
Here’s how I setup Neovim or Vim 8 to be a functional working environment. The focus will be on Haskell, but many of the plugins here are useful for any language in both Vim and Neovim.
-
AWS via Haskell part 5: Lambda
Lambda is at the forefront of AWS’s “serverless” offerings. The gist of it is that you can write functions and upload them to Lambda and the system will take care of scaling them as appropriate.
-
Deriving bifunctor with generics
Recently, I’ve been experimenting with deriving various type class instances generically, and seeing how far we can go before having to resort to Template Haskell.
-
Functor
andBifunctor
are both in base, but what aboutTrifunctor
?Quadrifunctor
? There must be a better solution than creating an infinite tower of typeclasses. -
Splitting and splicing intervals: Part 2
Today, lets see how Liquid Haskell’s new type-level computation abilities let us reason about the sets of values corresponding to intervals, while using the SMT solver to greatly simplify the overhead of proof.
Jobs
-
Henry seeking Fullstack Engineer in Stockholm
Join us in our quest to build happier, and more productive teams knowing that each line of code you contribute will be for something truly good.
In brief
- Chaotic GHC
- Dhall: Year in review
- Drop Conduit’s finalizers?
- General functions with typeclasses
- PSA:
cabal update
command needs manual unsticking - Stalking a hylomorphism in the wild
Package of the week
This week’s package of the week is capataz, a library that provides Erlang/OTP-style supervision trees.
Call for participation
- Idris-dev: foreign function calls section in docs-tutorial needs an update
- stack:
stack init
doesn’t use its own cabal
Events
- January 4: Papers we love San Diego: Monads for functional programming
- January 8: Pittsburgh functional programming meetup: The “M” word and other assorted profanities
- January 9: East Bay Haskell meetup: Persistent data structures in system design
- January 10: Cluj.fp: Category theory: The foundations of composition distilled
- January 11: Haskell.sg: January meetup