Newsletter
Issue 101 2018-04-05
Subscribe now! We'll never send you spam. You can also follow our feed. Read more issues in the archives.
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.
Featured
-
February’s game jam set a theme of safety. Leveraging Elm’s type system helped make the experience of building a game much nicer.
-
This site will give a home to all the things we wanted to do but couldn’t fit into Joy. The core of the site will be video courses on Haskell, Nix, and related subjects.
-
Announcing
rowdy
, the web routing DSLrowdy
has the best of both worlds: you get compile-time guarantee by interpreting the DSL in a Template Haskell splice, so you can generate datatypes and functions. -
HKD: Less terrible than you might expect
I thought I’d take some time to respond to some of the concerns raised about my recent higher-kinded data and free lenses for higher-kinded data posts.
-
Connecting to MailChimp … from scratch!
There are a couple different Haskell libraries out there for MailChimp. But we’re not going to use them! Instead, we’ll learn how we can use Servant to connect directly to the API.
-
I’m pretty excited about what this means for the Jupyter ecosystem and IHaskell in particular, and I’m looking forward to seeing what other people do with this!
-
In this series of posts I’m going to discuss some of the major design decisions that you will need to consider when making a Haskell roguelike game.
-
On anonymous networking in Haskell: Announcing Tor and I2P for Haskell
I have developed a Haskell API for both projects. In this post I will outline the differences between these projects and illustrate how to use them within Haskell.
-
Haskell can process flat files as though they were hierarchal with the help of lazy evaluation and one ridiculously clever one-line function.
-
The Gonimo architecture, Part 1: The component
The most important part is probably that we split up a component’s input into a model (its dependencies on other components) and a
Config
which is introduced by the component itself.
Jobs
-
Senior Engineering Leader at GitHub in San Francisco
The Semantic Code leader must have or quickly develop high level domain expertise within the fields of program analysis, programming language theory (PLT), parsing and computational semantics.
-
Senior Engineer at Betterpath in Brooklyn
We are looking for a senior engineer who will work on building health and financial products to help patients.
In brief
aeson-diff-generic
: Apply a JSON patch to Haskell datatypes- Calling external functions from JIT-compiled LLVM modules using
llvm-hs
- Cheatsheet: Stacking the
State
andEither
monads codec-beam
: Generate Erlang VM byte code from Haskell- GHC 8.4.2-rc1 now available
haskell-ethereum-assembly
: Ethereum virtual machine assembly on Haskell DSL- Making L-systems with Haskell and Logo
- Maybe monoids
- MTL style for free
nn
: A tiny neural network- Parametricity for
Bifunctor
- Webinar: Asynchronous exception handling in Haskell
Package of the week
This week’s package of the week is tree-traversals, a library providing in-order, pre-order, post-order, level-order, and reversed level-order traversals for tree-like types.