Issue 91 2018-01-25
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.
This is the second episode in the short series on Domain Modelling with Haskell. In this episode, we will generalize our domain model from the last episode, providing more fine-grained reporting, with less code.
I am a Ruby on Rails developer with 2 years experience with frontend and backend development. This is my experience after using Yesod for 3 months.
Now what we need to do is compose these somehow so that all of them are applied to the same input string and a failure at any juncture gives us an overall failure.
This post explores how functions in Haskell can be seen as instances of the
Monadtype classes, with some reflection on the practical uses of this technique.
The topic of how exactly one goes about proving a compiler correct came up, and I realized that I couldn’t think of a high-level (but concrete) overview of what that might look like.
Last week I gave a talk at Off the Beaten Track 2018 about something that Richard Eisenberg, Harley Eades and I have been thinking about recently: namely, how to generate good interactive error explanations for programmers, especially for type errors.
Of all the many, many Haskell language extensions supported by GHC,
LambdaCaseis one of my favorites. It has essentially no downside, does not conflict with any existing code, and introduces a single, simple, useful new construct to the language.
Today I’m going to talk about the notion of a “base functor”, and how the popular recursion-schemes library uses base functors to make recursion schemes more elegant and ergonomic in practice.
Suppose you’re working on a highly regulated piece of software. For example, something on a defense contract, or a medical device, or the space shuttle. One goal that most regulators will have is that we can fully determine how the software was built at any point in time.
We have emerged with SLURP, a proposal that could go a long way towards supporting the upsides of a diverse ecosystem, without the sad downsides of forking into mutually-exclusive sub-communities.
Hey all! We’re looking for software engineers to (re)build our key products from scratch with pure functional languages. We haven’t locked in any languages yet but most probably we’ll choose Haskell, PureScript and/or Elm.
- Domain modeling with Haskell: Data structures
- Functors done quick!
- GHC 8.4.1-alpha2 available
- In defense of partial functions in the haskell prelude
- Interpreters a la Carte in Advent of Code 2017 Duet
- Michael Snoyman: SLURP
- Pointwise Kan extensions
- Professional Haskellers: What are your major pain points?
- Simon Peyton Jones: A small milestone
- Stackage nixpkgs overlays
- What makes my Haskell programs (almost) bug free?
Package of the week
This week’s package of the week is brick-skylighting, a library for showing syntax highlighted text in Brick UIs.
Call for participation
- containers: Test sort stability
- dhall-to-cabal: Correct divergences from cabal field names
- hledger: Feature req: Add json as output format
- stack: Allow unqualified component syntax
- January 25: Las Vegas functional programming user group: Meetup
- January 29: Chicago Elm: January code night
- January 30: OKC functional programming: Servant: A type-level DSL for web API specification