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.
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?
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.
TLDR: Watch the videos at the end of this article and grab your cross compilers from hackage.mobilehaskell.org.
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.
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.
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.
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.
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.
- 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.
Call for participation
- Allure: Add/improve cave description texts
- dejafu: Use LTS-10 in travis
- stack: Show resolver being used when
stack ghciis invoked outside of a project directory
- December 21: Formal Methods and Verified software meetup: Presentation of Idris, a Programing language with dependent types
- December 26: Kyiv Haskell Learning Group: Haskell Programming From First Principles Study Group
- December 27: Quito Lambda: La programación funcional