Issue 117 2018-07-26
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.
Finger trees are definitely the coolest data structure I was never taught in school. The gist of finger trees is that they represent sequences of elements where the elements also have a measurable “descriptor” of some kind.
sv, a CSV library for Haskell by the Queensland Functional Programming Lab, was released over four months ago. Since then, we’ve had feedback on what potential users want from the library, and we have altered the design to the point where we are now releasing a new version:
I’ve had the pleasure to find a team already enjoying the use of macaroons. One of my first missions was to improve how they were used to authorize API calls, in the context of Servant applications. After a few iterations, we’ve settled on a design I’m quite happy with.
One of Haskell’s present limitations is the lack of dependent types, meaning that the return type of a function cannot depend on the value of its inputs. This can be a frustrating restriction when dealing with serialized data or other untyped inputs.
For those who are unaware, Windows has had quite a push lately to provide script-able ways to install packages. One such attempt that has gained quite a lot of traction is Chocolatey. Chocolatey also contains some of my own packages for installing GHC and Cabal.
Synchronisation between a client and a server has been a problem that I have been brewing on in the back of my mind for a long time now. Today I am releasing a Haskell library that helps with exactly this problem.
This is part two of a series of blog posts on Pantry, a new storage and download system for Haskell packages. In March of last year, there was a bug on Hackage. The problem was resolved, but this made me wonder: Is there any reason why checksums should depend on inconsequential artifacts of the tar format?
Hello everyone! We want to announce the first alpha version of
smuggler— the compiler plugin which removes unused imports automatically. Though we’re planning to add more features to help you manage the import sections easily!
In data processing, the volume of data can be so large that the amount of time it takes to process a file matters. In my work, I try to optimize such jobs so that it is more efficient, but surprisingly, it is often not the business logic that is the bottleneck, but the parsing of files itself that consumes large amounts of CPU and memory.
The backend team is pretty small (just four people) and recently we’ve been overwhelmed with work, which is exciting — but, admittedly, having a life is even more exciting, which is why we’re looking for: an intermediate-level Haskeller to work with us on the backend
We are looking for Haskell developers with an interest in testing and formal methods. The job involves further developing and making use of the quickcheck-state-machine library, to perform state machine based end-to-end testing.
Located in New York, Kadena is utilizing the power of blockchain, Haskell, and their own smart contract language to solve business problems. Love Haskell and love Blockchain? Helluva role for you!
- Adjoint open source
- Edward Kmett: Haskell live-coding: Session 6: CEK machines
- Forvis: A formal RISC-V ISA specification
- Making the jump: Advancing past beginner Haskell
- Popularity of Haskell extensions
- Silver Searcher: Useful regexes for a Haskell code base
- Simon Peyton Jones: Linear Haskell: Practical linearity in a higher-order polymorphic language
- Snack: Incremental Nix builds for Haskell
Package of the week
This week’s package of the week is Slick, a static site generator written and configured using Haskell.