Newsletter
Issue 159 2019-05-16
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
-
Functor-Of by Vladimir Ciobanu
Due to kind restrictions, the Haskell
Functor
cannot represent a lot of valid functors: functors of higher kinded types (higher than* -> *
), contravariant functors, invariant functors, etc. -
A Basis For Sequential Execution: Monads, Arrows, and More by Tyler
On the first day, there was light. On the second day, there was silicon. And on the third day, there was assembly.
-
Functional architecture is Ports and Adapters by Mark Seemann
Functional architecture tends to fall into a pit of success that looks a lot like Ports and Adapters.
-
Handling GHC parser errors right by Shayne Fletcher
Did you know, a POk parse result from the GHC parser doesn’t necessarily mean the parse was OK? This blog explains what’s up with that.
-
Haskell Showroom: Switching between different AWS accounts by Deni Bertović
Continuing this series, in this post I will talk about how to effectively switch between different AWS accounts.
-
How I wrote a proof of concept in five hours and launched a first version in a week by Tom Sydney Kerckhove
I had an idea, made a proof of concept, and then built it out over a week. This is the story of how that happened.
-
Implicit Corecursive Queues by Donnacha Oisín Kidney
I was looking again at one of my implementations of breadth-first traversals and I was wondering if I could fuse away the intermediate list.
-
Integrated versus Manual Shrinking by Edsko de Vries
Even with integrated shrinking, you still have to think about shrinking. There is no free lunch. Also, important new Hedgehog release!
-
Lightweight, efficiently sampleable enumerations in Haskell by Brent Yorgey
For another project I’m working on, I needed a way to enumerate and randomly sample values from various potentially infinite collections.
-
Shake with Applicative Parallelism by Neil Mitchell
Shake now does that Applicative trick from Haxl.
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.
Trying to hire a Haskell developer? You should advertise with us!
In brief
- A short note about functional linear maps
- Announce: stdio 0.2.0.0
- BornHack 2019: Call for Participation
- CoRecursive podcast: Refinement Types With Niki Vazou
- LispCast: What a monoid is and why monoids kick monads’ butt
- Practical Haskell: A Real World Guide to Programming
- Quicksort with Haskell!
Package of the week
This week’s package of the week is dhall-to-cabal, a tool that generates Cabal files from Dhall expressions.