Issue 88 2018-01-04
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.
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.
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.
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.
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.
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.
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.
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.
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.
Bifunctorare both in base, but what about
Quadrifunctor? There must be a better solution than creating an infinite tower of typeclasses.
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.
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.
- Chaotic GHC
- Dhall: Year in review
- Drop Conduit’s finalizers?
- General functions with typeclasses
cabal updatecommand 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 initdoesn’t use its own cabal
- 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