Haskell Weekly

Newsletter

Issue 382 2023-08-24

Subscribe now! We'll never send you spam. You can also follow 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.

Featured

The GHC developers are very pleased to announce the availability of the third alpha prerelease of GHC 9.8.1.

Glean is an open-source code indexing system we’re building at Meta: scaling to multiple languages, to very large codebases, and crucially including a flexible and powerful query language (“Angle”) designed specifically for querying data about code.

Answering the question raised at the end of Part 1, we take a look at how a hypothetical Strict Haskell would tie the compilers hands despite pervasive purity. We also examine how laziness permits optimizations that come with no intrinsic cost and compare its benefits to a strict language with opt-in laziness.

At a high level, the work covered by this post has resulted in Haddock’s memory usage being roughly halved. The full set of Haddock and GHC changes resulting in these improvements will be shipped with GHC 9.8.

The Haskell Unfolder is a YouTube series about all things Haskell hosted by Edsko de Vries and Andres Löh, with episodes appearing approximately every two weeks.

Like other “technologies” and things in general, FP is not for everyone. When choosing a job or picking a community, values matter.

Jobs

Trying to hire a Haskell developer? You should advertise with us!

In brief

The last few logs have been fairly brief, so in this one I’ll expand a bit on my current context.

Consider the following two implementations of a ‘map’ function for arrays. Can you guess which one of them is the fastest without running them?

Show & tell

I am happy to announce the first release of typed-process-effectful 5, a binding of the typed-process package for the effectful effect system.

A while back I encountered jax. In short, it’s a python numerical library that provides automatic differentiation on top of xla which allows it to run really fast. Its use of pure function in python intrigued me. So I have been trying to implement it in Haskell.

The 0.4.0 release mainly includes an easier way to override dependency packages.

I am one of the three participants working on haskell-language-server in this year’s Summer of Haskell and I want to give you an update on the new cabal file support features coming to HLS!

We are excited to announce the pre-release of a new feature that will greatly enhance the experience with HLS!

Weeder 2.7.0 has just been released on Github and on Hackage. Weeder is a utility to find unused declarations over an entire Haskell project.

Call for participation