Newsletter
Issue 158 2019-05-09
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.
Featured
-
Benchmarks of various trie implementations by Marco Zocca
While studying various approaches to prefix trees (“tries”), I wrote a small memory and time benchmark of four implementations.
-
Build a HTTP Proxy in Haskell on AWS Lambda by Chris Bacon
This is just a quick one to put some Haskell code on AWS Lambda, and what’s better than a good-old HTTP Proxy?
-
co-log logging library with polysemy for extensible effects and chronos for fast time by Kowainik
We are thrilled to share the new release of our multipackage logging library co-log!
-
Discovering DataKinds at Runtime by Travis Whitaker
Something almost universal to introductions to “type-level programming” in Haskell is an example involving sized vectors.
-
Drawing foldl and foldr by Joachim Breitner
Often, someone wants to exhaling the difference between a left-fold and a right-fold, i.e. foldl and foldr in Haskell, you see a picture.
-
Haskell monads and the nest of lies by John Sullivan
The IO monad in Haskell works by assuming our universe is in a simulation and that your tiny computer can capture the entire state of the universe and play it forwards in real time.
-
Higher Kinded Option Parsing by Chris Penner
Higher Kinded Data Types (HKDTs) have piqued my interest lately. They seem to have a lot of potential applications, however the ergonomics still aren’t so great in most of these cases.
-
Purity in Haskell by Marco Sampellegrini
Purity is not about preventing side effects, it’s about having a clear boundary between code with side effects and pure code.
-
Some Tricks for List Manipulation by Donnacha Oisín Kidney
This post is a collection of some of the tricks I’ve learned for manipulating lists in Haskell. Each one starts with a puzzle: you should try the puzzle yourself before seeing the solution!
Jobs
-
Galois is hiring for a variety of roles (ad)
Including but not limited to: Software Engineers/Researchers, Project Managers, Hardware Engineers, Red Team Lead, Software Integration Engineer.
We collaborate with organizations like NASA, DARPA, and AWS to explore blue sky ideas and turn them into usable technology. Some of the things we’ve worked on in the past: Formal methods, static analysis, cryptographic algorithms, abstract interpretation, type theory, formal verification, reinforcement learning, autonomous systems assurance, communication security, cyber-deception for network defense, DDoS defense, provable hardware security, and statistical anomaly detection for detecting advanced persistent threats. We think working here is awesome; see lifeatgalois.com.
-
Mercury is hiring a Haskell engineer (Full-time/SF/US Remote) (ad)
Mercury is a bank for businesses. Founded in 2017, Mercury is growing rapidly and is hiring an additional two full-time engineers. Join a small team writing a backend in 100% Haskell, using Nix for deployment, and using Typescript/React on the frontend.
Trying to hire a Haskell developer? You should advertise with us!
In brief
- A List of Foundational Haskell Papers
- Announce: Haskell Platform 8.6.5
- Google Summer of Code projects for Haskell.org
- inline-js: Seamless JavaScript/Haskell interop
- Iteration to infinity
- Lens as a Divisibility Relation: Goofin’ Off With the Algebra of Types
- Making Arrays Mutable!
Package of the week
This week’s package of the week is Haze, a small BitTorrent client for learning purposes.