Issue 102
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
-
Using Cloud Haskell to write a type-safe distributed chat
Cloud Haskell is a set of libraries that combines the power of Haskell’s type system with Erlang’s style of concurrency and distributed programming.
-
Strictness surprises in PureScript lazy lists
It seems that strictness is playing a dirty trick here, evaluating the second cons parameter beforehand against our interest, but strict evaluation is in the nature of PureScript.
-
There’s a kind fellow named lunaris on the FPChat slack channel that shares exceptionally good advice. Unfortunately, due to the ephemeral nature of Slack, a lot of this advice is lost to history.
-
Dynamic programming in Haskell
Attempting to program a dynamic programming algorithm in Haskell has helped me understand the fundamental principles behind dynamic programming in a way that I wasn’t able to when I learned it from an imperative programming perspective.
-
Your first web application with Spock
The Spock web framework for Haskell gives you a light but complete foundation to build web servers on, be it for traditional server-side rendered applications, or APIs for single-page applications.
-
Coffee, curries, and monads: My journey through Haskell
What I am going to do is tell you a little about myself, my programming journey, and why I enjoy programming in Haskell. Hopefully it will encourage you to try it out and witness your own joy with the language.
-
Property based integration testing using Haskell!
This article doesn’t require any special functional programming techniques and can be replicated everywhere, but using a functional programming language makes this easier.
-
A catamorphic lambda-calculus interpreter
I was playing around with
recursion-schemes
, which is pretty cool. It’s very nice to be able to define interpreters like this, so my immediate thought was: can we do this for the lambda-calculus? -
We are a relatively small community, but we’re maybe a little chatty, maybe have a little too much free time waiting for something to compile. Hence we are engaged in near constant internecine war over build tools and the like.
-
Lightning fast CI for Haskell projects
I’ve been working in a few projects at a time in Haskell for the past year, and one point that has been dragging is how much time it takes for a CI job to finish, given this, I started to experiment with other solutions to improve my build feedback loop.
Jobs
-
ITProTV seeking Software Developer in Gainesville, Florida
ITPro.TV is a fast-growing digital media business that focuses on continuing education in technical domains. We are currently accepting applications for full-stack software professionals to join our small but talented multidisciplinary team.
-
Anduril Industries is hiring in Orange County
Come write Haskell, Rust, and Nix (and some C++ when necessary) to make autonomous robots and drones go! If you like FP, interfacing with hardware, and solving problems in detection, tracking, and autonomous vehicle control, send a note to travis@anduril.com
In brief
- Coalescing composite as a monoid
- Function pipeline monoid
- How to compile Haskell to LLVM in 14 simple steps
- IHaskell on CoCalc!
- Next up on MMH!
Package of the week
This week’s package of the week is packcheck, a script for universal build and CI testing of Haskell packages.
Call for participation
- haskanoid: Bump version constraint in dependency on Yampa
- Haskero: Support for case when root project dir is parent of the Stack project
- hledger: Sorting by account codes isn’t working with single-column balance report
Events
- April 12: Why do Functional Programmers always talk about Algebras? in Bellevue, Washington, United States
- April 13: Going through Software Foundations by Benjamin Pierce in Austin, Texas, United States
- April 14: Hang && (Maybe Hack) in Cambridge, Massachusetts, United States
- April 15: Tokyo Haskell April meetup in Tokyo, Japan
- April 16: Type-driven Development with Idris in Newcastle Upon Tyne, United Kingdom
- April 17: What is a Monad? Learning Monads Without Analogies in Carmel, Indiana, United States
- April 18: Self-paced Haskell Study Group in Dublin, Ireland
- April 25: Getting started with testing in Haskell in Gainesville, Florida, United States
- April 27-29: BayHac 2018 in San Francisco, California, United States