Issue 86 2017-12-21
Subscribe now! We'll never send you spam. You can also follow us on Twitter or with 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? We love contributions! Open an issue or pull request on GitHub.
The 8.4.1 release marks the first release where GHC will be adhering to its new, higher-cadence release schedule. Under this new scheme, major releases will be made in 6-month intervals with interstitial minor releases as necessary.
Someone posted a treap implementation to Reddit that was slow. Let’s analyze it and determine what’s up.
Functional programming with graphs
Graphs are a fundamental data structure in computer science because a lot of problems can be modelled with them. This applies to imperative languages but is it the same for functional languages?
The Haskell performance checklist
You have a Haskell program that’s not performing how you’d like. Use this list to check that you’ve done the usual steps to performance nirvana.
Relocatable GHC cross compiler binary distributions
TLDR: Watch the videos at the end of this article and grab your cross compilers from hackage.mobilehaskell.org.
Monadic Party: Haskell summer school
Monadic Party is a five-days long Haskell summer school. Our vision is to teach in depth with each talk spanning multiple sessions. Because of the additional time at our disposal we can get deeper into each topic to show a larger part of the story behind the subject.
All about reflection: A tutorial
An important device in the tool belt I carry around everyday is type class reflection. I don’t reach for it often, but it can be very useful. Reflection is a little known device. And for some reason it is often spoken of with a hint of fear.
safe-money: Money in the type system where it belongs
In this article we will explore how we can leverage types, functional programming, and in particular the safe-money Haskell library to ensure that our software deals with monetary values and world currencies as carefully as civilization requires.
Fast and fearless evolution of server-side web applications
The fear of introducing errors while making the change, not delivering it on time, or taking on a huge workload that hurts the team, often leads to bad design decisions. Instead of making the change we want, scared of all the things that could go wrong, we hack our way around the risk.
The intersection of purity, strong typing, and functional programming style, for instance, lends itself to a high level form of expression which is simultaneously easy to write, easy to read, easy to modify, and efficient.
Serokell seeking remote Haskell developer
This is a fully remote job; the salary is okay-ish, but not quite Silicon Valley grade. I would say that it’s a great first job for someone who doesn’t consider themselves a beginner Haskeller anymore, but doesn’t have enough work experience and doesn’t know where to get some.
Biocad seeking Russian Haskell developer in Saint Petersburg
- Adding naive email templating to my Servant-powered Haskell web application
- Announcing the debug package
- Beginner’s Haskell: Creating bitmap images
- Contributing to GHC via Phabricator
- Functor functors
- How to write an interpreter for a lambda-calculus-based language
- Monadic do block, yet again
RowListfun with records in Haskell
- Splitting and splicing intervals: Part 1
- Stackage LTS 10.0 with GHC 8.2.2
- Syntactic implications of expressions
- The Future is functional: Haskell and the AI native world
- Understanding Simplicity: Implementing a smart contract language in 30 lines of Haskell
Package of the week
This week’s package of the week is Gauge, a clone of Criterion on a diet.